C# 通过代码填充WPF中的路径会留下锯齿状边缘

C# 通过代码填充WPF中的路径会留下锯齿状边缘,c#,wpf,C#,Wpf,我使用C#在WPF中创建了一条路径,并设置了笔划,以获得平滑的轮廓。当我在没有笔划的情况下填充路径时,我会在渲染的右侧得到一条锯齿状的边。加入笔划会隐藏此边,但会为形状增加额外的宽度,这是我不想要的 这是我的代码: Path myPath = new Path(); SolidColorBrush colorBrush = new SolidColorBrush(Color.FromRgb(57, 57, 57)); myPath.Fill = colorBrush; //myPath.Stro

我使用C#在WPF中创建了一条路径,并设置了笔划,以获得平滑的轮廓。当我在没有笔划的情况下填充路径时,我会在渲染的右侧得到一条锯齿状的边。加入笔划会隐藏此边,但会为形状增加额外的宽度,这是我不想要的

这是我的代码:

Path myPath = new Path();
SolidColorBrush colorBrush = new SolidColorBrush(Color.FromRgb(57, 57, 57));
myPath.Fill = colorBrush;
//myPath.Stroke = colorBrush;
myPath.Data = Geometry.Parse("M 0,0 H 60 C 100,0 120,20 120,60 L 60,120 C 20,120 0,100 0,60 L 0,0");
下面是该代码的结果,上面代码左侧的形状和上面代码右侧的形状仅使用笔划

以前有没有人见过这种情况,或者知道为什么会发生这种情况?实际上,我在XAML中的对象也得到了同样的结果。我正在VPC中运行VS2012,以防万一,这可能会有所帮助


谢谢你的帮助。

就像我在你帖子的评论中说的那样


我不认为Fill属性能画出一条完美的路径接近你的路径 但是用矩形填充路径。只需缩放画布即可 是否将边框设置为无颜色


这样我们就可以结束这篇文章了。这原来是我使用的Windows(VPC)版本的渲染问题,没有足够的处理能力


如果我能从这次经历中得到什么,如果你的代码是正确的,但是做了世界上其他人都没有经历过的事情,那么可能就是你的环境。在另一台计算机上尝试,如果问题仍然存在,请咨询您的“SO”医生。

您的代码中没有此问题。我的猜测是应用程序或操作系统中的一些缩放问题。我不认为Fill属性绘制了一个接近您的完美路径,而是用矩形填充路径。只需缩放画布,而不是将边框设置为无颜色?嗨,伙计们,谢谢你们的回答。我觉得自己像个傻瓜,就像托马斯说的那样,它很好用。原来是我用的电脑。我在另外三台电脑上检查了这张照片,效果非常好。太多的时间浪费了。嗨,马克,我实际上试着使用剪辑路径,它确实修复了右手侧,但是左手侧变得锯齿状。正如我在回答中所解释的,这最终是一个渲染问题。谢谢你的帮助。:)
<Canvas Width="30" Height="30" Clip="F1 M 0,0L 0,30L 30,30L 30,0L 0,0">
    <Path Width="30" Height="30" Canvas.Left="0" Canvas.Top="0" Stretch="Fill" Fill="#393939" Data="M 0,0 H 60 C 100,0 120,20 120,60 L 60,120 C 20,120 0,100 0,60 L 0,0"/>
</Canvas>