MMeier: PHP mit GD Probleme mit Textfarben in jpg

Hallo,

ich hoffe ihr koennt mir helfen denn ich habe folgendes Problem:

Ich will mit PHP und GD ein jpeg einlesen, einen text in einer bestimmten Farbe auf das Bild schreiben und die Datei abspeichern.

es funzt eigentlich alles ausser, dass die textfarbe nicht dem angegebenen RGB wert entspricht. wahrscheinlich is es irgendein dummer fehler. (wenn ich ein bild erzeuge mit zb weissem hintergrund ist rot auch rot, sonst richtet er sich irgendwie nach dem eingelesen jpg)

jetzt ein kleiner code auszug

<?php
$im = imagecreate (400, 300);
$white = ImageColorAllocate ($im, 255, 255, 255);
$red = ImageColorAllocate ($im, 255, 0, 0);
ImageFilledRectangle ($im, 0, 0, 400, 300, $white);
//$im = @ImageCreateFromJPEG ("test1.jpg");
ImageTTFText ($im, 30, 0, 10, 30,$red, "d:/winnt/fonts/arial.ttf","Test Text");
ImageJpeg ($im,"h1.jpg",100);
ImageDestroy ($im);
echo "<A HREF=h1.jpg>aufrufen</A>";
?>

wenn ich diesen code ausfuehre kommt ein weisses bild mit rotem text (wie gewollt) wenn ich die auskommentierte zeile 'aktiviere' kommt bei meinem bild gruener text (schade).

wie man am ttf pfad sieht handelt es sich um winnt. mit php4.0.2 gd 1.6.2 or higher.

ich waere unendlich dankbar wenn mir jemand von euch helfen koennte.

danke

MMeier

  1. Hi MMeier,

    kann nur spekulieren (ja, ich weiß - dann sollte ich nicht posten...)

    Offensichtlich werden die Schrift- und Hintergrundfarben addiert oder sonstwie miteinander "verpriemelt".
    Wenn Du mit einem Bild, welches einen anderen Hintergund hat, auf einmal eine andere Textfarbe als "grünlich" erhälst, ist es sogar 99% so.

    Vielleicht doch besser mit einem Bildbearbeitungsprogramm?

    Grüße,
    Martin

  2. Hi MMeier,

    das Problem habe ich auch! Ich glaube nicht das dir jemand in diesem Forum helfen kann. Bis her habe ich noch niemanden gefunden der mirr dabei weiterhelfen konnte.

    Sorry,

    Michael

    Hallo,

    ich hoffe ihr koennt mir helfen denn ich habe folgendes Problem:

    Ich will mit PHP und GD ein jpeg einlesen, einen text in einer bestimmten Farbe auf das Bild schreiben und die Datei abspeichern.

    es funzt eigentlich alles ausser, dass die textfarbe nicht dem angegebenen RGB wert entspricht. wahrscheinlich is es irgendein dummer fehler. (wenn ich ein bild erzeuge mit zb weissem hintergrund ist rot auch rot, sonst richtet er sich irgendwie nach dem eingelesen jpg)

    jetzt ein kleiner code auszug

    <?php
    $im = imagecreate (400, 300);
    $white = ImageColorAllocate ($im, 255, 255, 255);
    $red = ImageColorAllocate ($im, 255, 0, 0);
    ImageFilledRectangle ($im, 0, 0, 400, 300, $white);
    //$im = @ImageCreateFromJPEG ("test1.jpg");
    ImageTTFText ($im, 30, 0, 10, 30,$red, "d:/winnt/fonts/arial.ttf","Test Text");
    ImageJpeg ($im,"h1.jpg",100);
    ImageDestroy ($im);
    echo "<A HREF=h1.jpg>aufrufen</A>";
    ?>

    wenn ich diesen code ausfuehre kommt ein weisses bild mit rotem text (wie gewollt) wenn ich die auskommentierte zeile 'aktiviere' kommt bei meinem bild gruener text (schade).

    wie man am ttf pfad sieht handelt es sich um winnt. mit php4.0.2 gd 1.6.2 or higher.

    ich waere unendlich dankbar wenn mir jemand von euch helfen koennte.

    danke

    MMeier