Code to Resize Image (with Sample Application)
In this post I am sharing the code to resize an image using C#.NET. Also sharing the code to preview and save resized image in multiple formats (jpeg, bmp, png, gif, tiff).Code to Resize Image for given width and height
public static Bitmap ResizeImage(Image image, int width, int height) { var destRect = new Rectangle(0, 0, width, height); var destImage = new Bitmap(width, height); destImage.SetResolution(image.HorizontalResolution,
image.VerticalResolution); using (var graphics = Graphics.FromImage(destImage)) { graphics.CompositingMode = CompositingMode.SourceCopy; graphics.CompositingQuality = CompositingQuality.HighQuality; graphics.InterpolationMode = InterpolationMode.HighQualityBicubic; graphics.SmoothingMode = SmoothingMode.HighQuality; graphics.PixelOffsetMode = PixelOffsetMode.HighQuality; using (var wrapMode = new ImageAttributes()) { wrapMode.SetWrapMode(WrapMode.TileFlipXY); graphics.DrawImage(image, destRect, 0, 0, image.Width,
image.Height, GraphicsUnit.Pixel, wrapMode);
}
}
return destImage;
}
Code to Save Image in given Image Format
public static void SaveImage(Image img, string extension, string PathToSave) { extension = extension.ToUpper(); switch (extension) { //*.jpg;*.jpeg;*.jpe;*.jfif case ".JPG": case ".JPEG": case ".JPE": case ".JFIF": var encoder = ImageCodecInfo.GetImageEncoders().First(c =>
c.FormatID == ImageFormat.Jpeg.Guid);
var encParams = new EncoderParameters() { Param = new[]
{ new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, (long)100) } };
img.Save(PathToSave, encoder, encParams); break; case ".TIFF": case ".TIF": img.Save(PathToSave, System.Drawing.Imaging.ImageFormat.Tiff); break; case ".BMP": img.Save(PathToSave, System.Drawing.Imaging.ImageFormat.Bmp); break; case ".GIF": img.Save(PathToSave, System.Drawing.Imaging.ImageFormat.Gif); break; case ".PNG": img.Save(PathToSave, System.Drawing.Imaging.ImageFormat.Png); break; }
Here is the project to download having sample application and exe.
Image Resizer Sample Windows Application
In case of any query please feel free to ask in comments.
Comments
Post a Comment