Problem mit imagettftext()

Moritz123

Erfahrenes Mitglied
Hallo,
für mein CMS versuche ich gerade einen Bildgenerator zu schreiben, der automatisch die Headergrafiken für die einzelnen Seiten erstellt. Dabei liefere ich einen Template-Header in den dann nur noch der Headertext in einer bestimmten Schriftart einzusetzen ist.
Das Ganze habe ich wie folgt aus einigen Forenbeiträgen zusammengesucht:
PHP:
// CONFIG
$template = "images/header_template.png";
$schrift = $_SERVER["DOCUMENT_ROOT"] . "/sunflower/images/ff.ttf";
$text = $_POST['text'];

if($_SERVER['QUERY_STRING'] == "do"){
	$image = imagecreatefrompng($template);
	$fc = imagecolorallocate($image, 0,0,0);
	imagettftext($image, 10, 0, 20, 14, $fc, $schrift, $text);
	header("Content-type: image/png");
	imagepng($image); 
}
Dabei kommt folgendes heraus:
tut_screenshot.png

Das Template wird dabei ordnungsgemäß geöffnet und der Text an richtiger Stelle eingefügt. Das einzig komische ist, dass man den Text nicht lesen kann. Zunächst dachte ich, dass der Pfad zur Schriftdatei falsch ist, aber dieser müsste eigentlich stimmen. Ich weiß nun nicht mehr weiter und hoffe, Ihr könnt mir sagen, was ich falsch gemacht habe...

Vielen Dank im Vorraus...
 
Hi

ich hab mal nach den Font gegoogelt und den ich gefunden habe
der beinhaltet nur Zahlen, könnte daran liegen, sonst ist mir kein Fehler aufgefallen.

MfG Sven
 
Hallo!

vielen Dank erst mal für deine Auskunft!
Ich habe die font in ff.ttf umbenannt, da sie normalerweise Forgotten Futurist.ttf heißt und mir das zu lang war. Diese Font findest Du bei larabiefonts.com und sie enthält alle Zahlen, Buchstaben und sogar Umlaute.
Das Problem scheint bei mir lokal zu liegen, da ich es einfach mal auf meinem Webserver getestet habe, und es da einwandfrei funktioniert.
Was mir aber aufgefallen ist, ist, dass es scheinbar zwischen GD 1.6 und 2.0 erhebliche Unterschiede bei gleichen Einstellungen gibt.

Eine Frage hätte ich aber dann noch: wie speichere ich das erstellte Bild auf meinem Server?

Vielen Dank1
 
Zurück