Hallo,
ich erzeuge eine PNG-Grafik, die Text enthält. Online sieht die Grafik jedoch anders aus als lokal, obwohl ich die Schriftart auf den Server geladen habe. Woran kann das denn liegen?
Die Grafiken erstelle ich so:
Code:
$text_data = imagettfbbox($font_size, 0, $font_name, $text);
$text_width = $text_data[2] - $text_data[0];
$text_height = $text_data[1] - $text_data[7];
$img_text = imagecreatetruecolor($text_width, $text_height+3);
if ($img_text)
{
imagesavealpha($img_text, true);
$col_transp = imagecolorallocatealpha($img_text, 0, 0, 0, 127);
imagefill($img_text, 0, 0, $col_transp);
$font_color = imagecolorallocate($img_text, 0, 0, 0);
imagettftext($img_text, $font_size, 0, 0, $text_height, $font_color, $font_name, $text);
imagepng($img_text, $file_path);
imagedestroy($img_text);
}
Fragt bitte nicht, wieso ich
$text_height+3 verwenden muss. Anders stimmte die Höhe nicht.
Im Anhang seht ihr das Ergebnis: Oben, wie es aussehen sollte und wie's lokal aussieht. Unten wie es der Server online erzeugt (zu breit).
Grüße