C# Bmp压缩jpg
时间: 2023-07-17 20:23:56 浏览: 159
c# bmp格式图片压缩
5星 · 资源好评率100%
在C#中,可以使用System.Drawing.Imaging命名空间中的类来将BMP图像压缩为JPEG格式。以下是一个简单的示例代码:
```csharp
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
public void CompressBmpToJpeg(string bmpPath, string jpegPath, long quality)
{
//加载BMP图像
using (Bitmap bmp = new Bitmap(bmpPath))
{
//设置JPEG编码器参数
EncoderParameters encoderParams = new EncoderParameters(1);
encoderParams.Param[0] = new EncoderParameter(Encoder.Quality, quality);
//获取JPEG编码器
ImageCodecInfo jpegCodec = GetEncoderInfo("image/jpeg");
//保存为JPEG图像
bmp.Save(jpegPath, jpegCodec, encoderParams);
}
}
//获取指定格式的编码器
private static ImageCodecInfo GetEncoderInfo(string mimeType)
{
ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders();
foreach (ImageCodecInfo codec in codecs)
{
if (codec.MimeType == mimeType)
{
return codec;
}
}
return null;
}
```
上述代码将指定的BMP图像加载到Bitmap对象中,然后使用EncoderParameters和ImageCodecInfo类来设置JPEG编码器参数和获取JPEG编码器。最后,使用Bitmap.Save方法将图像保存为JPEG格式,并指定压缩质量参数。注意,压缩质量参数的值应该在0到100之间,其中0表示最大压缩,100表示最小压缩。您可以根据需要调整此值来平衡图像质量和文件大小。
阅读全文