Allgemeines:

Funktionenplotter: Bildausgabeprinzip in php


Zurück zur Übersichtsseite Dokumentation Funktionsplotter

Die Scriptsprache selbst wird nicht weiter beschrieben.

Bild Initialisieren:
<?php
$breit=500;
$hoch=500;
$bild=imagecreate($breit,$hoch);
Damit wurde ein sog. Bildhandle mit dem Namen '$bild' erzeugt, das einer Speicherreservierung gleicht und auf das man bei weiteren Anweisungen referenzieren kann.

Bildfarben initialisieren:
//Farbpalette in RGB-Anteilen, erste ist Bildhintergrund
$c0=imagecolorallocate($bild,255,255,255); //weiß
$c1=imagecolorallocate($bild,192,192,192); //grau
$c2=imagecolorallocate($bild,0,0,0); //schwarz
$c3=imagecolorallocate($bild,64,255,64); //gruen
$c4=imagecolorallocate($bild,64,64,255); //blau
$c5=imagecolorallocate($bild,255,64,64); //rot

Einen grünen ($c3) Bildrahmen zeichnen:
imagerectangle($bild,0,0,$breit-1,$hoch-1,$c3);
Eine Besonderheit besteht darin, dass die Koordinaten in y-Richtung nicht von unten nach oben, sondern von oben nach unten laufen. Deswegen ist der y-Wert der oberen linke Ecke nicht $hoch, sondern 0! Der rechte untere Rand des Bildes ist dann $hoch-1! Die Parameter für ein Rechteck werden z.B. als linke obere Ecke (0,0) und untere rechte Ecke ($breit-1, $hoch-1) angegeben.

Einen schwarzen ($c2) Punkt zeichnen:
imagesetpixel ($bild, $bx, $by, $c2);
$bx und $by entsprechen den Bildkoordinaten in x bzw. y.

Einen senkrecht stehenden Text zeichnen, z.B. Skalenbeschriftung:
imagestringup ($bild, 4, $bx, $by, $text, $c2);
Als Schrifthöhe wurden hier 4 Pixel vorgegeben.

Bildrückgabe an Webserver:
header("content-type: image/jpeg");
imagejpeg($bild); //Bild als jpeg
imagedestroy($bild); //Platz freigeben
exit;
?>
Ende des php-scripts

Zurück zur Übersichtsseite Dokumentation Funktionsplotter

(Stand: 13. Aug. 2008)