hilitai has asked for the wisdom of the Perl Monks concerning the following question:
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?
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Creating transparent images using Imager
by Corion (Patriarch) on Apr 27, 2009 at 11:16 UTC | |
by hilitai (Monk) on Apr 27, 2009 at 14:50 UTC | |
by Anonymous Monk on Apr 27, 2009 at 19:11 UTC | |
by hilitai (Monk) on Apr 28, 2009 at 00:34 UTC | |
|
Re: Creating transparent images using Imager
by tonyc (Hermit) on Apr 28, 2009 at 00:20 UTC |