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

C#里如何将DGI+绘制的图形保存在矢量图?

--------------------编程问答-------------------- 咦,怎么有一根斜线.好像是搞错了,反正差不多就是这样,看起来有锯齿 --------------------编程问答--------------------  


//...
Graphics g = Graphics.FromImage(mf);
//
g.SmoothingMode = SmoothingMode.AntiAlias;
Draw(g);
//...

--------------------编程问答--------------------
引用 2 楼 hwenycocodq520 的回复:
 

//...
Graphics g = Graphics.FromImage(mf);
//
g.SmoothingMode = SmoothingMode.AntiAlias;
Draw(g);
//...

能解释一下么...
是只加一句
g.SmoothingMode = SmoothingMode.AntiAlias;
就好了么 --------------------编程问答--------------------
引用 2 楼 hwenycocodq520 的回复:
 

//...
Graphics g = Graphics.FromImage(mf);
//
g.SmoothingMode = SmoothingMode.AntiAlias;
Draw(g);
//...


加了这个提示没用new

加了new也说有错
--------------------编程问答--------------------
引用 4 楼 u011304925 的回复:
加了这个提示没用new

加了new也说有错


这个问题解决了,换一下语句位子就好了
但是依然保存的不是矢量图,放大一点还是锯齿

想试试http://www.cnblogs.com/Infinity/archive/2006/08/10/473250.html这个,但是还是这两句话总报错
  Metafile mf  = new Metafile(filePath,gs.GetHdc());
    Graphics g = Graphics.FromImage(mf);
好不容易不报错,也没有成功画图 --------------------编程问答-------------------- Graphics
SmoothingMode :SmoothingMode.AntiAlias
Pen
StartCap: LineCap.Round 
EndCap : LineCap.Round
LineJoin :LineJoin.Round --------------------编程问答-------------------- 严肃的纠正一下: 你这是 GDI+, 不是 DGI+ --------------------编程问答--------------------
引用 7 楼 todd_leftcode 的回复:
严肃的纠正一下: 你这是 GDI+, 不是 DGI+

咦,还真写错了 --------------------编程问答--------------------
引用 6 楼 hwenycocodq520 的回复:
Graphics
SmoothingMode :SmoothingMode.AntiAlias
Pen
StartCap: LineCap.Round 
EndCap : LineCap.Round
LineJoin :LineJoin.Round

没看懂你那个= =
我这样写就好了
            objGraphic = Graphics.FromImage(objBitmap);
            objGraphic.SmoothingMode = SmoothingMode.AntiAlias;
看起来平滑多了,可惜保存出来依然放大就模糊
Metafile mf的话,复制别人的代码完美运行
自己修改了就各种总是有错,哎 --------------------编程问答-------------------- “放大就模糊”这是GDI的通病,你应该学会使用WPF了。你可以看看,在差不多10年前发布的WPF中,已经不玩儿GDI了,而是基于DirectX。

那么今天如果还有人热衷于叫你使用GDI来做实际的开发,你自己判断一下有多大意义嘛! --------------------编程问答--------------------
引用 10 楼 sp1234 的回复:
“放大就模糊”这是GDI的通病,你应该学会使用WPF了。你可以看看,在差不多10年前发布的WPF中,已经不玩儿GDI了,而是基于DirectX。
那么今天如果还有人热衷于叫你使用GDI来做实际的开发,你自己判断一下有多大意义嘛!

嗯,回头研究研究
一步一步来吧,先把这个问题放下,把程序写完再说
不然卡在这里了,搞完了回头再看看,能改再改 --------------------编程问答--------------------
引用 9 楼 u011304925 的回复:
Quote: 引用 6 楼 hwenycocodq520 的回复:

Graphics
SmoothingMode :SmoothingMode.AntiAlias
Pen
StartCap: LineCap.Round 
EndCap : LineCap.Round
LineJoin :LineJoin.Round

没看懂你那个= =
我这样写就好了
            objGraphic = Graphics.FromImage(objBitmap);
            objGraphic.SmoothingMode = SmoothingMode.AntiAlias;
看起来平滑多了,可惜保存出来依然放大就模糊
Metafile mf的话,复制别人的代码完美运行
自己修改了就各种总是有错,哎


汗,你来这里找答案的而不是来学东西的,你应该很容易就看出我写的是某个对象的属性,不懂得用就msdn看看 --------------------编程问答--------------------
引用 12 楼 hwenycocodq520 的回复:
Quote: 引用 9 楼 u011304925 的回复:

Quote: 引用 6 楼 hwenycocodq520 的回复:

Graphics
SmoothingMode :SmoothingMode.AntiAlias
Pen
StartCap: LineCap.Round 
EndCap : LineCap.Round
LineJoin :LineJoin.Round

没看懂你那个= =
我这样写就好了
            objGraphic = Graphics.FromImage(objBitmap);
            objGraphic.SmoothingMode = SmoothingMode.AntiAlias;
看起来平滑多了,可惜保存出来依然放大就模糊
Metafile mf的话,复制别人的代码完美运行
自己修改了就各种总是有错,哎


汗,你来这里找答案的而不是来学东西的,你应该很容易就看出我写的是某个对象的属性,不懂得用就msdn看看

真没看懂= =
对对象有哪些属性还不很熟悉,,, --------------------编程问答-------------------- GDI+画出来的本身就是位图,楼上的方法是一个GDI+的抗锯齿属性 --------------------编程问答-------------------- 真的的矢量图保存的是你组成绘图的采样点或采样函数
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,