我正在尝试使用ImageMagick来扩展图像:
my $image = Image::Magick->new;
open( IMAGE, $filename );
$image->Read( file => \*IMAGE );
close(IMAGE);
$image->Extent( gravity => 'Center', width => 150, height => 150, );
$image->Write( $outfile );
当图像延伸到正确的尺寸时,它不在中间。我是否正确使用了这个?
更新
我也尝试过使用笨重的版本:
$image->Set( Gravity => 'Center' );
但仍然没有好处。我使用的是6.5.8-10版本。
第二次更新:
在PerlMagick的更新日志中找到了这个:
2009-10-18 6.5.7-0 Cristy <quetzlzacatenango@image...>
* Interpret gravity properly for ExtentImage().
答案 0 :(得分:1)
#Ok, you need to extent your image upto 100x100 and fill new area by transparent background:
($nx, $ny) = $image->Get('base-columns','base-rows');
$nnx = 50-$nx/2;
$nny = 50-$ny/2;
$image->Extent(geometry=>"100x100-$nnx-$nny", background=>"graya(0%, 0)");
#woohoo!
答案 1 :(得分:0)
看起来像一个bug,因为Perl之外的转换工作。