我有一条路径,如果没有一些上下文可能没什么意义,但我需要这样
<Path StrokeThickness="2" Stroke="Blue" >
<Path.Data>
<PathGeometry>
<PathFigure StartPoint="-10000,20">
<BezierSegment Point1="100,100"
Point2="120,120"
Point3="350, 350" />
<BezierSegment Point1="400,400"
Point2="450, 450"
Point3="200, 600" />
</PathFigure>
</PathGeometry>
</Path.Data>
</Path>
Run Code Online (Sandbox Code Playgroud)
我注意到,当我有一个很长的路径UWP默认优化绘制时,我的路径会变得像素化
我不想要这种行为,有没有办法禁用它?我真的需要一条这样的道路,我不能改变它的长度来获得更好的质量.
在WPF中,我得到了我需要的东西:
你在XAML中获得Blurry Lines的原因是因为你使用了这个StartPoint =" - 10000,20".当Polyline有两个相距超过2048像素的点时,我们的WinRT会出现渲染大折线的问题,它会缩放折线而不是正常渲染.
以下解释引自Brendan Clark - MSFT在这篇帖子中:
在WinRT中,每个形状的大小都受到运行应用程序的硬件的限制.最小公分母是2048 x 2048.这足够大,只要您将UI的每个组件保持在与典型屏幕大致相同的比例,一切都会看起来很清晰.一旦您尝试绘制比屏幕大得多的东西,形状将被钳制到硬件支持的最大尺寸,并将从该点放大到您请求的尺寸.由于形状被夹紧到比您要求的分辨率更低的分辨率,因此将其缩放会使其看起来模糊.
因此,如果您将StartPoint =" - 10000,20"更改为StartPoint ="100,20",您将看到它正常工作.
根据您的描述,我知道您不想更改路径数据,解决此问题的唯一方法是根据查看区域的大小手动剪切折线,有关详细信息,请查看此代码示例.