2013-01-09 80 views
2

似乎很多人都試圖關閉anti-aliasingWPF,但我似乎有相反的問題。我在WPF中繪製形狀,邊緣都是別名和醜陋的。最糟糕的部分是,當我使用ScaleTransform進行縮小以使形狀小於一個像素高/寬時,它會完全消失。我怎樣才能讓他們光滑漂亮?爲WPF形狀啓用反鋸齒

目前,我正在繪製RectanglesEllipses並將它們放置在網格中,並將它們放置在網格中,並且將其放置在StackPanels之間。

很多谷歌搜索後,我發現瞭如何通過使用下面一行在我窗口的構造函數來得到我的圖像anti-aliasRenderOptions.SetBitmapScalingMode(this, BitmapScalingMode.Fant);

然而,這隻會影響我的形象,而不是我的形狀。

回答

0

您可以設置設置BitmapScalingMode

RenderOptions.SetEdgeMode(this, EdgeMode.Unspecified); 

Anti-Aliasing被設置爲默認值,所以你不應該需要去改變它EdgeMode以同樣的方式,但給它一個去:)

還設置你的窗戶上的SnapsToDevicePixels = true;可能有助於形狀。

+0

感謝您的提示,但他們沒有幫助:( – hypehuman

0

我有我認爲是同樣的問題。設置SnapsToDevicePixels爲我的假作品:

<Ellipse SnapsToDevicePixels="False" />