gpt4 book ai didi

pecl - 为什么 setImageInterlaceScheme() 不使 jpeg 渐进?

转载 作者:行者123 更新时间:2023-12-01 15:35:24 24 4
gpt4 key购买 nike

我正在使用 php Gmagick 修改图像。以下代码按预期工作,只是图像不是渐进的。为什么?根据GraphicsMagick docs它应该。作为引用,输入图像为 666 x 1000。

    $img = new Gmagick();
$img->setSize(900, 900)
->readImageBlob($image->getBytes())
->setImageInterlaceScheme(Gmagick::INTERLACE_PLANE)
->setImageResolution(96, 96)
->setImageFormat('jpeg')
->setCompressionQuality(70)
->resizeImage(900, 1351, Gmagick::FILTER_UNDEFINED, 1);

注意

$img->getImageInterlaceScheme() === Gmagick::INTERLACE_PLANE

是否在设置后返回 true。

编辑

我已经尝试了 INTERLACE_LINE 和 INTERLACE_PLANE 常量。两者似乎都不会对输出产生影响。

最佳答案

原作者在 php.net ( https://bugs.php.net/bug.php?id=66444 ) 上创建了一个错误,最终发布了正确答案。您需要使用未记录的方法:

->setInterlaceScheme(Gmagick::INTERLACE_LINE)

代替:

->setImageInterlaceScheme(Gmagick::INTERLACE_LINE)

这对我有用!作为引用,我在 GraphicsMagick 1.3.18 之上使用带有 gmagick 1.1.7RC2 的 PHP 5.4.20。

关于pecl - 为什么 setImageInterlaceScheme() 不使 jpeg 渐进?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20386954/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com