当前位置:编程学习 > C#/ASP.NET >>

矢量图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的编解码过程,请问你有这方面的资料吗? --------------------编程问答--------------------
引用 2 楼 fsnnnkkk 的回复:
我现在也从这方面入手,但是找不到EMF的编解码过程,请问你有这方面的资料吗?
不好意思,这个我也没有呵呵
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,