旋转图像*而不*调整大小

Pau*_*vis 7 php

我想旋转图像(使用用户定义的旋转角度),但不会使图像变小.

  1. 是已经发生的事情,将阴影区域保存为较小的图像
  2. 是我想要的,虚线是新的图像大小.

服务器的PHP为5.3+.链接,代码和解释都非常欢迎.

Cha*_*tie 2

这不是完整的答案,但我会将四个角作为坐标旋转它们的角度,然后根据新坐标的范围计算新的边界框。(假设坐标原点位于左下角)。

corners = rotate_each ( [(left,top) (left,bottom), (right,top), (right,bottom)], angle)
new_bb_left = min([corners[0].x, corners[1].x, corners[2].x, corners[3].x])
new_bb_right = max([corners[0].x, corners[1].x, corners[2].x, corners[3].x])
new_bb_bottom = min([corners[0].y, corners[1].y, corners[2].y, corners[3].y])
new_bb_top = max([corners[0].y, corners[1].y, corners[2].y, corners[3].y])
Run Code Online (Sandbox Code Playgroud)