我有一个由convert从PDF文件生成的PNG图像。此PNG是信纸大小和透明的,除了内容部分。
我使用Image::Magick perl模块来操作图像(就像新手一样)。内容从28x28px开始,宽度恒定。高度是可变的。
如何剪切图像的透明部分,只获取内容?或者我怎样才能找到Image::Magick的最后一行不透明的代码?
发布于 2012-12-18 06:42:35
您希望使用Trim()方法,然后重置页面属性。Trim将裁剪与角像素颜色完全相同的所有图像(在您的情况下是透明的)。重置页面属性将确保您的内容在新的、较小的图像画布上正确对齐。
下面是ImageMagick文档中有关Trim()的更多信息:http://www.imagemagick.org/script/command-line-options.php#trim
下面是PerlMagick中有效的图像操作方法列表(尽管这里的文档有点稀疏):http://www.imagemagick.org/script/perl-magick.php#manipulate
下面这样的代码应该可以帮你解决这个问题:
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");https://stackoverflow.com/questions/13922073
复制相似问题