我已旋转图像,需要将较小图像的新坐标放置在旋转图像上。
假设未旋转的大图像上的小图像坐标为:
$x0 = 100;
$x1 = 120;
$y0 = 100;
$y2 = 200;
在大图像上执行顺时针旋转:
$rotation = -3.5;
我现在如何获得更新的坐标以将小图像放到较大的(现在旋转的)图像上?
(免责声明:这个问题具体是如何在旋转图像后如何计算PHP中的新坐标,所以它不是其他“旋转后的坐标”问题的重复,这不涉及如何解决这个问题PHP代码中的问题,0,0位于左上角并使用PHP函数。)
答案 0 :(得分:1)
您需要知道图像旋转的原点。然后,您可以通过执行以下步骤将旧坐标系中的任何点(您的大型未旋转图像)转换为新的坐标系(您的大旋转图像):
然后将小图像旋转并放置在之前的位置。
我之前在HTML Canvas中遇到过这个问题。请参阅此问题的第一个答案:Rotating a point about another point (2D)
那个人详细介绍了如何做到这一点的方法。