当然我们可以去造一个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();
}
实例下载:
http://www.dwmsoft.cn/dave/blogexamples/gdi/testemf.zip