This might get you started with the GD route. Whether it's the right tool depends upon what you are going to do with the image once you've created it.
#! perl -slw
use strict;
use GD;
## Create a true color (24-bit) image
my $img = GD::Image->new( 600, 300, 1 );
## Create some colors
## Background
my $white = $img->colorAllocate( 255, 255, 255 );
## Solid Red
my $red100 = $img->colorAllocate( 255, 0, 0 );
## 25% lalpha blending red
my $red25 = $img->colorAllocateAlpha( 255, 0, 0, 31 );
## Solid green
my $green100 = $img->colorAllocate( 0, 255, 0 );
## 25%alpha blending green
my $green25 = $img->colorAllocateAlpha( 0, 255, 0, 31 );
## Alpha blending off
$img->alphaBlending( 0 );
## Fill the background
$img->fill( 0, 0, $white );
## Draw red & green
$img->filledEllipse( 200, 150, 250, 250, $red100 );
## overlapping circles
$img->filledEllipse( 400, 150, 250, 250, $green100 );
## Alpha blending on
$img->alphaBlending( 1 );
## Redraw both
$img->filledEllipse( 200, 150, 250, 250, $red25 );
## This time blended
$img->filledEllipse( 400, 150, 250, 250, $green25 );
## Open a file for binary output
open PNG, '>:raw', '582047.png' or die $!;
## Save the image as png
print PNG $img->png;
close PNG;
## Display it (assumes windows and a suitable file association)
system '582047.png';
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
|