In diesem Tutorial bringe ich euch bei, wie man Bilder mit PHP unter der Verwendung von GD zeichnet!
Zuerst müsst ihr das entsprechende Dateiformat festlegen:
header ("Content-type: image/png");
Ist die Grundlage für ein PNG-Bild
header ("Content-type: image/jpg");
Ist die Grundlage für ein JPG-Bild
Gif wird nicht mehr unterstützt in den neueren GD-Versionen. Nun werden die Bildmaße festgelegt:
$bild = @ImageCreate (400, 200)
400 ist die Breite und 200 die Höhe. Der folgende Befehl erzeugt die Hintergrundfarbe:
$hintergrundfarbe = ImageColorAllocate ($bild, 0, 128, 255);
Dies erzeugt ein Bild mit den Farbanteilen rot 0/255, grün 128/255 und blau 255/255.
Das Grundbild (einfarbig) ist somit jetzt gezeichnet. Jetzt kommen noch verschiedene Möglichkeiten, das Bild vernünftig zu gestalten.
Text ins Bild:
imagestring($bild, "Verdana", 100, 50, "Test", "#0080FF");
Verdana ist die verwendete Schriftart. Diese muß auf der Server installiert sein.
100 ist die x-Position, wo der Text beginnt
50 ist die y-Position, wo der Text beginnt
"Test" ist der Text, der erscheinen soll!
#0080FF ist der Hexadezimale Farbcode
soviel zum Schreiben. Jetzt kommen die Grafischen Objekte:
Man kann ein Rechteck folgendermaßen erstellen:
ImageRectangle($bild, 10, 15, 300, 180, "#0080FF");
Bei diesem Beispiel entsteht folgende Ausgabe:
Rechteckecke oben-links liegt bei Punkt 10,15 (x,y) und unten-rechts bei 300,180 und hat die Rahmenfarbe #0080FF
Es gibt noch die möglichkeit, es zu füllen: man verwendet statt imagereactangle einfach imagefilledrectangle .
Desweiteren wird eine Linie genauso gezeichnet:
imageline($bild, 10, 15, 200, 100, "#0080FF");
Hierbei wird eine Linie von 10,15 (x,y) nach 200,100 mit der Farbe "#0080FF" gezeichnet.
Dann kann man noch Punkte zeichnen mit
Imagesetpixel($bild, 15, 20, "#0080FF");
An Position 10,15 wird jetzt ein Punkt mit der Farbe #0080FF gezeichnet!
Soviel zu ein paar Grafikeffekten. Damit die Ausgabe abgeschlossen wird, muß man die Zeichnung auch beenden. Dies geht mit:
ImagePNG ($bild);
oder
ImageJPEG ($bild);
Jenach mit welchem Dateityp begonnen habt, müsst ihr es mt dem passenden Ende abschließen.
Es ist zwar erstmal eine Einleitung zu dem Thema, aber ich hoffe mit den Befehlen werdet ihr schon Spaß haben.
Ich hoffe ihr habt nun Interesse an GD bekommen und habt Spaß daran.
Euer kenny197902