Hoofdstuk 16. Het maken en manipuleren van plaatjes

PHP kan meer dan enkel HTML generen. Het kan ook gebruikt worden om plaatjes in verschillende formaten (GIF, PNG, JPG, WBMP and XPM) te creëren en te manipuleren. Wat nog veel handiger is, is dat PHP Image Streams direct naar de browser kan sturen. Om met plaatjes te kunnen werken moet je PHP compileren met de GD library. GD en PHP kunnen meerdere libraries nodig hebben maar dit ligt aan de bestands formaten je wil gebruiken.

Voorbeeld 16-1. GIF generatie met PHP


<?php
    Header("Content-type: image/gif");
    $string=implode($argv," ");
    $im = imagecreatefromgif("images/knop1.gif");
    $oranje = ImageColorAllocate($im, 220, 210, 60);
    $px = (imagesx($im)-7.5*strlen($string))/2;
    ImageString($im,3,$px,9,$string,$oranje);
    ImageGif($im);
    ImageDestroy($im);
?>
    
Dit voorbeeld zou worden aangeroepen vanuit een HTML tag als: <img src="button.php?text"> Het bovenstaande script, button.php, gebruikt dan deze "text" string en plakt het over een bestaand plaatje; in dit geval "images/knop1.jpg" en stuurt output vervolgens het resulterende plaatje naar de browser. Dit is een erg makkelijke manier om te voorkomen dat je hele nieuwe plaatjes moet maken als je enkel de tekst op je knoppen wilt veranderen. Op deze manier worden ze dynamisch gegenereerd.