Ankündigung

Einklappen
Keine Ankündigung bisher.

Textfarbe auf Bild mit imagestring

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Textfarbe auf Bild mit imagestring

    Hallo, ich bin Anfänger in Php und kenne nur die Grundlagen.

    Für mein kleines Webprojekt wollte ich ein Kalender Icon machen auf dem jeden Tag der Monat und den Tag des Monats angezeigt wird.
    Kurz gegoogelt und auch viel brauchbares gefunden.
    Variablen und Pfade angepasst und ein Bild wird auch mit meinem gewünschten Text generiert und gespeichert.

    Nur kann ich die Textfarbe nicht ändern.
    Es ist ein gelbes Kalendericon und der Text erscheint darauf IMMER in gelb!
    Mann sieht es also nicht (habe nur durch kleine weiße Bereiche im Bild gesehen, dass überhaupt ein Text da ist)

    PHP-Code:
    <?php
    $image_path 
    $_SERVER['DOCUMENT_ROOT']."/assets/gallery/2/30.png";
    $img imagecreatefrompng($image_path); 
    //$textColor = imagecolorallocate($img, 0, 0, 0);
    $textColor 0x00000000;

    //$font = $_SERVER['DOCUMENT_ROOT'].'/assets/templates/jcb/font/arial.ttf';
    //imagettftext($img, 18, 0, 18, 18,$textColor,$font, "Hallo");
    imagestring($img31010"Hallo"$textColor);

    $path $_SERVER['DOCUMENT_ROOT']."/assets/gallery/2/30" "_" $day "_" $month .".jpg" ;

    $image imagejpeg($img$path);
    imagedestroy($img);

    return 
    $month " "$day " " $image_path " " $path " " $font;
    Wie man sieht habe ich 2 versch. funktionen getestet und auch versucht die Farbe anders auszudrücken(in hex und laut dokumentation). Ohne erfolg .. die Farbe des Textes bleibt gelb!

    Vllt. hat einer eine Idee was das Problem sein könnte.

    //EDIT: Cache ausgeschlossen da bei jedem versucht geleert und bild gelöscht


  • #2
    Diesen Schnipsel hab ich mir mal aufgehoben zum testen.
    Schreibt TEST auf das testbild und speichert es unter testbild_mit_text.png ab.
    PHP-Code:
    $img imagecreatefrompng("testbild.png"); 
    $text_color ImageColorAllocate ($img000);  //schwarz
    ImageString ($img31010'TEST',$text_color);
    ImagePNG ($img,'testbild_mit_text.png'); 
    Teste dies mal mit Bildern von dir.
    PHP-Klassen auf github

    Kommentar


    • #3
      Nur eine Vermutung, nicht ausprobiert, aber Du lädst ein PNG, setzt den Text drauf und speicherst es dann als JPG.
      Kann es sein, daß es durch Alphatransparenz des Quellbildes zu einer Füllmethode des Textes kommt, die diesen gelblich erscheinen lässt?
      Competence-Center -> Enjoy the Informatrix
      PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

      Kommentar


      • #4
        Vielen Dank für eure Antworten!

        Vor allem der Tipp mit der Transparenz hat mich weiter gebracht.
        Ich hatte transparente stellen im Bild.. hatte nun den Hintergrund auch weiss gemacht, so dass keine Transparenz mehr da ist.. aber auch damit hat es nicht funktioniert.
        Habe es dann als jpg gespeichert und auch mit
        PHP-Code:
        imagecreatefromjpg 
        geladen und als .jpg gespeichert und es funktioniert!

        Ka warum das mit nicht transparenten png trotzdem nicht funktioniert

        ...wäre vllt. noch ein bisschen besser wenn es dann noch mit transparent funktioniert aber geht auch so...

        Kommentar

        Lädt...
        X