As best I understand it, the Imager set of modules should support image transparency. However, I can't get the results I would expect from the following snippet:
use Imager; $img = Imager->new(xsize=>700, ysize => 500, channels => 4); # setting Imager::Color->new($red, $green, $blue, $alpha); $blue = Imager::Color->new( 0, 0, 255, 255); $red = Imager::Color->new( 255, 0, 0, 63); $img->box(color => $blue, xmin=>10, ymin=>30, xmax=>200, ymax=>300, fi +lled=> 1); $img->box(color => $red, xmin=>50, ymin=>80, xmax=>250, ymax=>350, fil +led=> 1); my $outfile = "foo.png"; $img->write(file=>$outfile) or die $img->errstr;
I'd expect the resulting image to contain a blue rectangle partly covered by a semitransparent red rectangle, such that the area covered by both shapes shows as purple.
Instead, I get the blue rectangle partly offset from and completely obscured by a pale red rectangle, with nothing like what I'd call transparency.
Am I using Imager::Color incorrectly? How should transparency work?
In reply to Creating transparent images using Imager by hilitai
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |