我正在开发一个面板,在其中上传 jpg,它复制它,调整它的大小,保存另一个 jpg,现在我还希望能够创建一个副本,但使用 webp 扩展。
我检查了所有地方,但找不到有同样问题的人。我在 CentOS cPanel 上运行 cPanel > 版本:ImageMagick 6.9.10-68 Q16 x86_64 2020-04-01
$imagick = new \Imagick($targetJpg);
$imagick->writeImage('webp:'.$targetWebp);
Run Code Online (Sandbox Code Playgroud)
我收到这个错误
致命错误:未捕获的 ImagickException:委托失败 `'cwebp' -quiet %Q '%i' -o '%o'' @ error/delegate.c/InvokeDelegate/1928 in /...dirs.../pic-upload .php:108 堆栈跟踪: #0 /...dirs.../pic-upload.php(108): Imagick->writeimage('webp:../images/...') #1
=================================================== =======
在我的本地计算机 OSX 中,使用 Mamp,在 @MarkSetcell 的帮助下解决了这个问题。
在 OSX 上 > 终端类型:cwebp -version webp 1.1.0
类型:类型 cwebp cwebp 已散列 (/usr/local/bin/cwebp)
标记解决方案> 有效!:) 在 macOS 上,您的 cwebp 似乎是 /usr/local/bin 中的自制程序,因此我建议您找到名为 delegates.xml 的 Imagick 配置文件并对其进行编辑,使其显示“cwebp”-quiet -q %Q '%I'...它变成 '/usr/local/bin/cwebp' …