2017-03-17 66 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 - > ...),但它不會改變圖形的寬度。首先它看起來像UWP Shapes會將元素的寬度投影到int,但是當我在調試器中查看它時,它更像是一個近似值(當寬度爲< 0.6時,形狀不是'根本不可見,當突然顯示> 0.6時,它的寬度約爲1.2)。所以我的假設是,在UWP中繪製圖形時的最小劃分最小爲1.2。

改變沒有大小的規模是另一種選擇,但我很好奇在UWP中繪圖的背後。如果這很重要,我一直在以1920x1080的屏幕分辨率進行測試。

+0

首先,這裏有關「複合變換」的相關代碼,您如何更改比例?規模X或Y或兩者?其次,「但它不會改變圖紙的寬度。」這是什麼意思?請提供一些相關代碼。 –

回答

1

您可能會遇到佈局舍入問題。包含矩形的畫布,關閉佈局四捨五入,如下所示:

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

非常感謝,這解決了我的問題! – losik123

相關問題