4

似乎很多人都在尝试关闭anti-aliasingWPF但我似乎有相反的问题。我在 中绘制形状WPF,边缘都是锯齿且丑陋的。最糟糕的部分是,当我使用 ScaleTransform 缩小以使形状的高/宽小于一个像素时,它会完全消失。我怎样才能使它们光滑漂亮?

目前,我正在绘制Rectangles并将Ellipses它们放置在网格和StackPanels.

经过大量的谷歌搜索,我发现了如何anti-alias通过在窗口的构造函数中使用以下行来获取我的图像:RenderOptions.SetBitmapScalingMode(this, BitmapScalingMode.Fant);

但是,这只影响我的图像,而不影响我的形状。

4

2 回答 2

1

我有我认为同样的问题。设置SnapsToDevicePixels为 false 对我有用:

<Ellipse SnapsToDevicePixels="False" />
于 2014-05-13T05:43:12.493 回答
0

你可以EdgeMode按照你设置的方式设置BitmapScalingMode

 RenderOptions.SetEdgeMode(this, EdgeMode.Unspecified);

但是Anti-Aliasing设置为默认值,因此您不需要更改它,但试一试:)

在您的窗口上设置SnapsToDevicePixels = true;也可能有助于形状。

于 2013-01-09T02:08:16.027 回答