4
Imagerotate使用给定角度以度数旋转图像。更改Imagerotate的旋转中心
旋转的中心是图像的中心,并且旋转的图像可能具有与原始图像不同的尺寸。
如何更改旋转中心以协调x_new和y_new并避免自动调整大小?
示例:围绕红点旋转。
想到的Imagerotate使用给定角度以度数旋转图像。更改Imagerotate的旋转中心
旋转的中心是图像的中心,并且旋转的图像可能具有与原始图像不同的尺寸。
如何更改旋转中心以协调x_new和y_new并避免自动调整大小?
示例:围绕红点旋转。
想到的第一个想法是这样,它的新中心位于x_new,y_new旋转并移动回移动图像。
假设:
0 < x_new < w
0 < y_new < h
伪代码:
new_canter_x = MAX(x_new, w - x_new)
new_center_y = MAX(y_new, h - y_new)
create new image (plain or transparent background):
width = new_canter_x * 2
height = new_center_y * 2
copy your old image to new one to coords:
new_center_x - x_new
new_center_y - y_new
imagerotate the new image.
现在你只需要切,你有兴趣了它的一部分。
说实话 - 我没有明白。你可以添加一个例子吗? –
除非您旋转180度的倍数(如果图像是正方形,否则倍数为90),则无论您选择哪个旋转中心,图像总是需要重新调整大小。如果您不想重新调整大小,则应在旋转后裁剪出想要的部分。 – rpkamp