UWP中绘图的最小分割是多少?
What's the minimum division of drawing in UWP?
我有一个关于在 UWP 中绘制形状的问题。您创建例如UWP 中的 Rectangle
并将其添加到屏幕上的 canvas。假设我们有一个 10x5 的小矩形。您将它添加到 canvas 并在屏幕上正确显示。然后使用标准屏幕转换(复合转换)进行放大,但不更改矩形的大小(仅更改比例):
好的,现在我们得到了一个大小为 10x5 且放大倍数较大(大约 50-150)的矩形。矩形的宽度和高度接受 double
值,假设我将矩形的大小更改为 10.1x5,但矩形的大小没有按比例更改。
这是录制的 gif:矩形的起始宽度约为 11.704,我从右侧更改宽度(使用我的鼠标,这在视频中不可见),因此最后它的宽度约为 4,但通常矩形应该线性改变它的大小。我在调试器中查看了它,计算出的值确实在变化(11.704 -> 11.389 -> 10.898 -> ...),但它不会改变绘图上的宽度。
起初看起来 UWP Shapes 会将元素的宽度转换为 int
,但当我在调试器中查看它时,它更像是一个近似值(当宽度 < 0.6 形状根本不可见,当 > 0.6 时它突然显示出来,但它的宽度约为 1.2)。所以我的假设是,在 UWP 中绘制形状时的最小除法是最小 1.2。
改变比例而不是大小是另一种选择,但我很好奇 UWP 中绘图的背后是什么。如果它很重要,我已经在 1920x1080 的屏幕分辨率上对其进行了测试。
您可能遇到布局舍入问题。 canvas 包含矩形,像这样关闭布局舍入:
<Canvas UseLayoutRounding="False">
<Rectangle/>
</Canvas>
我有一个关于在 UWP 中绘制形状的问题。您创建例如UWP 中的 Rectangle
并将其添加到屏幕上的 canvas。假设我们有一个 10x5 的小矩形。您将它添加到 canvas 并在屏幕上正确显示。然后使用标准屏幕转换(复合转换)进行放大,但不更改矩形的大小(仅更改比例):
好的,现在我们得到了一个大小为 10x5 且放大倍数较大(大约 50-150)的矩形。矩形的宽度和高度接受 double
值,假设我将矩形的大小更改为 10.1x5,但矩形的大小没有按比例更改。
这是录制的 gif:
起初看起来 UWP Shapes 会将元素的宽度转换为 int
,但当我在调试器中查看它时,它更像是一个近似值(当宽度 < 0.6 形状根本不可见,当 > 0.6 时它突然显示出来,但它的宽度约为 1.2)。所以我的假设是,在 UWP 中绘制形状时的最小除法是最小 1.2。
改变比例而不是大小是另一种选择,但我很好奇 UWP 中绘图的背后是什么。如果它很重要,我已经在 1920x1080 的屏幕分辨率上对其进行了测试。
您可能遇到布局舍入问题。 canvas 包含矩形,像这样关闭布局舍入:
<Canvas UseLayoutRounding="False">
<Rectangle/>
</Canvas>