如何将图像调整为指定大小?

时间:2014-04-10 15:26:05

标签: perl image-processing imagemagick

实际上,我正在缩小高质量的图像。我需要固定一个参数(宽度或高度),另一个是灵活的,但具有最小的定义。 我想保持图像的宽高比。

示例:

我有一个图像(宽x高)= 2000px x 3000px,我希望它缩小到968px的宽度和640px的最小高度,同时保持图像的widht / height - 比率。

使用imagemagick Perl API,我需要发出什么来缩小这样的图像?

到目前为止,我已经使用了这个,但结果只是一些白色图像:

        my $image = Image->new();
        $image->Read('my_2000x3000_image.jpg');
        $image = $image->[0];
        $image->Resize('geometry' => '968' . 'x' . '>');
        $image->Write('image_968_min_640.jpg');

1 个答案:

答案 0 :(得分:0)

您需要的是Image::MagickScale方法,它采用最大宽度和高度

以下内容从现有图像创建缩略图:

# Thumbnail Dimensions
my ($max_height, $max_width) = (60,60);

my $thumbImage = new Image::Magick;
$thumbImage->Read($oldfile);
$thumbImage->Scale(geometry => qq{${max_height}x${max_width}}); 
$thumbImage->Write($newfile);