C# BItmap保存为jpg 压缩
时间: 2024-01-25 13:02:09 浏览: 192
C# 压缩图片 (图像操作)
你可以使用 C# 中的 Bitmap 和 ImageCodecInfo 类来将 Bitmap 图像保存为 JPG 格式,并进行压缩。以下是一个示例代码:
```csharp
using System.Drawing;
using System.Drawing.Imaging;
public void SaveBitmap(Bitmap bitmap, string filePath, long quality)
{
// 获取指定编码器的信息
ImageCodecInfo jpgEncoder = GetEncoder(ImageFormat.Jpeg);
// 设置压缩质量参数
EncoderParameters encoderParameters = new EncoderParameters(1);
encoderParameters.Param[0] = new EncoderParameter(Encoder.Quality, quality);
// 将 Bitmap 图像保存为 JPG 格式
bitmap.Save(filePath, jpgEncoder, encoderParameters);
}
private ImageCodecInfo GetEncoder(ImageFormat format)
{
ImageCodecInfo[] codecs = ImageCodecInfo.GetImageDecoders();
foreach (ImageCodecInfo codec in codecs)
{
if (codec.FormatID == format.Guid)
{
return codec;
}
}
return null;
}
```
在上面的代码中,SaveBitmap 函数接受一个 Bitmap 对象、一个文件路径和一个压缩质量参数。它首先使用 GetEncoder 函数获取 JPG 格式的编码器信息,然后设置压缩质量参数并将 Bitmap 图像保存为 JPG 格式。
你可以调整压缩质量参数来控制 JPG 图像的质量和大小。质量参数的范围是 0 到 100,其中 0 表示最小质量和最大压缩,100 表示最高质量和最小压缩。
阅读全文