在ImageMagick/GraphicsMagick中创建多个缩略图

Jes*_*sen 6 imagemagick thumbnails graphicsmagick image-scaling

我正在为Bash编写一个shellcript,它会为一些相当大量的大图像创建不同大小的缩略图.

我想知道是否有可能让GM/IM在一次运行中创建多个尺寸的拇指,以避免一遍又一遍地加载相同的图像以创建不同的缩略图,从而节省执行脚本的内存和时间?

sar*_*old 1

您可以使用ImageMagick Perl 绑定或绑定到您选择的任何其他语言来完成此操作:

#!/usr/bin/perl
use Image::Magick;

my($image, $x);

$image = Image::Magick->new;
$x = $image->Read('sars.png');
warn "$x" if "$x";

$x = $image->Resize(geometry=>'600x600');
warn "$x" if "$x";

$x = $image->Write('x.png');
warn "$x" if "$x";

$x = $image->Resize(geometry=>'400x400');
warn "$x" if "$x";

$x = $image->Write('y.png');
warn "$x" if "$x";

$x = $image->Resize(geometry=>'100x100');
warn "$x" if "$x";

$x = $image->Write('z.png');
warn "$x" if "$x";
Run Code Online (Sandbox Code Playgroud)

conjure命令支持 XML 格式的 Magick 脚本语言,但在我看来它比 Perl 版本更难,而且 Perl 绑定的文档肯定更好。