我有这个简单的代码,可以在 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) 的某人解决方案的链接
关于php - imageMagick gif 移出框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65697272/