gdlib-Problem / ImageTTFText will nicht

poolpage

Erfahrenes Mitglied
Hallo zusammen,

mein Webprovider unterstützt seit neuem die gdlib, und ich wollte heute abend die Funktionen austesten. Die Grafik selbst geht soweit, nur mit den Schriften happert es noch. Gemäss phpinfo() unterstützt der Provider folgendes:

gd
GD Support enabled
GD Version 1.6.2 or higher
FreeType Support enabled
FreeType Linkage with freetype
JPG Support enabled
PNG Support enabled
WBMP Support enabled


Wie kann ich nun Schriften schreiben? Habe absolut keine Ahnung - mit folgendem Skript und dem auf den Server geuploadeteten Schrift "ARIAL.TTF" funktioniert es jedenfalls nicht...

PHP:
<?php
Header ("Content-type: image/gif");
$im = imagecreate (400, 30);
$black = ImageColorAllocate ($im, 0, 0, 0);
$white = ImageColorAllocate ($im, 255, 255, 255);
ImageTTFText ($im, 20, 0, 10, 20, $white, "/ARIAL.TTF", "Teste... Omega: ?");
Imagepng ($im);
ImageDestroy ($im);
?>

Ich müsste einfach Text schreiben können und wäre froh wenn ihr mir da helfen könntet :)

Besten Dank & Gruss,
poolpage
 
Du musst, wenn Du ein Bild mit imagepng() erzeugst auch den richtigen Header ausgeben (Du gibst image/gif aus)

hilft das?


Dunsti
 
Wenn es einfach nur text sein soll geht das auch mit imagestring().
Beispiel:

PHP:
<?php
Header ("Content-type: image/png");
$im = imagecreate (400, 30);
$black = ImageColorAllocate ($im, 0, 0, 0);
$white = ImageColorAllocate ($im, 255, 255, 255);
Imagestring ($im, 1, 0, 10, "Teste... Omega: ?",$col);
Imagepng ($im);
ImageDestroy ($im);
?>

Der zweite Parameter ist eine Zahl von 1 bis 5, PHP benutzt interne hier interne Schriftarten, musste experimentieren wie das dann aussieht. 0, 10 sind die Koordinaten wo der String anfangen soll

ich hoff das hilft
 
@ Dunsti

*grml* vor lauter testen habe ich das offensichtlichste falsch gepostet. Aber es geht auch mit dem richtigen Header (image/png) nicht...

Status neu: Er zeigt im IE die richtige Bildgrösse an, aber es kommt immer noch das Bild-nicht-gefunden-Pic... http://www.lbf.ch/lbf/pics/pic.php

@ siddian

"nur Text"... Naja, im Endeffekt muss ich die Schriftart eben festlegen können... imagestring() funktioniert aber, allerdings gefallen mir die Schriftarten da überhaupt nicht... Und ImageTTFText muss ja irgendwie zum laufen gebracht werden können...

Danke für Eure Hilfe & Gruss,
poolpage
 
dein fehler ist hoechstwarscheinlich hier:

PHP:
ImageTTFText ($im, 20, 0, 10, 20, $white, "/ARIAL.TTF", "Teste... Omega: ?");

/ARIAL.TTF <-- im root des webservers ist der Font garantiert nicht... sondern wie ich vermute, im selben verzeichnis wie das script, also:

PHP:
ImageTTFText ($im, 20, 0, 10, 20, $white, "./ARIAL.TTF", "Teste... Omega: ?");
 
dann zeig doch nochmal deinen quellcode ...
in deinem ersten post sendest du einen gif-header und willst ein png schreiben .. das klappt natuerlich nicht wirklich..

evtl. findet er den font auch nicht: gross-klein-schreibung im dateinamen!!!

und mach keinen / vor den font! das ist das root des servers nicht, das webroot.
 
http://www.lbf.ch/lbf/pics/pic.php

PHP:
<?php
Header ("Content-type: image/png");
$im = imagecreate (400, 30);
$black = ImageColorAllocate ($im, 0, 0, 0);
$white = ImageColorAllocate ($im, 255, 255, 255);
ImageTTFText ($im, 20, 0, 10, 20, $white, "ARIAL.TTF", "Test");
Imagepng ($im);
ImageDestroy ($im);
?>

Die ARIAL.TTF liegt - genau so geschrieben - im Ordner http://www.lbf.ch/lbf/pics

Gruss,
poolpage
 
hm... also fals dich das beruhigt, bei meinem provider (cdaweb) funkt auch das komplette gfx-set mit allem drum und dran und für sämtliche formate, aber imagettftext funkt einfach nicht...

ich denke das liegt irgendwie an den einstellungen

greets, xxenon
 
bist du auch wirklich sicher das die FreetypeLib auf dem Server installiert ist? es scheint naemlich nicht der Fall zu sein. :-)
 
Zurück