Ankündigung

Einklappen
Keine Ankündigung bisher.

ImageTTFText mehrzeilig zentrieren

Einklappen

Neue Werbung 2019

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

  • wizzardxx
    hat ein Thema erstellt ImageTTFText mehrzeilig zentrieren.

    ImageTTFText mehrzeilig zentrieren

    Hallo,
    ich habe bei der Suche zwar jede menge �ber die Funktion Imagettftext
    und imagettfbbox gefunden allerdings nichts �ber mehrzeiligen Text.

    Einen Text zentriert auf ein Bild zu schreiben habe ich jetzt hinbekommen aber was ist wenn der mehrzeilig ist.

    Mein Ergebnis sieht immer so aus:

    Das ist ein Text
    Das ist auch ein Text

    Was ich brauche ist sowas:

    ___Das ist ein Text
    _Das ist auch ein Text

    Hier mal mein Code:
    PHP-Code:
    <?php
    header
    ("Content-type: image/gif");

    $x 200;
    $y 100;

    $text 'Das ist ein Text
    Das ist auch ein Text'
    ;
    $font '/ttf/arial.ttf';

    $img imagecreatetruecolor($x$y);
    $php_blau imagecolorallocate($img119123180);
    $schwartz imagecolorallocate($img000);
    imagefilledrectangle($img00$x$y$php_blau);

    // Den umschlie�enden Rahmen des Textes bestimmen
    $size imagettfbbox(120$font$text);

    //Breite des Textes berechnen
    $breite $size[4] - $size[6];

    //H�he des Textes bestimmen
    $hoehe $size[1] - $size[7];

    // x-Koordinate berechnen
    $x = ($x $breite) /2;

    // y-Koordinate bestimmen
    $y = ($y $hoehe) /2;

    // Text mit TrueType-Font in Grafik schreiben
    imagettftext($img120$x$y$schwartz$font$text);

    // Grafik anzeigen und Speicher freigeben
    imagepng($img);
    imagedestroy($img);

    // Breite des Textes berechnen
    $breite $size[4] - $size[6];

    // H�he des Textes berechnen
    $hoehe $size[1] - $size[7];

    // x-Koordinate berechnen
    $x = ($x $breite) /2;

    // y-Koordinate berechnen
    $y = ($y $hoehe) /2;
    ?>
    Bei Google habe ich auch zig Sachen gefunden aber nirgendwo wird
    auf mehrzeilige Texte eingegangen.
    Danke schonmal f�r Hilfe.

  • Gast-Avatar
    Ein Gast antwortete
    Mit wordwrap() wirst du nicht weit kommen, da imagettftext() keine Zeilenumbrüche verarbeitet.
    Es nutzt also nichts.

    Du musst schon deine Zeilen einzeln auslesen und auch einzeln mit imagettftext() schreiben.
    Prinzip:
    http://www.cix88.de/cix_php/php_graf...textzeilen.php

    Nur das bei dem Beispiel der Text nicht zentriert ist.

    Einen Kommentar schreiben:


  • wizzardxx
    antwortet
    Hallo,
    danke CIX88 für deinen Tip.
    Ich habe mir die Seite mal angesehen.
    Ich weis jetzt nicht ob ich das alles richtig verstanden habe was da an beispielen steht. Aber ist es richtig das die function wordwrap() das macht was ich möchte? Oder liege ich da falsch?

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Schau dir mal das an:
    http://php3.de/imagettfbbox

    Du müsstest dein Text zeilweise einlesen, die Breite der Zeile ermitteln, naja und der Rest ist nur etwas Mathe.
    Dann dann Text bzw. die Zeile ausgeben.

    Einen Kommentar schreiben:

Lädt...
X