图像魔术绘制翻译坐标


ImageMagick Draw translate coordinates

我使用坐标生成了一个多边形,该多边形存储在ImagickDraw对象中。我想旋转对象的几个副本,然后在不同位置将它们绘制到我的图像上。

我正在使用imagick 3.1.0rc1和ImageMagick 6.7.6-5。

这是我正在使用的:

$sprite = new ImagickDraw();
$sprite->polygon($coords) //array of coordinates
$sprite->rotate(-90); //Doesn't seem to rotate
$sprite->translate($x, $y); //Doesn't seem to translate
$im->drawImage($sprite);

问题是,出于某种原因,rotatetranslate什么都不做。我做错了什么吗?还是rotatetranslate不做我认为应该做的事情?

似乎翻译不是这样做的方法。

我最终在一个新的ImagickDraw对象中生成了精灵,然后使用compositeImage()将其绘制到我的主图像上到适当的位置。

只是为了记录,您必须在绘制之前应用旋转/平移。