我的应用程序中有Bitmap对象。为什么Save()
方法保存为PNG
而不是BMP
格式的文件?
Bitmap currentImmage;
...
currentImmage.Save("image.bmp");
答案 0 :(得分:4)
从文档
如果图像的文件格式不存在编码器,则便携式 使用了网络图形(PNG)编码器。当您使用保存方法 将图形图像另存为Windows图元文件格式(WMF)或增强型 图元文件格式(EMF)文件,结果文件另存为可移植文件 网络图形(PNG)文件。发生此现象的原因在于GDI + .NET Framework的组件没有可以使用的编码器 用于将文件另存为.wmf或.emf文件。
改为使用
以指定格式将该图像保存到指定文件。
指定图像的文件格式。
示例
currentImmage.Save("image.bmp",ImageFormat.Bmp);
答案 1 :(得分:2)
来自Bitmap.Save(string)
Method上的Microsoft文档:
如果图像文件格式不存在编码器,则使用可移植网络图形(PNG)编码器。当您使用Save方法将图形图像另存为Windows图元文件格式( WMF)或增强型图元文件格式(EMF)文件,结果文件将另存为可移植网络图形(PNG)文件。出现此现象的原因是.NET Framework的GDI +组件没有可用于将文件另存为.wmf或.emf文件的编码器。
我相信您想使用Bitmap.Save(String, ImageFormat)
保存为其他格式。