#!/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; }