当我在 PHP 中将 Gif 转换为 webp 时动画不起作用
Animated not working when i convert Gif to webp in PHP
我将gif动画转成webp,但是webp图片不是动画。
我错过了一步吗?
我在文档中找不到。
我的代码:
//GD
$image = imagecreatefromgif("./mypics.gif");
imagepalettetotruecolor($image);
imagewebp($image, "./image.webp");
//Imagick
$img = new \Imagick("./mypics.gif");
$img->stripImage();
$img->setImageFormat("webp");
$img->setImageAlphaChannel(\imagick::ALPHACHANNEL_ACTIVATE);
$img->setBackgroundColor(new \ImagickPixel('transparent'));
$img->writeImage("./image.webp");
GD 不支持动画 WebP。
Imagemagick 可以,但仅从相对较新的版本 7.0.8-68 开始,并且如果使用 libwebp 编译。
您需要安装支持 webp 的最新 imagemagick,或者使用其他外部工具,例如 gif2webp。
php-vips 支持动画网页。例如:
// n=-1 means load all pages
// sequential access means decode pixels on demand
$image = Vips\Image::newFromFile('something.gif', [
'n' => -1,
'access' => 'sequential'
]);
$image->writeToFile('something.webp');
我将gif动画转成webp,但是webp图片不是动画。
我错过了一步吗? 我在文档中找不到。
我的代码:
//GD
$image = imagecreatefromgif("./mypics.gif");
imagepalettetotruecolor($image);
imagewebp($image, "./image.webp");
//Imagick
$img = new \Imagick("./mypics.gif");
$img->stripImage();
$img->setImageFormat("webp");
$img->setImageAlphaChannel(\imagick::ALPHACHANNEL_ACTIVATE);
$img->setBackgroundColor(new \ImagickPixel('transparent'));
$img->writeImage("./image.webp");
GD 不支持动画 WebP。 Imagemagick 可以,但仅从相对较新的版本 7.0.8-68 开始,并且如果使用 libwebp 编译。
您需要安装支持 webp 的最新 imagemagick,或者使用其他外部工具,例如 gif2webp。
php-vips 支持动画网页。例如:
// n=-1 means load all pages
// sequential access means decode pixels on demand
$image = Vips\Image::newFromFile('something.gif', [
'n' => -1,
'access' => 'sequential'
]);
$image->writeToFile('something.webp');