c# 压缩bmp图片的代码
时间: 2023-12-08 11:06:10 浏览: 285
以下是使用C#压缩BMP图片的代码示例:
```csharp
using System.Drawing;
using System.Drawing.Imaging;
public static void CompressBmp(string sourcePath, string targetPath, long quality)
{
using (Bitmap source = new Bitmap(sourcePath))
{
ImageCodecInfo codec = GetEncoderInfo("image/jpeg");
EncoderParameters parameters = new EncoderParameters(1);
parameters.Param[0] = new EncoderParameter(Encoder.Quality, quality);
source.Save(targetPath, codec, parameters);
}
}
private static ImageCodecInfo GetEncoderInfo(string mimeType)
{
ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders();
for (int i = 0; i < codecs.Length; i++)
{
if (codecs[i].MimeType == mimeType)
{
return codecs[i];
}
}
return null;
}
```
使用示例:
```csharp
CompressBmp(@"C:\path\to\source.bmp", @"C:\path\to\target.jpg", 50L);
```
其中,`sourcePath`参数表示要压缩的BMP图片路径,`targetPath`参数表示压缩后的图片路径,`quality`参数表示压缩质量,取值范围为0~100。压缩质量越高,图片质量就越好,但文件大小也就越大。
阅读全文