#!/usr/bin/perl -w
use strict;
use warnings;
use CGI;
use GD;
my $query = new CGI;
print $query->header;
print $query->start_html("EasyPX Generator");
print "
EasyPX Generator
\n";
prompt($query);
go_for_it($query);
print $query->end_html;
sub prompt {
my($query) = @_;
print $query->startform;
print "Enter Image File Name ";
print $query->textfield('name'),"
";
print "Enter Width ";
print $query->textfield('width'),"
";
print "Enter Height ";
print $query->textfield('height'),"
";
print "Enter Red Hex Value ";
print $query->textfield('red_value'),"
";
print "Enter Green Hex Value ";
print $query->textfield('green_value'),"
";
print "Enter Blue Hex Value ";
print $query->textfield('blue_value'),"
";
print "",$query->reset;
print $query->submit('Action','Submit');
print $query->endform;
print "
\n";
}
sub go_for_it {
my($query) = @_;
my(@values,$key);
print "Completed with the following values.
";
foreach $key ($query->param) {
print "$key -> ";
@values = $query->param($key);
print join(", ",@values),"
\n";
if ($key =~ /name/i) {
our $name = $query->param($key);
} elsif ($key =~ /width/i) {
our $width = $query->param($key);
} elsif ($key =~ /height/i) {
our $height = $query->param($key);
} elsif ($key =~ /red/i) {
our $red = $query->param($key);
$red = oct "0x" . $red;
} elsif ($key =~ /green/i) {
our $green = $query->param($key);
$green = oct "0x" . $green;
} elsif ($key =~ /blue/i) {
our $blue = $query->param($key);
$blue = oct "0x" . $blue;
}
}
my $im = new GD::Image(our $width,our $height);
my $color = $im->colorAllocate(our $red,our $green,our $blue);
$im->fill(1,1,$color);
open IMAGE, ">" . our $name . ".png";
print IMAGE $im->png();
close IMAGE;
}