代码之家  ›  专栏  ›  技术社区  ›  Dan

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

  •  1
  • Dan  · 技术社区  · 10 年前

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

    在下面的示例中,我希望花卉图像的比例足够大,以便没有白色视图可见。我也希望原点尽可能接近0,0。换句话说,我希望它与左上角对齐。

    有什么想法吗?

    奖金问题:

    我还想选择做一个方面适合,这样整个图像就可以在最大可能的大小下看到,适合白色区域。

    enter image description here enter image description here

    1 回复  |  直到 10 年前
        1
  •  1
  •   user3386109    10 年前

    这里有一个正确的方向。

    scaled image

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

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

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