2016-10-21 10 views
3

それを私はおそらくいくつかのコンテキストなしであまり理にかなっているパスを持っていますが、私は必要をそのようぼやけていないパス

<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> 

を描く私は、デフォルトでは長いパスUWPを持っている時に最適化していることに気付きましたドロー、私のパスは、私はこの振る舞いをしたくない

enter image description here

をピクセル化取得し、それを無効にする方法はありますか? 私は本当にこのようなパスが必要です、私はより良い品質を得るためにそれの長さを変更することはできません。 WPFでは

私は私が必要なものを手に入れる:

enter image description here

+1

なぜダウン投票してください –

+1

本当に、なぜdownvoteとなぜそれを閉じるために投票、トピック外ですか?なぜわからないのですか –

+0

これはフレームワークの動作なので何かできることはありません。 – Clock

答えて

6

、あなたがこのStartPointのを=使用しているので、あなたがあなたのXAMLでぼやけ行を取得する理由の理由がある「 - 10000,20」 。私たちのWinRTは、ポリラインが2048ピクセル以上離れた2点を持っている場合、ポリラインを通常レンダリングするのではなくスケーリングするときに大きなポリラインを描画する問題があります。各形状のサイズは、あなたが上でアプリケーションを実行しているハードウェアによって制限されるWinRTのでは

this threadにMSFT -

次のexplainationはブレンダン・クラークから引用しています。最小公約数は2048 x 2048です。これは、UIの各コンポーネントを標準的なスクリーンとほぼ同じスケールに保つ限り、すべてがシャープに見えるほど大きくなります。画面よりもはるかに大きいものを描画しようとすると、ハードウェアでサポートされている最大サイズにシェイプがクランプされ、そのポイントから要求されたサイズにスケールアップされます。シェイプは要求したものより低い解像度にクランプされているので、スケールアップするとぼやけて見えます。

StartPoint = " - 10000,20"をStartPoint = "100,20"に変更すると、正常に動作します。

説明に基づいて、パスデータを変更したくないことを知っています。この問題を回避する唯一の方法は、表示領域のサイズに基づいて手動でポリラインをクリップすることです。 this code sample

関連する問題