GD Library door Vincent Janssens Doelstelling
Het aanleren van geavanceerde structuren en technieken
tijdens het werken met de GD library, die de kern vormt tijdens het genereren
van dynamische images in PHP.
Beginnen...
In het artikel "Dynamische
plaatjes met PHP" van Vincent Driessen is er een overzicht van wat GD
is en hoe je het installeert. In dit artikel ga ik ervan uit dat je reeds weet
wat GD is en hoe je de basisfunctionaliteiten implementeert.
Op het einde van dit artikel staat er een nederlandstalige appendix van de
GD library functies die in dit artikel gebruikt worden.
We verwijzen naar elke tekening die gegenereerd wordt door PHP via een integere
identifier, gelijkaardig aan file en database handles. Deze identifier
wordt geïnitialiseerd tijdens het aanroepen van je script. De identifier
wordt gebruikt als pointer in andere image functies voor de uiteindelijke output
van een image.
Dan kan je eventueel (beste methode) de basiscoördinaten toekennen aan één/meerdere
variabele(n). Deze coördinaten kunnen bestaan uit de verschillende
punten in je tekening, kleuren, tekst, enz.. die je wenst weer te geven. Uiteraard
kan je deze gegevens ook rechstreeks implementeren in de GD functies.
Aan de hand van deze coördinaten kunnen we beginnen aan de integratie van
het gewenste resultaat.
Uiteindelijk doe je de output van het resultaat. Je geeft mee aan de headers
dat het om een image gaat, genereer dan via de geschikte functie het resultaat,
en maak het geheugen leeg.
|
Voorbeeld
<?php
$x = 100 ;
$y = 100 ;
$imgp = imageCreate($x,
$y);
$zwart = imageColorAllocate($imgp,
0,0,0);
$wit = imageColorAllocate($imgp,
255,255,255);
imageLine($imgp, 0, 0,
$x, $y, $wit);
header("Content-Type:
image/png");
imagePng($imgp);
imageDestroy($imgp);
?>
|
Resultaat voorbeeld

|
Analyse
- $x = 100 ; & $y = 100 ; -
Bepaal de dimensies van onze image
- $imgp = imageCreate($x, $y); -
Maak een tekening en plaats imagepointer in identifier.
- $zwart = imageColorAllocate($imgp,
0,0,0); - Stel de achtergrondkleur van de image
in
- $wit = imageColorAllocate($imgp, 255,255,255);
- Bepaal de kleur wit
- imageLine($imgp, 0, 0, $x, $y, $wit);
- Teken een lijn binnen onze gedefinieerde image met
als kleur wit
- header("Content-Type: image/png");
- Geeft mee aan de http-headers dat het om een png
image gaat.
- imagePng($imgp); - Genereer
output
- imageDestroy($imgp); - Verwijder
image uit geheugen
| 1 | 2 | 3 | 4 | Volgende »
|