ファイルからPNG
生成された画像があります。このPNGはレターサイズでコンテンツ部分以外は透過しています。convert
PDF
私はImage::Magick
perl モジュールを使用して画像を操作します (初心者のように)。コンテンツは 28x28px から始まり、幅は一定です。高さは可変です。
画像の透明部分を切り取り、コンテンツのみを取得するにはどうすればよいですか? または、Image::Magick で最後の透明でない行を見つけるにはどうすればよいですか?
ファイルからPNG
生成された画像があります。このPNGはレターサイズでコンテンツ部分以外は透過しています。convert
PDF
私はImage::Magick
perl モジュールを使用して画像を操作します (初心者のように)。コンテンツは 28x28px から始まり、幅は一定です。高さは可変です。
画像の透明部分を切り取り、コンテンツのみを取得するにはどうすればよいですか? または、Image::Magick で最後の透明でない行を見つけるにはどうすればよいですか?
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");