将图像缩放到固定宽度但不保留纵横比

时间:2014-10-13 15:57:40

标签: image perl image-processing imagemagick perlmagick

我想缩放图像,使得生成的图像具有固定的宽度,但图像的高度保持不变。怎么办呢?

1 个答案:

答案 0 :(得分:3)

您可以在命令行执行此操作:

convert input.jpg -resize 3x\! output.jpg

!强制调整大小,将高度留空不会使其不受影响。

# Create it 50x50 and check
convert -size 50x50 xc:black  a.jpg
identify a.jpg
a.jpg JPEG 50x50 50x50+0+0 8-bit Gray 256c 173B 0.000u 0:00.009

# Resize and check
convert a.jpg -resize 3x\! out.jpg
identify out.jpg
out.jpg JPEG 3x50 3x50+0+0 8-bit Gray 256c 162B 0.000u 0:00.000

和类似的Perl版本:

#!/usr/bin/perl
use strict;
use warnings;
use Image::Magick;
my $image;

$image=Image::Magick->new(size=>'500x500');
$image->Read('xc:white');
$image->write("out1.jpg");
$image->Resize(geometry => "3x!");
$image->write("out2.jpg");