Method for resizing images in C#
public static void resizeImage(Image image, string save_path)
{
ImageCodecInfo myImageCodecInfo;
System.Drawing.Imaging.Encoder myEncoder;
EncoderParameter myEncoderParameter;
EncoderParameters myEncoderParameters;
int new_width = Convert.ToInt32(image.Width*.4281);
int new_height = Convert.ToInt32(image.Height*.4281);
Bitmap new_image = new Bitmap(new_width, new_height);
Graphics g = Graphics.FromImage((Image)new_image);
g.InterpolationMode = InterpolationMode.High;
g.DrawImage(image, 0, 0, new_width, new_height);
//Quality encoding.
myImageCodecInfo = GetEncoderInfo("image/jpeg");
myEncoder = System.Drawing.Imaging.Encoder.Quality;
myEncoderParameters = new EncoderParameters(1);
//// EXTREME COMPRESSION Save the bitmap as a JPEG file with quality level 25.
//myEncoderParameter = new EncoderParameter(myEncoder, 25L);
//myEncoderParameters.Param[0] = myEncoderParameter;
//new_image.Save(save_path, myImageCodecInfo, myEncoderParameters);
//// Save the bitmap as a JPEG file with quality level 50.
//myEncoderParameter = new EncoderParameter(myEncoder, 50L);
//myEncoderParameters.Param[0] = myEncoderParameter;
//new_image.Save(save_path, myImageCodecInfo, myEncoderParameters);
// Save the bitmap as a JPEG file with quality level 75.
myEncoderParameter = new EncoderParameter(myEncoder, 90L);
myEncoderParameters.Param[0] = myEncoderParameter;
new_image.Save(save_path, myImageCodecInfo, myEncoderParameters);
// new_image.Save(save_path);
// return new_image;
}
private static ImageCodecInfo GetEncoderInfo(String mimeType)
{
int j;
ImageCodecInfo[] encoders;
encoders = ImageCodecInfo.GetImageEncoders();
for (j = 0; j < encoders.Length; ++j)
{
if (encoders[j].MimeType == mimeType)
return encoders[j];
}
return null;
}