#!/usr/local/bin/perl -w # Change above line to path to your perl binary ##---------------------------------------------------------------------------## ## Author: ## Pradeep Padala, ppadala@cise.ufl.edu ## Description: ## Simple Drawing Example ##---------------------------------------------------------------------------## ## Copyright (C) 2002 Pradeep Padala, ppadala@cise.ufl.edu ## ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation; either version 2 of the License, or ## (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program; if not, write to the Free Software ## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA ## 02111-1307, USA ##---------------------------------------------------------------------------## use GD; do "init_colors.pl"; # Create a new image $im = new GD::Image(640,400); # Allocate some colors &InitColors($im); # Make the background transparent and interlaced $im->transparent($white); $im->interlaced('true'); $x1 = 10; $y1 = 10; $x2 = 200; $y2 = 200; # Draw a border $im->rectangle(0, 0, 639, 399, $black); # A line $im->line($x1,$y1,$x2,$y2,$red); # A Dashed Line $im->dashedLine($x1 + 100, $y1, $x2, $y2, $blue); # Draw a rectangle $im->rectangle($x1 + 200, $y1, $x2 + 200, $y2, $green); # A filled rectangle $im->filledRectangle($x1 + 400, $y1, $x2 + 400, $y2, $brown); # A circle $im->arc($x1 + 100, $y1 + 200 + 100, 50, 50, 0, 360, $violet); # A polygon # Make the polygon $poly = new GD::Polygon; $poly->addPt($x1 + 200, $y1 + 200); $poly->addPt($x1 + 250, $y1 + 230); $poly->addPt($x1 + 300, $y1 + 310); $poly->addPt($x1 + 400, $y1 + 300); # Draw it $im->polygon($poly, $yellow); # Open a file for writing open(PICTURE, ">picture.png") or die("Cannot open file for writing"); # Make sure we are writing to a binary stream binmode PICTURE; # Convert the image to PNG and print it to the file PICTURE print PICTURE $im->png; close PICTURE;