本文主要讲述如何将EMF文件转换成PNG文件。
目录
一、EMF文件和PNG文件
二、代码
一、EMF文件和PNG文件
EMF文件和PNG文件都是Windows系统可以读取的图片文件格式,所以转换比较简单。
二、代码
有几个地方需要要注意:
(1)转换的时候要通过填充白色背景来解决透明背景的问题。
(2)最后需要释放Image对象,否则会因文件占用问题,无法打开文件。
/// <summary>
/// 将EMF文件转换成PNG文件
/// </summary>
/// <param name="fileName">EMF文件的全路径(包含文件名)</param>
/// <param name="dstfileName">PNG文件的全路径(包含文件名)</param>
public static void EmfToPng(string fileName, string dstfileName)
{
//读取EMF文件
Image img = Image.FromFile(fileName);
using (var b = new Bitmap(img.Width, img.Height))
{
b.SetResolution(img.HorizontalResolution, img.VerticalResolution);
using (var g = Graphics.FromImage(b))
{
//用白色背景填充图片,否则生成的图片会因为透明背景的原因,显示有问题
g.Clear(Color.White);
g.DrawImageUnscaled(img, 0, 0);
}
//以PNG格式保存文件
b.Save(dstfileName, ImageFormat.Png);
}
//释放资源,否则再次打开时会报文件被占用的异常
img.Dispose();
}
代码仅供参考。
本文由本人编写,经验缺乏,尚望各位多多指正,以匡不逮。
|