Inloggen
Username:
Password:



Password vergeten?
Menu
Home
Forums
Wiki
Script Library
Forum tracker
RSS Feed
Sponsoren
Vacature plaatsen

Aanmelden
Huisregels
Vereniging

Adverteren
Disclaimer
Zoeken

In:
Aantal leden
PHPFreakz kent momenteel 50394 geregistreerde leden.
Opties
Printversie
GD Library
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 »

Commentaar op dit artikel
TitelDoorDatum
afbeelding Tonnie van Eldik 27-06-2004 11:35
Hoe kan ik hem laten tekenen/schrijven op een best jaapie oksel 30-04-2004 12:30
RE: Hoe krijg ik text op een plaatje Vincent [MaxiBlue.nl] 14-03-2004 12:15
Hoe krijg ik text op een plaatje erik nv 12-03-2004 19:04
RE: Vars doorgeven l0c4lh0st (127.0.0.1) 15-02-2004 08:06
mooi Tim 27-12-2003 09:58
Vreemd.... $name = "thijs" 14-10-2003 11:24
Vars doorgeven Kaal.iseenkeuze /Da Scorp/Harm a.k.a. Henk 20-08-2003 14:24
RE: Bioritme is grote onzin Jurgen Westerhof 01-07-2003 01:09
Niet utigebreid genoeg MvdBo WeCreate-IT.nl 24-01-2003 09:47
RE: Moraal van het verhaal M L 21-12-2002 23:28
RE: Van laatste versie GD naar oudere Vincent Janssens 15-11-2002 17:14
Van laatste versie GD naar oudere j. smit 02-11-2002 11:23
Bioritme is grote onzin Cornald Kruyt 28-09-2002 02:41
RE: foutmelding Vincent Janssens 23-09-2002 18:12
RE: RE: RE: RE: zo geweldig vind ik het niet Wim _bo 06-09-2002 11:22
foutmelding Telefoon Toestel 26-08-2002 17:28
RE: RE: RE: zo geweldig vind ik het niet forcer   29-07-2002 01:01
RE: RE: zo geweldig vind ik het niet rudie dirkx 10-07-2002 23:38
gd en MIME mail bram bruurs 09-07-2002 15:49
Moraal van het verhaal Vincent Janssens 01-07-2002 22:13
RE: zo geweldig vind ik het niet Niels Dommerholt 01-07-2002 16:54
TTF support wil maar niet werken Philip Waanders 07-06-2002 14:18
LetterType Rick 19-05-2002 18:26
RE: RE: zo geweldig vind ik het niet Roderik L 05-05-2002 17:48
GD 2.0 verwijderde gebruiker 05-05-2002 13:26
Bron Case study - Zend Technologies (Till Gerken) Vincent Janssens 24-04-2002 19:58
RE: zo geweldig vind ik het niet Vincent Janssens 24-04-2002 19:55
zo geweldig vind ik het niet Roderik L 24-04-2002 18:59
RE: NetPBM als alternatief Sjaak Trekhaak 16-04-2002 16:00
RE: RE: Plezier Vincent Janssens 14-04-2002 18:32
RE: Plezier Michiel Berg vd 11-04-2002 09:27
Plezier Vincent Janssens 08-04-2002 21:02
RE: Alleen zwart met createjpg from jpg Vincent Janssens 08-04-2002 21:00
RE: RE: RE: Fijn... RJ [ is weer weg ] 07-04-2002 17:27
Bronvermelding Wim Molenberghs 07-04-2002 14:12
Alleen zwart met createjpg from jpg jos janssen (Verenigingslid) 06-04-2002 15:17
pico bello verwijderde gebruiker 05-04-2002 19:44
RE: RE: Fijn... Blaat Schaap 05-04-2002 18:35
RE: Fijn... RJ [ is weer weg ] 05-04-2002 16:07
Fijn... RJ [ is weer weg ] 05-04-2002 16:05
NetPBM als alternatief Hans Tolboom 05-04-2002 12:24
Recente topics
Website layout hu...
selecteer tekst t...
Weergaven form in...
Website Hulp gezocht
Refresh na invoeren.
Weeknummers selec...
jquery table sort...
Meerdere menu's i...
jQuery slide content
HTML SELECT met 2...
TCPDF geeft é nie...
session_id(); > b...
Nieuwe regel
Variabele analyseren
heleboel foutmeld...
Recente Wiki's
JavaScript: High Performance
MagicQuotes
Escapen
Datamanipulatie
RabbitVCS
Continuous integration
Apache Veilig Maken
Charactersets
Het Wiel Uitgevonden:Formulieren
XSD

Meer wiki ...
Recente Scripts
Unieke `random` n...
twitterPHP 0.1 (a...
CSS minifier
PINI - PHP >>INI<...
Sudoku [StateSolver]
base64 file encoder
Session class

Meer scripts ...
Gehost door
RedKnot Hosting