Compress image with best quality using C#/Dotnet.
Hello Guys..
This post we will see how to reduce the size of image file with quality levels using C#...
Firstly we should have file path where file exists and we will reasign that new image with new name,
var old_filename=" FILE PATH ";
var new_name=" PATHE TO SAVE ";
After declare both above just create the function or can place in any function as show below
var old_filename=" FILE PATH ";
var new_name=" PATHE TO SAVE ";
using (Bitmap bmp1 = new Bitmap(new_name)
{
ImageCodecInfo jpgEncoder = GetEncoder(ImageFormat.Jpeg);
// Create an Encoder object based on the GUID
// for the Quality parameter category.
System.Drawing.Imaging.Encoder myEncoder = System.Drawing.Imaging.Encoder.Quality;
// Create an EncoderParameters object.
// An EncoderParameters object has an array of EncoderParameter
// objects. In this case, there is only one
// EncoderParameter object in the array.
EncoderParameters myEncoderParameters = new EncoderParameters(1);
EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, 100L);
// myEncoderParameters.Param[0] = myEncoderParameter;
// bmp1.Save(@"Files/QrCodes/TestPhotoQualityFifty.jpg", jpgEncoder, myEncoderParameters);
// myEncoderParameter = new EncoderParameter(myEncoder, 100L);
// myEncoderParameters.Param[0] = myEncoderParameter;
// Is for full quality image...
// Save the bitmap as a JPG file with zero quality level compression.
myEncoderParameter = new EncoderParameter(myEncoder, 20L);
//This will maintain 20 image quality.
myEncoderParameters.Param[0] = myEncoderParameter;
bmp1.Save(new_name, jpgEncoder, myEncoderParameters);
}
Thank you...
