Loading Existing Images

Some of the best ways to use the image functions in PHP are with existing images. For example, you can write a script to dynamically create buttons by first loading a blank button image from your hard drive and overlaying text on top. Loading images takes the form of a call to imagecreatefrom*(), where the * is png, jpeg, or various other formats. These functions take just one parameter, which is the file to load, and return an image resource for use as we've been doing already.

The first step in creating a customizable button script is to create a blank button (as in Figure 16-9) using the art package of your choice.

A blank button saved in PNG format is easy to load into PHP for dynamic modification

Figure 16-9. A blank button saved in PNG format is easy to load into PHP for dynamic modification

Adding text to this button is largely the same as our existing text code, with a few minor changes:

  • The $blue color is no longer needed, and we will not be using imagecreate().

  • We need to center the text in the middle of the button.

  • The font size needs to come down a little in order to fit the button.

With that in mind, here's the new script:

 if(!isset($_GET['size'])) $_GET['size'] = 26; if(!isset($_GET['text'])) $_GET['text'] = "Button text"; $size = imagettfbbox($_GET['size'], 0, "ARIAL", $_GET['text']); $xsize = abs($size[0]) + abs($size[2]); $ysize = abs($size[5]) + abs($size[1]); $image = imagecreatefrompng("button.png"); $imagesize = getimagesize("button.png"); ...

Get PHP in a Nutshell now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.