调整旋转图像的大小以填充视图

人气:985 发布:2022-10-16 标签: ios scale rotation uiview

问题描述

我正在尝试调整UIImage的大小,使其完全覆盖其父视图。当图像没有改变时,这样做并不困难。如何进行任意旋转(例如,30度、97度、277度等)?

在下面的示例中,我希望花图像缩放到足够大,以便看不到任何白色视图。我还希望原点尽可能接近0,0。换句话说,我希望它与左上角对齐。

有什么想法吗?

奖金问题:

我还希望选择进行宽高比调整,以便以适合白色区域的最大尺寸显示整个图像。

 ; ;

推荐答案

向正确方向推进一下。

假设W和H是父视图的宽度和高度,而theta是图像的旋转角度,则图像宽度(X)可以计算为

x = W * cos(theta) + H * sin(theta);

根据该结果,您可以计算图像的比例因子,进而得出图像高度。剩下的部分留给读者作为练习。

552