Ich benötige für ein aktuelles Projekt elf Grafiken in jeweils drei Zuständen in wiederum je 14 Sprachen für die Navigation. Das macht nach dem alten Tschechen Adam R. 462 Bildchen.
Um mir Arbeit zu sparen, habe ich zur Erzeugung der selbigen die GDlib vergewaltigt. Sobald der Besucher die Seite betritt, lädt ein Javascript alle benötigten Grafiken je nach gewählter Sprache vor und kümmert sich um den Rest. Das funktioniert auch trotz solch' linguistischer Entgleisungen wie Griechisch oder Polnisch bestens. Allerdings nur lokal ...
Um den Text der auf die existente Roh-Grafik zu zimmern, verwende ich folgenden Code (erklärt sich, denke ich, von selber):
PHP-Code:
<?php
require("captions.data.php");
$button = imagecreatefrompng("button_".$_GET["mode"].".png");
$caption = ${$_GET["lang"]}[$_GET["caption"]];
$textColor1 = imagecolorallocate($button,51,51,51);
$textColor2 = imagecolorallocate($button,255,255,255);
imagettftext($button,12,0,16,26,$textColor1,"font.ttf",$caption);
imagettftext($button,12,0,15,25,$textColor2,"font.ttf",$caption);
header("Content-type: image/png");
imagepng($button);
imagedestroy($button);
?>
Wenn ich das Teil aber nun zwecks Test auf den Server des Kunden (ein »Power Paket 4.0« der Marke 1&1) lade, werden mir nur die unbeschrifteten Roh-Grafiken ausgegeben. Rufe ich das erzeugende Script mit entsprechenden Parametern direkt über den URL, auf passiert erwartungsgemäss das Gleiche -- eine Fehlermeldung oder Ähnliches tut sich nicht auf.
Hier die Konfiguration des Servers laut
phpinfo():
'./configure' '--with-mysql=/usr' '--with-zlib' '--enable-debug=no' '--enable-safe-mode=no' '--enable-discard-path=no' '--with-gd=/usr' '--with-png-dir=/usr/lib' '--enable-track-vars' '--with-db' '--with-gdbm' '--enable-force-cgi-redirect' '--with-ttf=/usr/' '--enable-ftp' '--with-mcrypt' '--enable-dbase' '--enable-memory-limit' '--enable-calendar' '--enable-wddx' '--enable-trans-sid' '--with-jpeg-dir=/usr/src/kundenserver/jpeg-6b' '--enable-bcmath' '--enable-gd-imgstrttf' '--enable-shmop' '--enable-mhash' '--with-mhash=/usr/src/kundenserver/mhash-0.8.9/' '--with-openssl' '--enable-xslt' '--with-xslt-sablot' '--with-imap' '--with-curl' '--with-iconv=/usr/local' '--with-freetype-dir=/usr/include/freetype2' '--with-bzip2' '--with-gettext' '--enable-exif'
Da scheint doch alles Notwendige vorhanden zu sein, oder? Wäre nett, wenn jemand einen Tipp hätte.
P.S. Was im Gegensatz zum lokalen Server auch nicht funktionieren will, ist das on-the-fly Erzeugen von Thumbnails aus JPEGs -- allerdings werde ich dazu wohl noch einen eigenen Thread eröffnen. Aber vielleicht liegt der Hase ja bei beiden Problemem im selben Pfeffer.