2017-03-17 3 views
0

UWPの形状描写に関する質問があります。たとえば、 UWPのRectangleをスクリーン上のキャンバスに追加します。たとえば、10x5という小さなサイズの長方形があるとします。キャンバスに追加すると、画面に正しく表示されます。UWPの最小描画単位は何ですか?

これで、10x5のサイズの矩形が得られました。これで、標準のスクリーントランスフォーム(コンポジットトランスフォーム)を使用してズームインしました。大きなズームイン(約50〜150)。矩形の幅と高さはdoubleの値を受け入れるので、矩形のサイズを10.1x5に変更しますが、矩形のサイズは比例して変化しません。

ここに記録されたGIFがあります:Changing width of rectangle長方形の開始幅は約11.704で、右側から幅を変更します(ビデオには表示されないマウスを使用します)。幅は約4ですが、一般的に長方形は線形にサイズを変更する必要があります。私はデバッガ内でそれを見て、計算された値は実際には変化しています(11.704 - > 11.389 - > 10.898 - > ...)。しかし、図面の幅は変わりません。

幅は< 0.6だったときに形状が「wasn(UWP形状はintに要素の幅を投じるように最初はそれが見えたが、私は、デバッガ内でそれを見ていたとき、それはより多くの近似値のようなものです何も表示されませんでした。0.6を超えると突然表示されましたが、幅は約1.2でした)。だから、私の前提は、UWPで図形を描くときの最小分割が最小1.2であるということです。

サイズを変更しないでスケールを変更することもできますが、私はUWPの描画の背景が不思議です。重要な場合は、1920x1080の画面解像度でテストしています。

+0

まず、「コンポジットトランスフォーム」の相対コードはどうですか、どのように縮尺を変更しますか?スケールXまたはYまたはその両方?第二に、 "それは図面の幅を変更しません。"これはどういう意味です?相対的なコードを入力してください。 –

答えて

1

レイアウトの丸めの問題が発生している可能性があります。矩形を含むキャンバスは、次のようにレイアウトの丸めをオフにします。

<Canvas UseLayoutRounding="False"> 
    <Rectangle/> 
</Canvas> 
+0

ありがとう、これは私の問題を解決! – losik123

関連する問題