Introduction
In this article I explain how to draw basic shapes in PHP. PHP shapes are a very simple. You can easily draw in your application, but before creating a shape program you should install the GD library. The PHP GD library is very helpful for creating an image program in PHP, therefore you need to include the GD library in your PHP application. Let's begin a basic shapes drawing program using the PHP GD library. In this article I will use some image functions.
To define an image color in GD, you need to use the "ImageCreatTrueColor()" function. All shapes are shown in a browser as a PNG file.
Example
In this example I used a green background color and output this graphics to the browser as a .PNG file.
<?php
header("Content-type: image/png");
$image_width = 200;
$image_height = 200;
$imagecolor = ImageCreateTrueColor($image_width, $image_height);
// set green color
$green = ImageColorAllocate($imagecolor, 0, 255, 0);
ImageFillToBorder($imagecolor, 0, 0, $green, $green);
ImagePNG($imagecolor);
//destroy the memory space
ImageDestroy($imagecolor);
?>
Output
Example
Draw a Simple Line Shape
<?php
header("Content-type: image/png");
$image_width = 350;
$image_height = 360;
$imagecolor = ImageCreateTrueColor($image_width, $image_height);
ImageAntiAlias($imagecolor, true);
$automatic = ImageColorAllocate($imagecolor, 255, 255, 255);
ImageFillToBorder($imagecolor, 0, 0, $automatic, $automatic);
// set the red colour
$red = ImageColorAllocate($imagecolor, 255, 0, 0);
//create a line
ImageLine($imagecolor, 10, 10, 250, 300, $red);
ImageDashedLine($imagecolor, 30, 10, 280, 300, $red);
ImagePNG($imagecolor);
//destroy memory space
ImageDestroy($imagecolor);
?>
Output
Example
Draw a Simple Rectangle Shape
<?php
header("Content-type: image/png");
$image_width = 350;
$image_height = 360;
$imagecolor = ImageCreateTrueColor($image_width, $image_height);
ImageAntiAlias($imagecolor, true);
$automatic = ImageColorAllocate($imagecolor, 255, 255, 255);
ImageFillToBorder($imagecolor, 0, 0, $automatic, $automatic);
// sets black and red colour
$black = ImageColorAllocate($imagecolor, 0, 0, 0);
$red = ImageColorAllocate($imagecolor, 255, 0, 0);
// sets the dimensions of the rectangle
$rectangle_width = 150;
$rectangle_height = 100;
$r_x = 100;
$r_y = 50;
ImageRectangle($imagecolor, $r_x, $r_y, $r_x+$rectangle_width, $r_y+$rectangle_height, $black);
$rectangle_width = 150;
$rectangle_height = 100;
$r_x = 100;
$r_y = 200;
ImageFilledRectangle($imagecolor, $r_x, $r_y, $r_x+$rectangle_width, $r_y+$rectangle_height, $red);
ImagePNG($imagecolor);
//destoy the memory space
ImageDestroy($imagecolor);
?>
Output
Example
Draw a Simple Circle Shape
<?php
header("Content-type: image/png");
$image_width = 350;
$image_height = 360;
$imagecolor = ImageCreateTrueColor($image_width, $image_height);
ImageAntiAlias($imagecolor, true);
// sets background color white
$automatic = ImageColorAllocate($imagecolor, 255, 255, 255);
ImageFillToBorder($imagecolor, 0, 0, $automatic, $automatic);
// sets the black and red colour
$black = ImageColorAllocate($imagecolor, 0, 0, 0);
$red = ImageColorAllocate($imagecolor, 255, 0, 0);
// create empty circle
ImageEllipse($imagecolor, 180, 100, 100, 100, $black);
ImageFilledEllipse($imagecolor, 180, 220, 150, 50, $red);
ImagePNG($imagecolor);
// destroy the memory spaces
ImageDestroy($imagecolor);
?>
Output