我想知道如何计算显示层的最小尺寸,以便它总是掩盖它的画布而不管它的旋转。
下图描绘了一幅画布(黑色矩形),尺寸为 1280宽x 800高。
中心对齐和居中对齐,使画布完全覆盖0度(图像1)和90度(图像2),渐变显示层已按比例从 1280宽度x 800高度调整大小(相同尺寸的画布) 2048宽x 1280高,以便原始最小长度与画布的最大长度相匹配。但是,如图3所示,使用这个基本的比例调整逻辑,某些角度不会完全覆盖画布。
如何确定渐变显示图层的最小尺寸(不会过多),以便在中心对齐和居中对齐时,无论角度如何,它都将始终覆盖画布?
答案 0 :(得分:5)
假设您使用的是圆形而非矩形的渐变层。显然,如果圆圈的最小尺寸覆盖了画布,它可以任意旋转并仍覆盖画布。
该圆的直径是画布的对角线。您寻找的矩形是可以包含该圆的最小矩形:一个正方形,其边是圆的直径。
这为任何形状的“画布”提供了答案:你必须找到最小的圆圈,其中心位于包含整个画布的所需旋转点。
答案 1 :(得分:1)
重新发布答案:
它不会只是一个正方形,其边与黑色矩形的对角线相等吗? (或sqrt(1280 ^ 2 + 800 ^ 2))
答案 2 :(得分:-1)
屏幕的宽度必须至少大于画布的对角线,并且高度必须至少大于画布的宽度和高度的最大值:
Width = sqrt(x^2 + y^2) = sqrt(1280^2 + 800^2) = 1509.4
Height = max(x,y) = 1280
其中x是画布的宽度,y是高度