c# 将BMP转成PNG图片
时间: 2024-12-14 09:19:54 浏览: 9
PicFormat_C#_each7fl_
在C#中将BMP(位图)转换为PNG(Portable Network Graphics)格式,你可以使用System.Drawing命名空间下的Image类和Encoder类。以下是一个简单的示例:
```csharp
using System;
using System.Drawing;
using System.Drawing.Imaging;
public static void ConvertBmpToPng(string bmpFilePath, string pngFilePath)
{
// 读取BMP文件
using (var bitmap = new Bitmap(bmpFilePath))
{
// 创建一个新的Graphics对象,用于创建PNG图像
var memoryStream = new MemoryStream();
using (var graphics = Graphics.FromImage(bitmap))
using (var encoder = ImageCodecInfo.GetEncoder(ImageFormat.Png))
{
// 设置编码参数
encoder.Quality = 100; // 质量设置,范围从0到100
// 保存图像到MemoryStream
bitmap.Save(memoryStream, encoder);
// 写入PNG文件
File.WriteAllBytes(pngFilePath, memoryStream.ToArray());
}
}
}
// 调用方法
ConvertBmpToPng("input.bmp", "output.png");
```
这个函数首先读取BMP文件,然后使用Graphics对象和相应的编码信息将其转换为PNG格式并保存到内存流,最后将内存流的内容写入新的PNG文件。
阅读全文