Antwort schreiben 
 
Themabewertung:
  • 2 Bewertungen - 3 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
[Tutorial] Dynamische Grafiken mit PHP
28-03-2008, 07:45 PM (Dieser Beitrag wurde zuletzt bearbeitet: 16-04-2008 06:37 PM von Toasterfraktion.)
Beitrag: #1
[Tutorial] Dynamische Grafiken mit PHP
Hier zeige ich dir wie man mit PHP Dynamische Grafiken erstellen kann.

Für dieses Tutorial brauchst du nichts weiter als einen normalen Texteditor und natürlich ein Webspace (oder local mit XAMPP) zum testen, welches ich aber in meinen weiteren Tutorials vorraussetze.

Legen wir los!

Wir erstelen nun ein php dokument.

Nun werde ich dir ein paar Befehle zeigen um Grafiken und Grafikelemente zu erstellen.

Um ein leeres bild zu erstellen, nutzen wir
PHP-Code:
imagecreate(int x_sizeint y_size

Für die Höhe und Breite setzten wir Variablen:
PHP-Code:
$breite 150;
$hoehe 150;
$bild1 imagecreate($breite$hoehe); 

Soweit so gut. Nur Das Bild ist noch leer. Jetzt kümmern wir uns um den "Inhalt":
Hintergrundfarbe mit:
PHP-Code:
imagecolorallocate(int imint redint greenint blue

Wir haben hier die Grundfarben Rot, Grün und Blau die "allokiert" werden müssen. Es gibt für jede Farbe Farbanteile. Jeder Farbanteil wird durch einen Wert von 0 bis 255 repräsentiert, genau wie in einer RGB-Farbe.
Der Wert 255 würde nun die "volle" Farbe ausgeben.
Schreiben wir also dazu:
PHP-Code:
$farbe imagecolorallocate($bild1,0,255,0); 
Dies entspricht der Farbe: Grün

Jetzt färben wir das leere Bild mit der Farbe die wir zuvor in $farbe bestimmt haben:
PHP-Code:
imagefill($bild1,0,0,$farbe); 

Jetzt hätten wir, wen wir es ausgeben würden, eine Grafik mit einem grünen Hintergrund in den Maßen 150px zu 150px.

Zum ausgeben müssen wir dem Script nurnoch sagen, um was für eine Grafik es sich handelt (png jpeg usw). Danach geben wir die Grafik wiefolgt aus:
PHP-Code:
header("Content-Type: image/png");
imagepng($bild1); 

Fertig ist das Bild:
[Bild: bilderstellen26536445zn1.jpg]
UNd hier der ganze Code:
PHP-Code:
<?php
$breite 
150;
$hoehe 150;
$bild1 imagecreate($breite$hoehe);
$farbe imagecolorallocate($bild1,0,255,0);
imagefill($bild1,0,0,$farbe);
header("Content-Type: image/png");
imagepng($bild1);
?>

Jetzt können wir noch ein paar Linien erstellen, die sich in der Bildmitte treffen sollen.

PHP-Code:
$linecolor imagecolorallocate($bild100255); 

Mit $linecolor legen wir wieder eine Farbe fest. Wie oben beschrieben.
Nun lassen wir mit
PHP-Code:
imageline(int imint x1int y1int x2int y2int col
Linien zeichnen.

PHP-Code:
imageline($bild100$hoehe$breite$linecolor);
imageline($bild10$hoehe$breite0$linecolor); 

Jetzt geben wir das Bild wieder aus und...
...Fertig ist das Bild:
[Bild: bilderstellen652a3e3zy2.png]
Und hier der ganze Code:
PHP-Code:
<?php
$breite 
150;
$hoehe 150;
$bild1 imagecreate($breite$hoehe);
$farbe imagecolorallocate($bild1,0,255,0);
imagefill($bild1,0,0,$farbe);
$linecolor imagecolorallocate($bild100255);
imageline($bild100$hoehe$breite$linecolor);
imageline($bild10$hoehe$breite0$linecolor);
header("Content-Type: image/png");
imagepng($bild1);
?>

Weitere geometrische Formenwerden mit diesen Funktionen entworfen:

int imagedashedline(int im, int x1, int y1, int x2, int y2, int col)
int imagefilledpolygon(int im, array points, int num_points, int col)
int imagefilledrectangle(int im, int x1, int y1, int x2, int y2, int col)
int imagepolygon(int im, array points, int num_points, int col)
int imagerectangle(int im, int x1, int y1, int x2, int y2, int col)
int imagesetpixel(int im, int x, int y, int col)

EDIT: Sonntag, 30 März 08, 15:11, Toasterfraktion
Texte mit imagettftext(int im, int size, int angle, int x, int y, int col, string fontfile, string text) ausgeben


Mit imagettftext kannst du die Schriftarte, Schriftgröße, Drehung des Textes und die Position bestimmen!

(int im, int size, int angle, int x, int y, int col, string fontfile, string text)

int im = Variable die auf das leere Bild verweist
int size = Schriftgröße
int angle = Drehung in ° (0°-360°)
int x, int y:
Dies beschreibt die Position folgendermaßen:
[Bild: jojozw9.gif]
int col = Schriftfarbe
string fontfile = Schriftart Wichtig! Du musst entweder den Pfad angeben oder die Schriftart muss in dem verzeichnis liegen in dem auch die php liegt.
string text = Hier kommt dein Text rein!

Hier ein Beispiel:
PHP-Code:
<?php
$breite 
500;
$hoehe 500;
$image imagecreate($breite$hoehe);
$color imagecolorallocate($image255255255);
$textcolor imagecolorallocate($image25500);
imagefill($image00$color);
imagettftext($image2015100100$textcolor"arial.ttf""Toastbrot");
imagettftext($image178510060$textcolor"arial.ttf""Muh!");
imagettftext($image6030100400$textcolor"arial.ttf""Hallo Welt!");
header("Content-Type: image/png");
imagepng($image);
?>

Und so sieht es ium Browser aus:
[Bild: bilderstellen3f60e333ig9.png]

Ausgeben, laden und Speichern von Grafiken in PHP
Bild speichern:
Um das Bild nicht auszugeben sondern zu speichern nutzt du das hier:
PHP-Code:
imagejpeg($image"hallowelt.jpg"); 
Bei dieser Variantr wird im Browser folgendes angezeigt:
Zitat:http://localhost/bild%20erstellen3.php
Ich weiß nur nicht warum!

Nur ausgeben mit:
PHP-Code:
imagejpeg($image

Ausgeben und speichern:
Schöner ist es doch wenn man es ausgibt und speichert. Dazu kombiniert du einfach die beiden Befehle!
PHP-Code:
imagejpeg($image);
imagejpeg($image"hallowelt.jpg"); 

Garfik laden und bearbeiten:
Mit der Funktion imagecreatefromjpeg("datei.endung"); kannst du ein Bild laden und bearbeiten. Es stehen alle Funktionen GDLib zur verfügung.

PHP-Code:
$image imagecreatefromjpeg("hallo.jpg");
header("Content-Type: image/jpeg");
imagejpeg($image); 


Fortsetzung folgt!

Wie gefällt euch dieses Tutorial? Feedback Bitte!
Viel Spass damit und Erfolg wünscht
Toasterfraktion

http://easy-geld-im-internet.de/
Webseite des Benutzers besuchenAlle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren unbekannter Browser unbekanntes Os
11-05-2008, 03:40 PM
Beitrag: # |
29-03-2008, 04:47 AM
Beitrag: #2
RE: Dynamische Grafiken mit PHP
so, und weils so toll ich zeig ich maln dynamisches beispiel:

[Bild: code2.png]

man sieht vielleich -> das ist dateiendung png

das geht so:
datei namens .htaccess erstellen mit inhalt

Code:
AddType application/x-httpd-php .png

manchmal muss man htaccess erstellen und sie nachträglich in .htaccess umbenennen
( "." == versteckte datei )
manchmal gehts nicht, und manchmal nicht erlaubt^^ also wenn ihr nen eigenen server habt, dann geht das sicher ;P

[Bild: PrometeusX.png]
Webseite des Benutzers besuchenAlle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren unbekannter Browser unbekanntes Os
29-03-2008, 12:49 PM
Beitrag: #3
RE: Dynamische Grafiken mit PHP
Also das hab ich jetzt net verstanden. Is das nicht per Captcha? Was bewirkt denn die htaccess?
Ich hätte einfach nen CaptchaCode entworfen! Oder?

http://easy-geld-im-internet.de/
Webseite des Benutzers besuchenAlle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren unbekannter Browser unbekanntes Os
29-03-2008, 01:24 PM
Beitrag: #4
RE: Dynamische Grafiken mit PHP
Toasterfraktion schrieb:Hier zeige ich dir wie man mit PHP Dynamische Grafiken erstellen kann.

Für dieses Tutorial brauchst du nichts weiter als einen normalen Texteditor und natürlich ein Webspace (oder local mit XAMPP) zum testen, welches ich aber in meinen weiteren Tutorials vorraussetze.
Fehlt noch die GD-Lib...

Code:
public static void main( String[] args )
{
  System.out.println( "Ich bin die Sig" );
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren unbekannter Browser unbekanntes Os
29-03-2008, 02:58 PM
Beitrag: #5
RE: Dynamische Grafiken mit PHP
Zitat:Fehlt noch die GD-Lib...
Die ist ja bei den Meisten (free+paid) Hostern standartmäßig an Wink (funpic etc)
Das mit der .htaccess ist nur Spielerei aber manchmal sehr nützlich

[Bild: newbieX.gif]
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren unbekannter Browser unbekanntes Os
29-03-2008, 08:48 PM
Beitrag: #6
RE: Dynamische Grafiken mit PHP
Wie kann man da eigenlich die Buchstaben in bestimmten Winkeln anordnen?

[Bild: newbieX.gif]
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren unbekannter Browser unbekanntes Os
30-03-2008, 02:13 PM
Beitrag: #7
RE: Dynamische Grafiken mit PHP
Zitat:Wie kann man da eigenlich die Buchstaben in bestimmten Winkeln anordnen?
Habe es nochmal dazugeschrieben!

http://easy-geld-im-internet.de/
Webseite des Benutzers besuchenAlle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren unbekannter Browser unbekanntes Os
01-04-2008, 06:45 PM
Beitrag: #8
RE: Dynamische Grafiken mit PHP
Hi,
Kleine ergänzung für leute die Diagramme jeglicher art erstellen möchten und wenig aufwand machen möchten (wie meine wenigkeit Smile )
http://www.php-faq.de/q/q-scripte-diagramme.html

[Bild: newbieX.gif]
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren unbekannter Browser unbekanntes Os
06-04-2008, 06:46 PM
Beitrag: #9
RE: Dynamische Grafiken mit PHP
Ich darf davon ausgehen,das ich um ein paar Worte auf ein Bild zu pressen,nur imagecreatefrom[(Datei)] nehmen muss,und dann die Worte an x|y ausgebe^^

Code:
public static void main( String[] args )
{
  System.out.println( "Ich bin die Sig" );
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren unbekannter Browser unbekanntes Os
27-07-2008, 06:08 PM (Dieser Beitrag wurde zuletzt bearbeitet: 27-07-2008 06:09 PM von BlackScript.)
Beitrag: #10
RE: [Tutorial] Dynamische Grafiken mit PHP
übrigens sollte man vielleicht anmerken das dies mit gdlib funktioniert und das der Webspace auch unterstützen muss ..... LoL was ich bei manchem freehoster schon mitbekommen habe nicht installt war

Greetz BlackScript

EDIT: hoppla Abbel hat das ja schon angemerkt .. sorry

mysql_query( "SELECT * FROM user WHERE iq > 5");
Sorry, no results returned.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren unbekannter Browser unbekanntes Os
Antwort schreiben 



KontaktToasterfraktion HomepageNach obenZum InhaltArchiv-ModusRSS-Synchronisation Impressum Partner
Too Cool for Internet Explorer