2011-01-19 54 views
3

我正在使用C#.NET 3.5在Windows CE中繪製一條線到Graphics對象。在CE上的反走樣DrawLine

的代碼我使用看起來像這樣:

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

這工作但是看起來很可怕,由於鋸齒狀等有反正我可以畫反鋸齒線?

從我所知道的Graphics對象本身不支持這個,但是有無論如何用這個技巧「欺騙」這個效果?

回答

5

如果您在純色背景上繪圖,則可以使用較粗的筆和背景顏色與實際線條之前的線顏色之間的顏色繪製線條,例如繪圖時在黑色的背景上:

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); 

這增加了「發光」的線(即使在完美的水平/垂直線雖然)。

+0

並非十全十美,但肯定是要提高它的外觀的簡單方法!謝謝。 – Chris 2011-01-19 16:39:28

2

我感到你的痛苦。幾年前,我正在爲.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/

question導致我的http://www.amanithvg.com/project.html它提供了類似與Windows CE庫框架一個OpenGL。雖然只有幾行,但可能會超級殺傷力。

最後,您可以隨時使用位圖,但稍後可能會遇到透明度問題。

+0

可能是太多的工作實施其中的一些建議 - 謝謝! – Chris 2011-01-19 16:40:00