1

我想知道如何计算显示层的最小尺寸,以便无论旋转如何,它都会始终覆盖它的画布。

下图描绘了一个尺寸为1280 宽度 x 800 高度的画布(黑色矩形) 。

居中对齐和居中对齐,使画布在 0 度(图 1)和 90 度(图 2)处完全覆盖,渐变显示层已按比例调整大小,从1280 宽度 x 800 高度(与画布大小相同) ) 到2048 宽度 x 1280 高度,以便原始最小长度与画布的最大长度匹配。但是,如图 3 所示,使用这种基本的按比例调整大小逻辑,某些角度不会完全覆盖画布。

如何确定渐变显示层的最小尺寸(不超过),以便当它居中对齐和居中对齐时,无论角度如何,它都会始终覆盖画布?

在此处输入图像描述

4

3 回答 3

5

假设您使用圆形而不是矩形渐变层进行此操作。显然,如果圆圈是覆盖画布的最小尺寸,它可以任意旋转,仍然覆盖画布。

该圆的直径是画布的对角线。您寻找的矩形是可以包含该圆的最小矩形:一个正方形,其边是圆的直径。

这为您提供了任何“画布”形状的答案:您只需找到其中心位于包含整个画布的所需旋转点的最小圆。

于 2013-01-22T03:52:58.423 回答
1

重新发布作为答案:

它不会只是一个正方形,其边等于黑色矩形的对角线吗?(或 sqrt(1280^2 + 800^2))

于 2013-01-22T03:46:36.187 回答
-1

屏幕的宽度必须至少大于画布的对角线,高度必须至少大于画布的宽度和高度的最大值:

Width = sqrt(x^2 + y^2) = sqrt(1280^2 + 800^2) = 1509.4
Height = max(x,y) = 1280

其中 x 是画布的宽度,y 是高度

于 2013-01-22T03:27:20.270 回答