CE上的抗锯齿DrawLine

我正在使用C#.NET 3.5在Windows CE中为Graphics对象绘制一条线。

我使用的代码如下所示:

 e.Graphics.DrawLine(new Pen(Color.FromArgb(11, 118, 200), 2), x1, y1, x2, y2); 

然而,由于锯齿等,这看起来很糟糕。无论如何,我可以绘制抗锯齿线?

从我可以告诉Graphics对象本身不支持这个,但无论如何使用一些技巧“欺骗”这种效果?

如果你在纯色背景上绘制一个快速技巧,你可以在实际线之前的背景颜色和线条颜色之间绘制一条带有较粗笔和颜色的线条,例如,在黑色背景上绘制时:

 e.Graphics.DrawLine(new Pen(Color.FromArgb(5, 59, 100), 3), x1, y1, x2, y2); e.Graphics.DrawLine(new Pen(Color.FromArgb(11, 118, 200), 2), x1, y1, x2, y2); 

这为线增加了“发光”(即使在完美的水平/垂直线上)。

我感觉到你的痛苦。 几年前我为.NETCF做了类似的事情,我正在走下各种有趣的道路。 结束了比工作更多的工作。 看看这个可怕的:

http://freespace.virgin.net/hugo.elias/graphics/x_wuline.htm

http://social.msdn.microsoft.com/Forums/en-US/netfxcompact/thread/b34f56c4-585b-4ff5-ac7d-b6e2ae516ccf/

此外,这可能会提供一些答案,但可能是WM GDI系统的有用替代品。

http://drawingcf.codeplex.com/

这个问题引导我访问http://www.amanithvg.com/project.html ,它提供了一个类似OpenGL的框架和Windows CE库。 虽然只是为了几行,但可能会超重。

最后,您可以随时使用位图,但稍后您可能会遇到透明问题。

发现这个XrossGDI +完整的原生C#:

http://www.isquaredsoftware.com/XrossOneGDIPlus.php