当然我们可以去造一个EMF图像文件格式的生成器,但没有一堆class 是不行的,如果你现在开始这样做,估计需要一个星期来完成。以后有空,我会讲一下如何写EMF图像文件格式的生成器。
现在我这里讲一个最简单实用的方法,只要几行代码就可以。
原理:
1. Metafile 构造一个图像文件。
2. 强大的Graphics 从Metafile生成,并画上原Image 的图。
就是这么简单。
相关代码:
public void ConvertToEmf( string imageFile, string emfFile )
{
// The existing bitmap.
Bitmap bmp = new Bitmap( imageFile );
// new metafile
Metafile metaFile = new Metafile( emfFile,
Graphics.FromHwnd( this.Handle ).GetHdc(), // Get HDC
EmfType.EmfPlusDual,
"A test" );
// draw image to metafile
Graphics g = Graphics.FromImage( metaFile );
g.DrawImage( bmp, 0, 0, bmp.Width, bmp.Height );
// Clear object clearly
g.Dispose();
metaFile.Dispose();
bmp.Dispose();
}
实例下载: