GD
view release on metacpan or search on metacpan
demos/draw_colors.pl view on Meta::CPAN
use strict;
use lib '.','./blib/lib','./blib/arch';
use GD::Simple;
my @color_names = GD::Simple->color_names;
my $cols = int(sqrt(@color_names));
my $rows = int(@color_names/$cols)+1;
my $cell_width = 100;
my $cell_height = 50;
my $legend_height = 16;
my $width = $cols * $cell_width;
my $height = $rows * $cell_height;
my $img = GD::Simple->new($width,$height);
$img->font(gdSmallFont);
for (my $c=0; $c<$cols; $c++) {
for (my $r=0; $r<$rows; $r++) {
my $color = $color_names[$c*$rows + $r] or next;
my @topleft = ($c*$cell_width,$r*$cell_height);
my @botright = ($topleft[0]+$cell_width,$topleft[1]+$cell_height-$legend_height);
$img->bgcolor($color);
$img->fgcolor($color);
$img->rectangle(@topleft,@botright);
$img->moveTo($topleft[0]+2,$botright[1]+$legend_height-2);
$img->fgcolor('black');
$img->string($color);
}
}
print eval {$img->png} || $img->gif;
lib/GD/Simple.pm view on Meta::CPAN
use strict;
use GD::Simple;
my @color_names = GD::Simple->color_names;
my $cols = int(sqrt(@color_names));
my $rows = int(@color_names/$cols)+1;
my $cell_width = 100;
my $cell_height = 50;
my $legend_height = 16;
my $width = $cols * $cell_width;
my $height = $rows * $cell_height;
my $img = GD::Simple->new($width,$height);
$img->font(gdSmallFont);
for (my $c=0; $c<$cols; $c++) {
for (my $r=0; $r<$rows; $r++) {
my $color = $color_names[$c*$rows + $r] or next;
my @topleft = ($c*$cell_width,$r*$cell_height);
my @botright = ($topleft[0]+$cell_width,$topleft[1]+$cell_height-$legend_height);
$img->bgcolor($color);
$img->fgcolor($color);
$img->rectangle(@topleft,@botright);
$img->moveTo($topleft[0]+2,$botright[1]+$legend_height-2);
$img->fgcolor('black');
$img->string($color);
}
}
print $img->png;
=head1 AUTHOR
The GD::Simple module is copyright 2004, Lincoln D. Stein. It is
( run in 1.090 second using v1.01-cache-2.11-cpan-49f99fa48dc )