Der Martin: Die Grafik kann nicht angezeigt werden, weil sie Fehler enthält.

Beitrag lesen

Hi,

<?php

header("Content-type: image/png");
$string = "Text zum testen";
$im     = imagecreatefrompng("bild.png");
$black = ImageColorAllocate ($im, 0, 0, 0);
ImageTTFText ($im, 20, 0, 28, 104, $black, "arial.ttf", $string);
imagealphablending($im, false);
imagesavealpha($im, true);
imagepng($im);
imagedestroy($im);
?>

  
bist du sicher, dass du eine Truetype-Schriftdatei arial.ttf auf deinem Server im Scriptverzeichnis hast? Und wenn du sie da hast, dass du das aufgrund der Rechte und Lizenzen überhaupt darfst?  
  

> Das png Bildchen hat transparente Bereiche. Leider ist es jedoch so, das sobald ich den Text nutze, die Fehlermeldung "Die Grafik kann nicht angezeigt werden, weil sie Fehler enthält." (mit URL Angabe)  
  
Ja. PHP schmeißt aufgrund der Zeile mit imagettftext() eine Fehlermeldung, weil die Datei arial.ttf nicht gefunden wird. Und diese Fehlermeldung wird mitten in die Ausgabe gemischt, also in die binären Bilddaten hinein. Dass ein Programm zur Darstellung von PNG-Bildern mit diesem Kauderwelsch nichts mehr anfangen kann, dürfte klar sein.  
  

> Was mache ich falsch oder wie gehts richtig?  
  
Benutze eine Schriftart, die du auch auf diese Art verwenden darfst (das kommt einer Wiederveröffentlichung gleich), und sorge dann dafür, dass die Truetype-Datei auch für das Script erreichbar ist.  
  
Ciao,  
 Martin  

-- 
[Dieser Satz](http://community.de.selfhtml.org/zitatesammlung/zitat262) wurde in mühsamer Kleinstarbeit aus einzelnen Wörtern zusammengesetzt.  
  (Hopsel)