Php imageMagick gif正在移出帧

Php imageMagick gif正在移出帧,php,imagemagick,gif,imagick,Php,Imagemagick,Gif,Imagick,我有这个简单的代码,可以在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();

我有这个简单的代码,可以在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();
$url=file\u get\u contents('https://via.placeholder.com/100x100');
$image=new Imagick();
$image->readImageBlob($url);
$image->resizeImage(128128,Imagick::FILTER\u未定义,0,0);
$GIF=new Imagick();
$GIF->setFormat(“GIF”);
对于($i=0;$i<6;++$i){
$image->setImageDispose(2);
$image->rotateImage('transparent',$i*6);
$image->setImageDelay(20);
$GIF->addImage($image);
}
标题(“内容类型:图像/gif”);
echo$GIF->getImagesBlob();
由于某些原因,它会随着每个新图像偏移,如下所示:


如何使其停止移出帧?

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

下面是使用失真的alink-to-Someone解决方案


这确实有用!非常感谢。