我使用C#在WPF中创建一个Path并设置Stroke,从而产生平滑的轮廓。当我在没有笔划的情况下填充路径时,我在渲染的右侧获得了锯齿状边缘。放入笔划隐藏了这个边缘,但为我不想要的形状增加了额外的宽度。
这是我的代码:
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,这可能会有所帮助。
感谢您的帮助。
答案 0 :(得分:0)
我们可以关闭这篇文章。这结果是我使用的Windows(VPC)版本的渲染问题,没有足够的处理能力。
如果我可以从这次经历中获取任何东西,如果你的代码是正确的,但做了世界上没有其他人正在经历的事情那么可能是你的环境。尝试另一台计算机,如果问题仍然存在,那么请看你的'SO'Doctor。
答案 1 :(得分:-1)
就像我在你的帖子评论中说的那样。
我不认为Fill-Property会为您提供一条完美的道路 但用矩形填充路径。只需缩放您的画布即可 将边框设置为无颜色?
<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>