【发布时间】:2017-06-10 15:24:34
【问题描述】:
我正在使用 Perl 的
Image::Imlib2
包以从较大的图像生成缩略图。
我以前用几个 ImageMagick 接口(PHP、Ruby、Python)完成过这样的任务,而且相对容易。我之前没有使用Imlib2 的经验,而且我已经很久没有用 Perl 写过东西了,所以如果这看起来很幼稚,我很抱歉!
这是我迄今为止尝试过的。这很简单,并假设缩放图像将保持纵横比,并且生成的缩略图将是原始图像的精确缩微副本。
use strict;
use warnings;
use Image::Imlib2;
my $dir = 'imgs/*';
my @files = glob ($dir);
foreach my $img ( @files ) {
my $image = Image::Imlib2->load($img);
my $cropped_image = $image->create_scaled_image(50, 50);
$cropped_image->save($img);
}
原图
生成的图像
我第一眼看到图片就告诉我出了点问题。这可能是我对裁剪、调整大小和缩放的无知,但生成的图像在小屏幕上显示错误。
我读过What's the difference between cropping and resizing?,老实说什么都不懂。还有这个Image scaling。
有人能解释这三个想法之间的区别吗?如果可能的话,可以举一些例子(最好用 Perl)来获得更好的结果吗?或者至少描述一下我想创建缩略图时应该考虑什么?
【问题讨论】:
-
如果您熟悉该库,使用
Image::MagickPerl 模块会有所帮助吗?它比Imlib2灵活得多。
标签: image perl image-resizing imlib2