PHP Imagick GIF动画是不保留(PHP Imagick GIF Animation Is

2019-09-27 12:33发布

我有一点麻烦上传GIF和保持他们的动画。 我的代码如下所示:

$image = new Imagick($data['file']);
$object -> uploadFile('test.gif', $image -> getImageBlob());

而GIF那张似乎没有使用getImageBlob()时被保存下来。 香港专业教育学院尝试事件:

$image = new Imagick($data['file']);
$image = $image->coalesceImages(); 
$image = $image->deconstructImages(); 
$object -> uploadFile('test.gif', $image -> getImageBlob());

有没有办法使用getImageBlob时,我可以preseve的GIF()?

Answer 1:

尝试Imagick::getImagesBlob代替Imagick::getImageBlobgetImagesBlob将返回加载的图像的序列,而不是只是一个单一的图像; 在这种情况下,在GIF的每个帧。

快速检查与PHP 5.5.7和PECL imagick 3.1.2中出现了两个不同的行为:

$image = new Imagick('test.gif');
var_dump(strlen($image->getImagesBlob())); // int(4316519)
var_dump(strlen($image->getImageBlob()));  // int(61413)


文章来源: PHP Imagick GIF Animation Is Not Preserved