Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Text als Grafik generieren

    Jappi

    • Fördermitglied
    • Beiträge: 70
    Text als Grafik generieren
    am: 14. November 2012, 17:28:56
    Hallo zusammen,

    ich möchte in der products_reviews.html gerne einige Texte durch generierte Grafiken ersetzen. So soll z.B. der Name der Bewertung nicht als Text sondern als png ausgegeben werden. Leider komme ich nicht weiter. Wenn ich das hier eingebe

    Code: PHP  [Auswählen]
    {php}
    header("Content-type: image/png");
    $image = @ImageCreate (100, 200)
    or die ("Kann kein neues Bild erzeugen");
    $Hintergrundfarbe = ImageColorAllocate ($image, 255, 255, 255);
    $Textfarbe = ImageColorAllocate ($image, 233, 14, 91);
    ImageString ($image, 10, 50, 50, "Text", $Textfarbe);
    ImagePNG ($image);
    {/php}

    erhalte ich den Fehler "Die Grafik "XYZ" kann nicht angezeigt werden, weil sie Fehler enthält." und eine weiße Seite. Lasse ich

    Code: PHP  [Auswählen]
    header("Content-type: image/png");

    weg, läd die Seite ohne Fehler. Anstelle des Bildes steht dort aber "PNG  IHDRdÈ$òւPLTEÿÿÿé[‘˝£LIDATH‰c`£`„ûÈ<6Æ\<öóϱD$9‰äƒH<ù‡ÈrÌÈr".

    Was mache ich falsch? Idealerweise sollte dann "Text" durch "{$module_data.AUTHOR}" ausgetauscht werden können.

    Gruß,
    Jappi

    Linkback: https://www.modified-shop.org/forum/index.php?topic=23322.0

    adiebler

    • Frisch an Board
    • Beiträge: 52
    • Geschlecht:
    Re: Text als Grafik generieren
    Antwort #1 am: 19. November 2012, 12:56:56
    Hallo Jappi,
    über Smarty direkt funktioniert es nicht, weil der header schon gesendet wurde. Einfach eine neue Datei mit dem Code erstellen.

    image.php:
    Code: PHP  [Auswählen]
    <?php
    header("Content-type: image/png");
    $image = @ImageCreate (100, 200)
    or die ("Kann kein neues Bild erzeugen");
    $Hintergrundfarbe = ImageColorAllocate ($image, 255, 255, 255);
    $Textfarbe = ImageColorAllocate ($image, 233, 14, 0);
    ImageString ($image, 10, 50, 50, $_GET['text'], $Textfarbe);
    ImagePNG ($image);
    ?>

    Und das dann in besagtem Template aufrufen:
    Code: PHP  [Auswählen]
    <img src="image.php?text={$module_data.AUTHOR}">

    Anmerkung: Da modified aus dem Wurzelverzeichnis aus aufgerufen wird, liegt image.php in diesem Beispiel genau da. :)
    1 Antworten
    1619 Aufrufe
    20. Mai 2017, 13:42:36 von awids
    16 Antworten
    13238 Aufrufe
    04. April 2012, 14:48:10 von GTB
    2 Antworten
    2513 Aufrufe
    17. August 2012, 12:07:21 von martinr
    3 Antworten
    2573 Aufrufe
    11. November 2014, 08:45:17 von suma