Sascha Knappe: Font in PHP einbinden

Hallo liebe Forumsteilnehmer,

Ich habe folgende Aufgabenstellung, die scheinbar schon im Ansatz zum Scheitern verurteilt ist.

Ich habe einen Webspace mit Apache 1.3.12, PHP 4.1.2 und Configure Command  './configure' '--with-apache=../apache' '--with-mysql=/usr' '--with-openssl' '--with-zlib' '--enable-debug=no' '--enable-safe-mode=no' '--enable-discard-path=no' '--with-gd' '--with-ttf' '--enable-gd-imgstrttf' '--enable-gd-native-ttf' '--with-png-dir=/usr/lib' '--with-jpeg-dir=/usr/lib' '--enable-ftp' '--enable-memory-limit'

Da wir eine "Nichtstandardschrift" fürd Menü einsetzen müssen, wollen wir die Buttons aus PHP als PNG generieren lassen. Eben mit dieser besagten Schrift. Ich habe aber auch schon Standardschriften ausprobiert. Diese rendert mein script aber auch nicht.

Fehlermeldung:

Warning: ImageFontLoad: error reading font in /www/htdocs/humo/text2png2.php on line 6

Warning:  Could not find/open font in /www/htdocs/humo/text2png2.php on line 8
PNG


IHDR^-Ü$PLTEÿÿÿ¥ÙÝIDATxc£Q0
FÁ°éþ«lIEND®B`

Script

<?php
Header ("Content-type: image/png");
$im = ImageCreate (350, 45);
$black = ImageColorAllocate ($im, 0, 0, 0);
$white = ImageColorAllocate ($im, 255, 255, 255);
$font= ImageLoadFont ("COMIC.TTF");
Imagettftext($im, "Testing... It worked!",
$font, 32, $white, $black, 32, 32);
Imagepng($im, "", 100);//for best quality... your mileage may vary
ImageDestroy ($im);
?>

Schönen Gruß aus München

die knappschaft

--

sh:(  fo:|  ch:?  rl:°  br:$,<,>  n4:&  ie:|  mo:|  va:)  de:]  zu:)  fl:|  ss:|  ls:[,#
  1. Hallo.

    $font= ImageLoadFont ("COMIC.TTF");

    Mal ganz blöd gefragt: Die Datei ist wirklich auch großgeschrieben am Server? Überlich ist ja eher die Kleinschreibung, und Linux/Unix unterscheidet das ja auch.

    Grüße aus Würzburg
    Julian

    --
    resist - Sich dem Irak-Krieg widersetzen!
    Informationen: http://www.resistthewar.de
    http://www.attac.de/globkrieg/
    --
    ss:) zu:{ ls:< fo:) de:< va:} ch:° n4:} rl:° br:> js:| ie:{ fl:( mo:)
    1. Hallo Julian,

      ja, die Datei ist großgeschrieben. Ich bekomme es lokal auf meiner winxp auch nicht zum Laufen...

      Schönen Gruß aus München

      die knappschaft

      --

      sh:(  fo:|  ch:?  rl:°  br:$,<,>  n4:&  ie:|  mo:|  va:)  de:]  zu:)  fl:|  ss:|  ls:[,#
  2. Moin!

    Zunächst einmal: Ich empfehle dir - offenbar hast du den Einfluß auf den Server - mit PHP 4.3.1 zu arbeiten. Da ist die gdlib 2 gleich mit dabei und liefert dank truecolor wesentlich schönere Ergebnisse - und PHP hat noch ein paar nette Grafikbefehle zusätzlich dabei.

    Fehlermeldung:

    Warning: ImageFontLoad: error reading font in /www/htdocs/humo/text2png2.php on line 6

    Warning:  Could not find/open font in /www/htdocs/humo/text2png2.php on line 8

    Die Fehlermeldung ist eigentlich eindeutig: PHP kann die Fontdatei nicht finden. Das liegt meistens daran, dass sich die Datei nicht dort befindet, wo du angegeben hast, und dagegen hilft ganz schlicht die Angabe eines absoluten Pfades.

    - Sven Rautenberg

    --
    Signatur oder nicht Signatur - das ist hier die Frage!
    1. Hallo Sven,

      ich hab es lokal auf meinem Rechner auch schon mit einer absoluten Pfadangabe probiert. Irgendwie will er nicht. Da ich gehört habe, dass php einige Fonts ganz einfach nicht rendern kann, habe ich es auch mit der "simplen" Arial probiert.

      Trotzdem Danke erstmal

      Schönen Gruß aus München

      die knappschaft

      --

      sh:(  fo:|  ch:?  rl:°  br:$,<,>  n4:&  ie:|  mo:|  va:)  de:]  zu:)  fl:|  ss:|  ls:[,#