【发布时间】:2018-04-27 22:38:34
【问题描述】:
我正在尝试使用 Graphics::Magick 在 Perl 中将 PNG 文件转换为无损 WebP。命令行是:
$ gm convert in.png -define webp:lossless=true out.webp
我的 Perl 代码看起来像这样:
use Graphics::Magick;
my $image = Graphics::Magick->new();
$image->Read("in.png");
my $image_data = $image->ImageToBlock(magick => "webp");
print $out_fh $image_data;
这段代码完美地编写了有损 WebP 文件,但是我该如何用 Perl API 来表达“-define”呢?
谢谢,
更新:看来我需要调用 AddDefiniton API 函数 (http://www.graphicsmagick.org/api/image.html#adddefinition)。看起来它现在还没有通过 Perl API 导出。
【问题讨论】:
-
从未尝试过,但也许
$image->Set('webp:lossless'=>'true'); -
@MarkSetchell,不,它没有。
Set(define => 'webp:lossless=true')也不起作用 :) -
当作为 PHP 扩展安装时,我看到有一个方法“setimageoption”,它需要 3 个参数。从 c 文件 i stumbled upon 来看,参数似乎是:格式、键、值。
标签: graphicsmagick webp perlmagick