GDlib - Text und Bild auf Hintergrund überlagern

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • GDlib - Text und Bild auf Hintergrund überlagern

    Hallo,

    ich beschäftige mich momentan mit dem Thema GDlib.
    Zu Realisieren versuche ich momentan die Grafik die unten angehängt ist, in php.
    Das das Script den Text auf die Grafik schreibt funktioniert soweit.
    Nur wie bekomme ich es hin, dass auch das andere BIld (Icon) mit drauf kopiert wird. So wie ich es momentan habe, funktioniert es leider nicht.
    Gibt es eine Funktion mit der man ein temporär erzeugtes GDlib-Bild aufrufen kann, ähnlich dem von imagecreatefromX ?

    Quellcode

    1. <?php
    2. header("Content-Type: image/png");
    3. // Lade Hintergrund
    4. $image_file='bild.png';
    5. $image=imagecreatefrompng($image_file);
    6. //Text
    7. $textcolor=imagecolorallocate($image,0,0,0);
    8. $text='Testtext zum test texten.';
    9. //Schreibe Text auf Bild
    10. imagestring($image,2,8,16,$text,$textcolor);
    11. //Gebe neues Bild mit Text aus
    12. imagepng($image);
    13. //Variablenwechsel
    14. $image=$oldimage;
    15. $oldimage=imagecreatefrompng($image);
    16. //Lade Icon
    17. $icon_file='priest.png';
    18. $icon=imagecreatefrompng($icon_file);
    19. //Kopiere icon auf oldimage
    20. $oldimgsize=getimagesize($image);
    21. $iconsize=getimagesize("priest.png");
    22. imagecopy($icon, $oldimagesize[0], $oldimgsize[1], 0, 0, $iconsize[0], $iconsize[1]);
    23. //Zeige Resultat
    24. imagepng($icon);
    25. //Entleere den Speicher
    26. imagedestroy($icon);
    27. imagedestroy($image);
    28. ?>
    Alles anzeigen


    Ich wäre über eine Antwort sehr dankbar.

    Mit freundlichen Grüßen

    pheno
    Bilder
    • Unbenannt-1.png

      6,42 kB, 300×30, 437 mal angesehen
  • Hallo,

    Du rufst für das Icon folgendermaßen eine Funktion auf:

    Quellcode

    1. $icon = imagecreatefrompng("icon.png");
    2. imagecopy($image, $icon, X, Y, 0, 0, 54, 30);


    X = Abstand von Links
    Y = Abstand von Oben
    54 = Breite Icon
    30 = Höhe Icon
  • Danke für die Antworten. Habe es ausprobiert. Funktioniert aber irgendwie nicht?

    Quellcode

    1. <?php
    2. header("Content-Type: image/png");
    3. // Lade Hintergrund
    4. $image=imagecreatefrompng("bild.png");
    5. //Text
    6. $textcolor=imagecolorallocate($image,0,0,0);
    7. $text='Testtext zum test texten.';
    8. //Schreibe Text auf Bild
    9. imagestring($image,2,8,16,$text,$textcolor);
    10. //Gebe neues Bild mit Text aus
    11. imagepng($image);
    12. //Lade Icon
    13. $icon=imagecreatefrompng("priest.png");
    14. $iconW=imagesx("priest.png");
    15. $iconH=imagesy("priest.png");
    16. //Kopiere icon auf image
    17. imagecopy($image, $icon, 2, 50, 0, 0, $iconW, $iconH);
    18. //Zeige Resultat
    19. imagepng($image);
    20. imagepng($icon);
    21. //Entleere den Speicher
    22. imagedestroy($icon);
    23. imagedestroy($image);
    24. ?>
    Alles anzeigen
  • Wohl eher so:

    Quellcode

    1. <?php
    2. header("Content-Type: image/png");
    3. // Lade Hintergrund
    4. $image=imagecreatefrompng("bild.png");
    5. //Text
    6. $textcolor=imagecolorallocate($image,0,0,0);
    7. $text='Testtext zum test texten.';
    8. //Schreibe Text auf Bild
    9. imagestring($image,2,8,16,$text,$textcolor);
    10. //Lade Icon
    11. $icon=imagecreatefrompng("priest.png");
    12. $iconW=imagesx("priest.png");
    13. $iconH=imagesy("priest.png");
    14. //Kopiere icon auf image
    15. imagecopy($image, $icon, 2, 50, 0, 0, $iconW, $iconH);
    16. //Zeige Resultat
    17. imagepng($image);
    18. //Entleere den Speicher
    19. imagedestroy($icon);
    20. imagedestroy($image);
    21. ?>
    Alles anzeigen
    MfG dynambee
  • Danke, das hat mir sehr weitergeholfen :)
    Script funktioniert nun einwandfrei :D

    Quellcode

    1. <?php
    2. // Lade Hintergrund
    3. $image=@imagecreatefromjpeg("bg.jpeg");
    4. //Text
    5. $chartextcolor=imagecolorallocate($image,0,0,0);
    6. $chartext='Biosynthese';
    7. $lvltextcolor=imagecolorallocate($image,0,0,0);
    8. $lvltext='Level 65, Joblevel 27';
    9. //Schreibe Text auf Bild
    10. imagestring($image,3,40,16,$chartext,$chartextcolor);
    11. imagestring($image,2,40,35,$lvltext,$lvltextcolor);
    12. //Lade Icon
    13. $icon=@imagecreatefromjpeg("icon.jpeg");
    14. $iconW=imagesx($icon);
    15. $iconH=imagesy($icon);
    16. //Kopiere icon auf image
    17. imagecopy($image, $icon, 8, 16, 0, 0, $iconW, $iconH);
    18. //Zeige Resultat
    19. header('Content-type: image/jpeg');
    20. imagejpeg($image);
    21. //Entleere den Speicher
    22. imagedestroy($icon);
    23. imagedestroy($image);
    24. ?>
    Alles anzeigen