C#压缩图片保持质量的方法

avatar
作者
筋斗云
阅读量:15

在C#中压缩图片并保持质量的方法可以使用以下代码示例:

using System; using System.Drawing; using System.Drawing.Imaging; using System.IO;  public static class ImageHelper {     public static void CompressImage(string sourcePath, string destinationPath, long quality)     {         using (Bitmap bmp = new Bitmap(sourcePath))         {             ImageCodecInfo jpgEncoder = GetEncoder(ImageFormat.Jpeg);             Encoder encoder = Encoder.Quality;             EncoderParameter encoderParameter = new EncoderParameter(encoder, quality);             EncoderParameters encoderParameters = new EncoderParameters(1);             encoderParameters.Param[0] = encoderParameter;              bmp.Save(destinationPath, jpgEncoder, encoderParameters);         }     }      private static ImageCodecInfo GetEncoder(ImageFormat format)     {         ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders();                  foreach (ImageCodecInfo codec in codecs)         {             if (codec.FormatID == format.Guid)             {                 return codec;             }         }                  return null;     } }  // 使用示例 string sourcePath = @"C:\input.jpg"; string destinationPath = @"C:\output.jpg"; long quality = 50; // 压缩质量,范围从0到100  ImageHelper.CompressImage(sourcePath, destinationPath, quality); 

在上面的示例中,首先通过Bitmap类加载图片,然后获取JPEG编码器并设置压缩质量参数。最后保存压缩后的图片到指定路径。您可以调整quality参数来控制压缩质量,值范围从0到100,0表示最低质量,100表示最高质量。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!