Mailinglisten-Archive |
Hi Sven,
> Teste das mal bei dir. Bei mir wird der Text in das Bild geschrieben.
> Wenn das klappt, müsste das Problem irgendwas mit dem Font oder den
> Berechnungen dort zu tun haben.
Tja, ich würde sagen: Volltreffer !
Es lag tatsächlich daran !!
Ich bin alles Zeile für Zeile durchgegangen,
und hab alles bzgl. der Schrift ersetzt, allena Variablen feste Werte
gegeben... und siehe da - es klappt !!
so siehts jetzt mal aus ;-) :
/**
* AddTextWatermark
* platziert einen geg. (einzeiligen) Textstring in geg. (JPG)Bilddatei
*/
function AddTextWatermark($SrcImgPath,$TxtString) {
/* Allg. Variablen */
$FontType = 'proggyclean.gdf';
$PaddingHeight = 4;
$PaddingWidth = 8;
$transparency = 80;
$RGBValuesBG = array(174,171,182);
$RGBValuesFont = array(255,255,255);
/* Pruefen, ob Font vorhanden und Laden */
if(file_exists($FontType)) {
$FontType = imageloadfont($FontType);
} else {
return FALSE; }
/* Abmessungen d. Wasserzeichens festlegen */
$StringWidth = imagefontwidth($FontType) * strlen($TxtString)+$PaddingWidth;
$StringHeigth = imagefontheight($FontType) + $PaddingHeight;
/* Text- und Hintergrundfarbe,Handler fuer Wasserzeichen */
$StrImg = imagecreate($StringWidth,$StringHeigth);
$BackColor = imagecolorallocate($StrImg,RGBValuesBG[0],RGBValuesBG[1],RGBValuesBG[2]);
$TxtColor = imagecolorallocate($StrImg,$RGBValuesFont[0],$RGBValuesFont[1],$RGBValuesFont[2]);
/* Handler d. Textbildes mit Text versehen */
imagestring($StrImg,$FontType,$PaddingWidth/2,$PaddingHeight/2,$TxtString,$TxtColor);
/* Handler vom Orginalbild erstellen */
$SrcImg = imagecreatefromjpeg($SrcImgPath);
/* Aus beiden Handlern ein Bild machen (StrImg in SrcImg einkopieren) */
imagecopymerge($SrcImg,$StrImg,0,0,0,0,$StringWidth,$StringHeigth,$transparency);
/* Neues Bild (Orginalbild mit Beschriftung) ueberschreiben */
imagejpeg($SrcImg,$SrcImgPath);
} // function AddTextWatermark
Vielen herzlichen Dank für Deine Hilfe !!
Grüße,
Daniel
php::bar PHP Wiki - Listenarchive