画出不模糊的路径

bto*_*rdz 3 c# uwp

我有一条路径,如果没有一些上下文可能没什么意义,但我需要这样

<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中,我得到了我需要的东西:

在此输入图像描述

Amy*_*SFT 6

你在XAML中获得Blurry Lines的原因是因为你使用了这个StartPoint =" - 10000,20".当Polyline有两个相距超过2048像素的点时,我们的WinRT会出现渲染大折线的问题,它会缩放折线而不是正常渲染.

以下解释引自Brendan Clark - MSFT在这篇帖子中:

在WinRT中,每个形状的大小都受到运行应用程序的硬件的限制.最小公分母是2048 x 2048.这足够大,只要您将UI的每个组件保持在与典型屏幕大致相同的比例,一切都会看起来很清晰.一旦您尝试绘制比屏幕大得多的东西,形状将被钳制到硬件支持的最大尺寸,并将从该点放大到您请求的尺寸.由于形状被夹紧到比您要求的分辨率更低的分辨率,因此将其缩放会使其看起来模糊.

因此,如果您将StartPoint =" - 10000,20"更改为StartPoint ="100,20",您将看到它正常工作.

根据您的描述,我知道您不想更改路径数据,解决此问题的唯一方法是根据查看区域的大小手动剪切折线,有关详细信息,请查看此代码示例.