Bild dynamisch mit Farbe füllen

br3doxx

Mitglied
Ich versuche mich gerade an der Erstellung dynamischer Bilder anhand eines vorhandenen Bildes. Dieses sollte wenn möglich mit 2-3 vorher über ein Formular gesendete Farben gefüllt werden. Ich habe im Netz ein Script gefunden, mit dem ich ein Text auf das Bild schreiben kann. Nur leider bekomme ich das Bild nicht innerhalb des Rahmens gefüllt.

PHP:
<?php
Header("Content-Type: image/png");

$width = 150; // Später die Breite des Rechtecks
$height = 120; // Später die Höhe des Rechtecks
$img = ImageCreateFromPNG('http://de.academic.ru/pictures/dewiki/49/150px-Jersey_white.svg.png'); # Hier wird das Bild einer von einem Vorhandenen Bild benutzt (hier: g.jpg)

$black = ImageColorAllocate($img, 0, 0, 0); # Hier wird die Farbe schwarz einer Variable zugewiesen
$red = ImageColorAllocate($img, 255, 0, 0); # Hier wird die Farbe rot einer Variable zugewiesen
$yellow = ImageColorAllocate($img, 255, 255, 0); # Hier wird die Farbe gelb einer Variable zugewiesen 

$black = ImageColorAllocate($img, 0, 0, 0); # Farbe schwarz mit $black festlegen

$font_height = ImageFontHeight(3); # Hier wird die Schrifthöhe mit 3 belegt (hier könnt ihr mit den Werten rumprobieren)

$font_width = ImageFontWidth(3); # Hier wird die Schriftbreite mit 3 belegt (hier könnt ihr mit den Werten rumprobieren)

$image_height = ImageSY($img); # Hier wird in einer Variable die Höhe des Bildes (hier g.jpg) gespeichert

$image_width = ImageSX($img); # Hier wird in einer Variable die Breite des Bildes (hier g.jpg) gespeichert

$text = 'LLCoolDannY!'; # Hier ist der Text, der später im Bild stehen soll

$length = $font_width*strlen($text); # Hier wird die Schriftbreite an das Bild angepasst

$image_center_x = ($image_width/2)-($length/2);
$image_center_y = ($image_height/2)-($font_height/2);

ImageString($img, 3, $image_center_x, $image_center_y, $text, $black);

ImagePNG($img); # Hier wird das Bild PNG zugewiesen
ImageDestroy($img) # Hier wird der Speicherplatz für andere Sachen geereinigt
?>
 
Zurück