Codeigniter imagettftext() Problem – Could not read font

Jun 23, 2009 by Benjamin    No Comments    Posted under: Coding

Wer mit Codeigniter (1.7.1) und der PHP-Funktion imagettftext() versucht Text in ein Bild zu schreiben wird – zumindest wenn er eine XAMPP Umgebung unter Windows nutzt – auf seltsame Probleme stoßen.

Trotz korrektem Pfad zur integrierten Schrift, der texb.ttf, tritt nämlich die Fehlermeldung imagettftext: Could not read font auf. Da hilft kein experimentieren oder ändern des Pfades, es hilft nur eine neue Schriftart, denn offensichtlich ist diese Schriftart defekt oder funktioniert unter Windows nicht korrekt (unter Linux habe ich es noch nicht getestet). Massig coole Schriftarten gibt’s übrigens bei dafont. Die neue Schriftart sollte dann im dafür vorgesehenen Ordner system/fonts/ gespeichert werden.

Und hier nochmal ein kleines Snippet, das zeigt wie man dann mit der neuen Schriftart Texte in Bilder schreibt:

// Bild erzeugen, Farbe allokieren
$width = 400;
$height = 100;
$im = imagecreate($width, $height);
$background_color = ImageColorAllocate ($im, 255, 255, 255);
$text_color = ImageColorAllocate ($im, 0,0,0);
 
// schreiben
$text = 'TEXT';
$font_size=60;
$angle=0;
$x=30;
$y=80;
$font_path     = './system/fonts/neue_schriftart.ttf';
imagettftext($im, $font_size, $angle, $x, $y, $text_color, $font_path, $text);
 
// Bild ausgeben
header("Content-type: image/png");
ImagePNG ($im);
ImageDestroy($im);

Ich habe in diesem Fall ein png erstellt. Den Code umzubauen, so dass ein gif oder jpeg erzeugt wird, sollte aber kein Problem sein.

Got anything to say? Go ahead and leave a comment!

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">

Mein Skillset

  • OOP
  • Java
  • Android
  • Facebook Entwicklung: FBML & Co.
  • PHP mit CodeIgniter, Zend Framework
  • Javascript / AJAX mit jQuery
  • MySQL
  • (X)HTML, CSS, XML, JSON etc.
  • SVN zum source code management (SCM)
  • Kontakt

    Mail: mail {at} benjaminmock.de
    Mobil: 0176 32077839

    Your Name(required) / Ihr Name (Pflichtfeld)

    Your Email (required) / Ihre Email (Pflichtfeld)

    Your message / Ihre Nachricht

  • Kategorien

    Benjamin Mock