在WPF中渲染清晰的线条

如果我呈现以下内容:

          

我得到这个结果(Kaxaml):

在此处输入图像描述

注意两个形状之间的细白线。 我四处搜索,发现这与像素对齐有关。 我希望设置SnapsToDevicePixels="True"足以摆脱该行,但这不起作用!

任何想法如何摆脱白线?

尝试使用RenderOptions打开边缘别名,如下所示(请参阅网格属性)

           

请记住, SnapsToDevicePixels仅控制各个点不在小数像素值上。 对于水平和垂直线,这是最容易观察到的。 在您的情况下,您会看到一个完全不同的问题。 形状的边缘消除锯齿,因此与背景混合。 由于您的形状彼此完全相邻 ,因此两者将与窗口的白色背景混合。 您可以尝试将一个形状放在另一个之后

        

哪个应该正确呈现。 您会看到许多矢量文件格式中的类似渲染错误,这些格式主要呈现给屏幕,例如SVG。

另一种选择是关闭抗锯齿,但这会使你的边缘锯齿可能不是你想要的(在上半部分关闭抗锯齿):

alt text http://sofzh.miximages.com/c%23/wpf_rendering_shape.png