Cover by Rasmus Lerdorf, Peter MacIntyre, Kevin Tatroe

Safari, the world’s most comprehensive technology and business learning platform.

Find the exact information you need to solve a problem on the fly, or go deeper to master the technologies and skills you need to succeed

Start Free Trial

No credit card required

O'Reilly logo

Creating and Drawing Images

For now, let’s start with the simplest possible GD example. Example 9-1 is a script that generates a black-filled square. The code works with any version of GD that supports the PNG image format.

Example 9-1. A black square on a white background (black.php)
<?php
$image = imagecreate(200, 200);

$white = imagecolorallocate($image, 0xFF, 0xFF, 0xFF);
$black = imagecolorallocate($image, 0x00, 0x00, 0x00);
imagefilledrectangle($image, 50, 50, 150, 150, $black);

header("Content-Type: image/png");
imagepng($image);

Example 9-1 illustrates the basic steps in generating any image: creating the image, allocating colors, drawing the image, and then saving or sending the image. Figure 9-1 shows the output of Example 9-1.

A black square on a white background
Figure 9-1. A black square on a white background

To see the result, simply point your browser at the black.php page. To embed this image in a web page, use:

<img src="black.php" />

The Structure of a Graphics Program

Most dynamic image-generation programs follow the same basic steps outlined in Example 9-1.

You can create a 256-color image with the imagecreate() function, which returns an image handle:

$image = imagecreate(width, height);

All colors used in an image must be allocated with the imagecolorallocate() function. The first color allocated becomes the background color for the image[4]:

$color = imagecolorallocate(image, red, green, blue);

The arguments ...

Find the exact information you need to solve a problem on the fly, or go deeper to master the technologies and skills you need to succeed

Start Free Trial

No credit card required