【问题标题】:imageMagick gif is moving out of frameimageMagick gif 移出框架
【发布时间】:2021-04-18 04:34:55
【问题描述】:

我有这个简单的代码可以在 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 imagemagick gif imagick


    【解决方案1】:

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

    这里是使用 DISTORTION_SCALEROTATETRANSLATE (int) 的某人解决方案的链接

    PHP - Rotate image on reference point

    【讨论】:

    • 确实有帮助!谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-28
    • 1970-01-01
    • 2014-07-30
    • 2017-01-11
    • 2023-04-04
    相关资源
    最近更新 更多