我有一个
我使用
如何才能切割图像的透明部分,只获取内容?或者我怎么才能找到最后一个带image::magick的非透明行呢?
您希望使用Trim()方法,然后重置page属性。修剪将裁剪掉所有与角像素颜色完全相同的图像(在你的情况下透明)。重置page属性将确保您的内容在新的,更小的图像画布上正确对齐。
以下是ImageMagick文档中有关Trim()的更多信息:http://www.imagemagick.org/script/command-line-options.php.Trim
这里是PerlMagick中有效的图像操作方法列表(虽然这里的文档有点稀疏):http://www.imagemagick.org/script/perl-magick.phpeutropyate
像下面这样的方法应该能帮你解决这个问题:
use strict;
use Image::Magick;
my $in = $ARGV[0];
my $out = $ARGV[1];
my $transparent_png = Image::Magick->new;
$transparent_png->Read("$in");
$transparent_png->Trim();
$transparent_png->Set(page=>'0x0+0+0');
$transparent_png->Write("$out");