Copy codeThe Code is as follows: private void SaveThumbnail (Bitmap originBitmap, int width, int height, string directory, string filename, string extension)
{
Var physicalPath = directory + filename + extension;
Using (var newImage = new Bitmap (width, height ))
{
Using (var graphic = GetGraphic (originBitmap, newImage ))
{
Graphic. DrawImage (originBitmap, 0, 0, width, height );
Using (var encoderParameters = new EncoderParameters (1 ))
{
EncoderParameters. Param [0] = new EncoderParameter (Encoder. Quality, 100L );
NewImage. Save (physicalPath,
ImageCodecInfo. GetImageEncoders ()
. Where (x => x. FilenameExtension. Contains (extension. ToUpperInvariant ()))
. FirstOrDefault (),
EncoderParameters );
}
}
}
}
Private Graphics GetGraphic (Image originImage, Bitmap newImage)
{
NewImage. SetResolution (originImage. HorizontalResolution, originImage. VerticalResolution );
Var graphic = Graphics. FromImage (newImage );
Graphic. InterpolationMode = System. Drawing. Drawing2D. InterpolationMode. HighQualityBicubic;
Graphic. SmoothingMode = System. Drawing. Drawing2D. SmoothingMode. HighQuality;
Graphic. PixelOffsetMode = System. Drawing. Drawing2D. PixelOffsetMode. HighQuality;
Graphic. CompositingQuality = System. Drawing. Drawing2D. CompositingQuality. HighQuality;
Return graphic;
}