压缩image的方法 c#
时间: 2023-10-24 12:08:03 浏览: 123
C#图片压缩
5星 · 资源好评率100%
在 C# 中,压缩图像的方法可以使用 System.Drawing.Imaging 命名空间中的 EncoderParameters 和 Encoder 类。
以下是一个示例:
```csharp
using System.Drawing;
using System.Drawing.Imaging;
public void CompressImage(string sourcePath, string destPath, int quality)
{
// Load the image from the source path
Image image = Image.FromFile(sourcePath);
// Set the quality parameter
EncoderParameters encoderParameters = new EncoderParameters(1);
encoderParameters.Param[0] = new EncoderParameter(Encoder.Quality, quality);
// Get the codec for the JPEG format
ImageCodecInfo jpegCodecInfo = GetEncoderInfo("image/jpeg");
// Save the compressed image to the destination path
image.Save(destPath, jpegCodecInfo, encoderParameters);
}
private ImageCodecInfo GetEncoderInfo(string mimeType)
{
// Get the image codecs for all image formats
ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders();
// Find the codec for the specified MIME type
for (int i = 0; i < codecs.Length; i++)
{
if (codecs[i].MimeType == mimeType)
{
return codecs[i];
}
}
return null;
}
```
在示例中,CompressImage 方法有三个参数:源文件路径,目标文件路径和图像质量。它使用 Image.FromFile 方法从源路径加载图像,然后使用 EncoderParameters 和 Encoder 类来设置压缩参数并保存压缩图像到目标路径。GetEncoderInfo 方法用于查找指定 MIME 类型的编解码器。
阅读全文