Image Magick の Perl モジュールであるPerl Magickを使用して、画像を GIF および PNG から JPEG に変換しています。背景が透明な画像を変換しようとするまで、すべてが完全に機能します。
Resize() 関数のデフォルトの動作は、変換しようとしている画像を台無しにする黒を使用することです。代わりに、デフォルトの背景色を白に変更したいのですが、その方法がわかりません。
コマンドラインで Image Magick を使用する場合、以下を使用して背景を変更できます。
convert image.gif -background \#FFFFFF -flatten image.jpg
そして、画像のサイズ変更と変換に使用しているperlコードは次のとおりです。
use Image::Magick;
my $image = Image::Magick->new();
$image->Read("input.png");
$image->Resize(geometry=>'500x');
$image->Write("output.jpg");
私はそれを機能させるために次のことを試みましたが、役に立ちませんでした:
use Image::Magick;
my $image = Image::Magick->new();
$image->Read("input.png");
$image->Set(background => 'white');
$image->Flatten();
$image->Resize(geometry=>'500x');
$image->Write("output.jpg");
また:
use Image::Magick;
my $image = Image::Magick->new();
$image->Read("input.png");
$image->Resize(geometry=>'500x',background=>'white');
$image->Write("output.jpg");
Perl Magick Resize() メソッドのデフォルトの背景色を正常に設定する方法を理解するための助けをいただければ幸いです。よろしくお願いします。