如何使用Metefile类生成图元文件?

null1 2008-07-14 06:19:29
我在一个图形类中定义如下主要方法:

Draw(Graphics g) //用DrawLine等命令画图

Save(string Filename) //将上面Draw的图保持到指定图形文件

{

Size s=new Size(300,200);
Bitmap bm=new Bitmap(s.Width,s.Height);
Graphics g =Graphics.FromImage(bm);
Draw(g);
bm.Save(Filename);
g.Dispose();
bm.Dispose();

}

现在的问题是,我保存为bmp格式没有问题,但需要保存成Emf或wmf等图元文件时不知道该怎样做了,请大家帮帮忙?

...全文
152 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
null1 2008-07-15
  • 打赏
  • 举报
回复
Size s = ScaleConvert.Convert(size, enumScaleModeList.sfmillimeters, enumScaleModeList.sfPixels);
Bitmap bm = new Bitmap(s.Width, s.Height);
Image img=Image.
Graphics g = Graphics.FromImage(bm);

if (Filename.ToUpper().EndsWith(".EMF"))
{
IntPtr ip = g.GetHdc();
Metafile mf = new Metafile(ip,EmfType.EmfPlusDual);
g.ReleaseHdc(ip);

Graphics g1 = Graphics.FromImage(mf);
Print(g1);
g1.Dispose();

mf.Save(Filename,ImageFormat.Emf);
mf.Dispose();
}
else
{
Print(g);
bm.Save(Filename,ImageFormat.Bmp);
}
g.Dispose();
bm.Dispose();

为什么我使用上面的方法生成的emf文件,还是位图文件,即放大还是失真,而不是矢量文件?

110,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧