C# Picture如何进行图片压缩

avatar
作者
筋斗云
阅读量:0

在C#中进行图片压缩可以使用System.Drawing命名空间中的Bitmap类和Graphics类来实现。下面是一个简单的示例代码,演示了如何将图片进行压缩:

using System; using System.Drawing; using System.Drawing.Imaging;  public static void CompressImage(string inputImagePath, string outputImagePath, long quality) {     using (Bitmap bmp = new Bitmap(inputImagePath))     {         ImageCodecInfo jpgEncoder = GetEncoder(ImageFormat.Jpeg);         Encoder encoder = Encoder.Quality;         EncoderParameters encoderParameters = new EncoderParameters(1);         EncoderParameter encoderParameter = new EncoderParameter(encoder, quality);         encoderParameters.Param[0] = encoderParameter;         bmp.Save(outputImagePath, 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; }  // 使用方法 CompressImage("input.jpg", "output.jpg", 50); 

在上面的示例代码中,CompressImage方法接受三个参数:输入图片路径,输出图片路径和压缩质量。压缩质量的值在0到100之间,值越小表示压缩质量越低。GetEncoder方法用于获取指定格式的编码器。

请注意,压缩图片可能会导致图片质量的损失,因此需要根据具体情况调整压缩质量的值。

广告一刻

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