C# bmp文件转jpg文件
时间: 2024-12-16 11:26:57 浏览: 8
在C#中,如果你有一个BMP(位图)文件,想要转换成JPG格式,通常的做法是先读取BMP文件,然后将图像数据转换为JPG格式,最后保存新的JPG文件。以下是一个简单的示例,使用了System.Drawing命名空间:
```csharp
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
public static void BmpToJpg(string bmpFilePath, string jpgFilePath)
{
// 读取BMP文件为Bitmap对象
using (Bitmap originalBitmap = new Bitmap(bmpFilePath))
{
// 创建一个新的JPG图片
ImageCodecInfo jgpEncoder = GetEncoder(ImageFormat.Jpeg);
EncoderParameters encoderParams = new EncoderParameters(1);
EncoderParameter jpegQualityParam = new EncoderParameter(Encoder.Quality, 95); // 设置质量等级,范围0-100
encoderParams.Param[0] = jpegQualityParam;
// 保存为JPG
originalBitmap.Save(jpgFilePath, jgpEncoder, encoderParams);
}
}
// 辅助函数获取JPG编码器
private static ImageCodecInfo GetEncoder(ImageFormat format)
{
ImageCodecInfo[] codecs = ImageCodecInfo.GetImageDecoders();
foreach (ImageCodecInfo codec in codecs)
{
if (codec.FormatID == format.Guid)
return codec;
}
throw new FileNotFoundException("No JPEG codec found");
}
```
这个方法首先读取BMP文件到一个Bitmap实例,然后使用`Save`方法将它保存为JPG文件,并设置了95%的质量。`GetEncoder`辅助函数用于找到适合的JPG编码器。
阅读全文