尝试将 gif 图像写入缓冲区时出错
Getting error while try to write gif image to buffer
我正在使用 PHP libvips 库,当我使用此函数时 writeToBuffer 用于写入缓冲图像,它给我以下类型的错误。
Fatal error: Uncaught Jcupitt\Vips\Exception: magicksave_buffer: libMagick error: no decode delegate for this image format `' @ error/blob.c/ImagesToBlob/2413
注意 - 只有当我的图像类型是 gif 时才会出现此错误
$imagePathInfo = pathinfo($inputFileName);
$imgExtension = $imagePathInfo['extension'];
$img = Vips\Image::newFromFile($inputFileName, ['access' => 'sequential']);
$img = $img->writeToBuffer('.' . $imgExtension);
默认情况下,libvips 只会加载动画的第一帧。要加载所有帧,请将 n
参数(页数)设置为 -1。使用:
$img = Vips\Image::newFromFile($inputFileName, [
'access' => 'sequential',
'n' => -1
]);
libvips 8.11 使用imagemagick 编写GIF 图片。你需要用format
参数告诉imagemagick写什么格式,eg.:
$img = $img->writeToBuffer('.' . $imgExtension, [
'format' => $imgExtension
]);
libvips 8.12(将于 2021 年 11 月底到期)将自动将正确的格式值传递给 imagemagick,并且还有一个专用且速度快得多的 GIF 编写器。
我正在使用 PHP libvips 库,当我使用此函数时 writeToBuffer 用于写入缓冲图像,它给我以下类型的错误。
Fatal error: Uncaught Jcupitt\Vips\Exception: magicksave_buffer: libMagick error: no decode delegate for this image format `' @ error/blob.c/ImagesToBlob/2413
注意 - 只有当我的图像类型是 gif 时才会出现此错误
$imagePathInfo = pathinfo($inputFileName);
$imgExtension = $imagePathInfo['extension'];
$img = Vips\Image::newFromFile($inputFileName, ['access' => 'sequential']);
$img = $img->writeToBuffer('.' . $imgExtension);
默认情况下,libvips 只会加载动画的第一帧。要加载所有帧,请将 n
参数(页数)设置为 -1。使用:
$img = Vips\Image::newFromFile($inputFileName, [
'access' => 'sequential',
'n' => -1
]);
libvips 8.11 使用imagemagick 编写GIF 图片。你需要用format
参数告诉imagemagick写什么格式,eg.:
$img = $img->writeToBuffer('.' . $imgExtension, [
'format' => $imgExtension
]);
libvips 8.12(将于 2021 年 11 月底到期)将自动将正确的格式值传递给 imagemagick,并且还有一个专用且速度快得多的 GIF 编写器。