Perl ImageMagick:如何禁用命令输出的打印?

3

我有一个Perl脚本:

#!/usr/bin/perl

use strict;

use Image::Magick;

my $temp_filename = 'temp.webp';

my $im = Image::Magick->new;
my $m = $im->Read($temp_filename);

当我从命令行运行它时,会得到以下输出:
$ perl test.cgi
Decoded /tmp/magick-324583Dvjs7UCnJGp. Dimensions: 450 x 300. Now saving...
Saved file /tmp/magick-324589ZiUphKo482g
$

我期望并希望:

$ perl test.cgi
$

出了什么问题?


这是生成该输出的实际脚本吗?首先,文件名不同,并且代码没有写入图像... - Shawn
提供的脚本无法重现问题,即使我添加了 $im->write('foo.jpg'); 也是如此。在我的系统上运行良好,没有任何输出。请提供一个最小的可工作脚本来演示问题,并告诉我们一些关于您的系统(操作系统、Perl版本、ImageMagick库版本、Image::Magick版本)的信息。 - type_outcast
这是我使用的确切脚本,包括代码中的文件名和输出中的文件名。操作系统是CentOS 7,Perl版本为5.16.3,ImageMagick版本为6.9.10-68 Q16,Image::Magick版本为6.9.10。 - Bintz
1个回答

4

添加

$im->SetAttribute(quiet=>1);

对于我来说解决了这个问题。

最终脚本:

#!/usr/bin/perl

use strict;

use Image::Magick;

my $temp_filename = 'temp.webp';

my $im = Image::Magick->new;
$im->SetAttribute(quiet=>1);
my $m = $im->Read($temp_filename);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接