Page 276 - Open Soource Technologies 304.indd
P. 276

Web Technologies-I



                   Notes         Load the template image, find the correct position to properly center your text, add the text to
                                 the canvas, and send the image to the browser:
                                 // Configuration settings
                                 $image = ImageCreateFromPNG(‘button.png’);
                                 $text = $_GET[‘text’];

                                 $font = ImagePSLoadFont(‘Times’);
                                 $size = 24;
                                 $color = ImageColorAllocate($image, 0, 0, 0); // black

                                 $bg_color = ImageColorAllocate($image, 255, 255, 255);// white
                                 // Print centered text
                                 list($x, $y) = pc_ImagePSCenter($image, $text, $font, $size);

                                 ImagePSText($image, $text, $font, $size, $color, $bg_color, $x, $y);
                                 // Send image header(‘Content-type: image/png’);
                                 ImagePNG($image); // Clean up Image

                                 PSFreeFont($font);
                                 ImageDestroy($image);
                                 Building dynamic images with GD is easy; all you need to do is to combine a few recipes together.
                                 At the top of the code in the Solution, we load in an image from a stock template button; it acts
                                 as the background on which we overlay the text. We define the text to come directly from the
                                 query string. Alternatively, we can pull the string from a database (in the case of access counters)
                                 or a remote server (stock quotes or weather report icons).
                                 After that, we continue with the other settings: loading a font and specifying its size, colour,
                                 and background colour. Before printing the text, however, we need to compute its position;
                                 pc_ImagePSCenter( ). Last, we serve the image, and deallocate the font and image from memory.
                                 For example, the following code generates a page of HTML  and image tags using dynamic
                                 buttons, as shown in Figure 11.10:




                                 <?php
                                 if (isset($_GET[‘button’]))
                                 {

                                 // Configuration settings
                                 $image = ImageCreateFromPNG(‘button.png’);
                                 $text = $_GET[‘button’];
                                 // dynamically generated text
                                 $font = ImagePSLoadFont(‘Times’); $size = 24; $color = ImageColorAllocate($image, 0, 0, 0);
                                 // black
                                 $bg_color = ImageColorAllocate($image, 255, 255, 255); // white
                                 // Print centered text


        270                               LOVELY PROFESSIONAL UNIVERSITY
   271   272   273   274   275   276   277   278   279   280   281