|
Erstellt ein Array
Sendet einen HTTP-
Bestimmt die Farbe einer Grafik
Erzeugt ein neues Bild
Draw an ellipse
Zeichnet ein gefülltes Rechteck
Ausgabe des Bildes im Browser oder als Datei
Zeichnen einer Linie
Zeichnen eines Vielecks (Polygon)
Zeichnet ein Rechteck |
Tutorials - Fortgeschritten - Bilder und Thumbnails - ZeichnungenTutorials - FortgeschrittenBilder und Thumbnails: Zeichnungen
In das erstellte, leere Bild fügen wir nun mit imageLine() eine Linie ein. imageline() funktioniert folgendermaßen: imageline( bild, xA, yA, xE, yE, farbe ) xA, yA sind die Anfangspunkte der Linie xE, yE sind die Endpunkte der Linie Farben: Als Farbe kann man leider nicht einfach Worte wie "rot" "blau" oder so benutzen, man muss dem Bild die Farbe hinzufügen, denn ein Bild, das gerade per imageCreate() erstellt wurde, hat noch keine Farben. Auch das Schwarz, das man als Hintergrundfarbe sieht, ist an sich keine Farbe. Es ist nichts. Die erste Farbe, die man per imageColorAllocate dem Bild zuweist benutzt PHP als Hintergrundfarbe. Im Beispiel wird dies Schwarz sein (0, 0, 0) (kein Rot, kein Grün, kein Blau --> kein Nix --> Schwarz) Weitere Farben speichert man am besten in einer Variablen, so dass man sie später wieder benutzen kann: $farbe = imageColorAllocate( bild, rotwert, grünwert, blauwert ) - die Farbwerte jeweils von 0 bis 255 Nun ja, viele Worte... hier eine gelbe Linie quer durch das Bild mit schwarzem Hintergrund: <?php header("Content-Type: image/jpeg"); $BILD = imageCreate(400,300); /* Bild erstellt, Bild absolut leer */ imageColorAllocate($BILD,0,0,0); /* erstes Allocate -> der Hintergrund des Bildes wird Schwarz sein */ $gelb = imageColorAllocate($BILD,255,255,0); /* rot: 255, grün: 255, blau: 0 --> gelb, siehe Farbenlehre */ imageLine($BILD,0,0,400,300,$gelb); /* eine gelbe Linie von (0, 0) bis (400, 300) */ imageJPEG($BILD); ?> <?php header("Content-Type: image/jpeg"); $BILD = imageCreate(400,300); $schwarz = imageColorAllocate($BILD,0,0,0); /* 1. Allocate -> daher Hintergrund schwarz */ $rot = imageColorAllocate($BILD,255,0,0); /* weitere Farben */ $grün = imageColorAllocate($BILD,0,255,0); $gelb = imageColorAllocate($BILD,255,255,0); $blau = imageColorAllocate($BILD,0,0,255); for($x = 0; $x <= 400; $x += 10) { /* $x durchwandert nun von 0 bis 400 */ imageLine($BILD, $x, 0, 400, 300, $rot); /* die roten Strahlen gehen von oben ($x, 0) nach rechts unten (400, 300) */ imageLine($BILD, $x, 300, 400, 0, $gelb); /* die gelben von unten ($x, 300) nach rechts oben (400, 0) */ imageLine($BILD, $x, 0, 0, 300, $grün); /* die grünen von oben ($x, 0) nach links unten (0, 300) */ imageLine($BILD, $x, 300, 0, 0, $blau); /* die blauen von unten ($x, 300) nach links oben (0, 0) */ } imageJPEG($BILD); ?> <?php header("Content-Type: image/jpeg"); $BILD = imageCreate(400,300); $schwarz = imageColorAllocate($BILD, 0, 0, 0); $rot = imageColorAllocate($BILD, 255, 0, 0); $grün = imageColorAllocate($BILD, 0, 255, 0); $gelb = imageColorAllocate($BILD, 255, 255, 0); $blau = imageColorAllocate($BILD, 0, 0, 255); imageRectangle($BILD, 10, 10, 390, 290, $rot); /* Rechteck - von x, y, bis x, y */ imageEllipse($BILD, 200, 150, 280, 280, $grün); /* Ellipse - Mittelpunkt x, y, Höhe, Breite */ imageFilledRectangle($BILD, 160, 140, 240, 160, $blau); /* gefülltes Rechteck - von x, y, bis x, y */ $Eckpunkte = array( /* Diese Eckpunkte werden für das Dreieck benutzt */ 150,100, /* 1.Eckpunkt x, y */ 250,100, /* 2.Eckpunkt x, y */ 200,150); /* 3.Eckpunkt x, y */ imagePolygon($BILD, $Eckpunkte, 3, $gelb); /* Dreieck - Array mit Eckpunkten, Anzahl der Punkte */ imageJPEG($BILD); ?> (/run/Tutorials/.../x.html ist die PHP-Datei, in der das letzte Script drinne is) <html> <body style="background-color:black; color:white; font-weight:bold"> Eine kleine PHP-Zeichnung:<br /> <img src="/run/Tutorials/Fortgeschritten/Bilder_und_Thumbnails/Zeichnungen/2.html" /> </body> </html> |