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