矢量图EMF转位图求助
在项目中需要直接绘制EMF矢量图到位图中,但是我通过Graphics绘制矢量图到位图中缺严重失真,线条和文字加粗了,然而使用控件的Graphics直接绘制矢量图到界面上去没有失真,不知道何故,请教大家。绘制到位图代码:
Image img = Image.FromFile(@"D:\矢量图.emf", true);
Bitmap bmp = new Bitmap(img.Width, img.Height);
Graphics g = Graphics.FromImage(bmp);
g.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.Half;
g.DrawImage(img, new Rectangle(0, 0, img.Width, img.Height), new Rectangle(0, 0,img.Width,
img.Height), GraphicsUnit.Pixel);
直接绘制矢量图到控件界面代码:
Metafile mf = new Metafile(@"D:\矢量图.emf");
e.Graphics.DrawImage(mf, new Point(0, 0));
//
效果图如下(图一是绘制到位图的效果,图二直接绘制到控件界面):
image GDI EMF BitMap --------------------编程问答-------------------- 你要完全无失真的转为位图,那你就要了解EMF格式的图像编解码过程,你直接在位图上面绘制,会丢掉好多信息的! --------------------编程问答-------------------- 我现在也从这方面入手,但是找不到EMF的编解码过程,请问你有这方面的资料吗? --------------------编程问答-------------------- 不好意思,这个我也没有呵呵
补充:.NET技术 , C#