imageMagick gif 移出框架

imageMagick gif is moving out of frame

我有这个简单的代码可以在 PHP

上使用 imageMagick 旋转静态图像
$url = file_get_contents('https://via.placeholder.com/100x100');

$image = new Imagick();
$image->readImageBlob($url);
$image->resizeImage(128, 128, Imagick::FILTER_UNDEFINED, 0, 0);


$GIF = new Imagick();
$GIF->setFormat("gif");

for ($i = 0; $i < 6; ++$i) {

    $image->setImageDispose(2);
    $image->rotateImage('transparent', $i * 6);
    $image->setImageDelay(20);
    $GIF->addImage($image);
    
}

header("Content-Type: image/gif");
echo $GIF->getImagesBlob();

出于某种原因,每个新图像都会对其进行偏移,如下所示:

如何让它停止移出框架?

我不是 PHP Imagick 方面的专家,但您的问题是 rotateImage() 似乎总是围绕左上角而不是中心旋转。这与在 ImageMagick 中使用 -rotate 围绕中心旋转的方式相反。

这是某人使用 DISTORTION_SCALEROTATETRANSLATE (int)

解决方案的链接