I am using Perl Magick which is the Perl module for Image Magick to convert images from GIF and PNG to JPEG. Everything works perfectly until I try to convert an image with a transparent background.
The default behavior for the Resize() function is to use black which ruins the images we are trying to convert. I want to instead change the default background color to white and can't figure out how to do it.
If you use Image Magick on the command line you can change the background by using:
convert image.gif -background \#FFFFFF -flatten image.jpg
And here is the perl code I am using to resize and convert the image:
use Image::Magick;
my $image = Image::Magick->new();
$image->Read("input.png");
$image->Resize(geometry=>'500x');
$image->Write("output.jpg");
I tried the following to get it to work but to no avail:
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");
And also:
use Image::Magick;
my $image = Image::Magick->new();
$image->Read("input.png");
$image->Resize(geometry=>'500x',background=>'white');
$image->Write("output.jpg");
I'd appreciate any help on figuring out how to set the default background color successfully for the Perl Magick Resize() method. Thanks in advance for your help!