Bilder mit PHP

Quelle: Frank Boumphrey pages

 

Erstellen

"Canvas", bzw. file-handle erzeugen, auf dem kann man malen...

 

ImageCreate([int][int])

 

1. Zahl: Breite; 2. Zahl: Höhe des Zeichenfeldes

 

den file-handle an Variable übergeben:

 

$image = ImageCreate (400, 200);

 

 

 

Output

...möglich immer nur 1 Bild auszugeben ...

 

Bildschirm:

 

ImagePNG ($image);

 

oder optional in file:

 

ImagePNG ($image, "graphic.png");

 

entweder anzeigen oder schreiben!

will man beides: zwei Befehle

 

 

 

Zerstören

Ganz zum Schluß, um Speicher frei zumachen:

 

ImageDestroy($image);

 

 

 

Zeichnen - Farben

Farben:

$[color handle]= ImageColorAllocate([int red], [int green],[int blue])

Farbwerte: von 0 bis 255.

 

floodfill:

ImageFill($image, 200, 100, $blue)

 

 

Zeichnen – x,y

Angabe von x,y Koordinaten bei

Rechtecken, Linien:

 

linke obere Ecke: erstes Zahlenpaar

 

-> untere rechte Ecke: zweites Zahlenpaar

 

 

 

Zeichnen - Linien

Linien:

ImageLine($[image handle], [x1], [y1], [x2], [y2], [color handle])

 

imgexample1.php:

<?

  $Image = ImageCreate(400,200);

  $green = ImageColorAllocate($Image,0,255,0);

  $red   = ImageColorAllocate($Image,255,0,0);

  Imageline($Image,10,10,200,150,$red);

  ImagePNG($Image);

  ImageDestroy($Image);

?>

 

 

Zeichnen - Formen

Rechtecke:

ImageRectangle($[image handle],[x1],[y1], [x2],[y2],[color handle])

 

Kreis / Ellipse:

ImageArc($[image handle],[x1],[y1],[width], [height],[start],[end],[color handle])

 

Breite/Höhe: Kreis oder Ellipse...

 

Start/Ende: Kreissegmente...

 

-> imgexample2.php

 

 

Zeichnen - Poly

Polygone:

ImagePolygon($[image handle],[array of vertices],[nr. of vertices], [color handle])

 

Beispiel für array:

$poly[0] = 200;         ...x1

$poly[1] = 20;               ...y1

    

.

    

.

    

.

 

 

 

Zeichnen - Text

Text als Graphik:

ImageString($[image handle],[font],[x],[y], "string,[color handle])

 

font: default: 1(klein) – 5(groß)

 

 

 

images mit HTML aufrufen

<?

$Image=ImageCreate(400,200);

$red=ImageColorAllocate($Image,255,0,0);

ImageLine($Image,0,0,400,200,$red);

ImagePNG($Image,"Image.png");

ImageDestroy($Image);

?>

<html>

<title>Saved image</title>

<p>Here's our image!</p>

<img src="Image.png" />

</html>