Cherubim: GDLib: Zeilenumbruch in Text

Hi,

ich beginne gerade ein bisschen mir GDLib anzusehen. Ist  im Prinzip sehr einfach zu handhaben, das einzige was mir momentan Probleme bereitet sind Zeilenumbrüche in Text.
Ich möchte Text in ein Bild einfügen. Das mache ich per imagettftext(). Soweit kein Problem. Jetzt soll der Text aber natürlich nach einer bestimmten Länge umgebrochen werden, da er sonst aus dem Bild rausgeht. Wie mache ich das? \n wird nicht akzeptiert, das wird in ein seltsames Zeichen umgewandelt. Desweiteren frage ich mich, wie ich überhaupt die 'Länge' des Textes messen soll, damit er zb. an beiden Bildseiten gleich viel Abstand zum Rand hat.

Danke für eure Hilfe.

  1. Hello,

    Es gibt (glaube ich jedenfalls) Funktionen, die die Länge und die Hähe des erzeugten Textes ermitteln.

    Irgendwann haben wir damit mal gebastelt.

    Liebe Grüße aus http://www.braunschweig.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
    1. Es gibt (glaube ich jedenfalls) Funktionen, die die Länge und die Hähe des erzeugten Textes ermitteln.

      Genau sowas suche ich ja und finde es nicht, bin jetzt schon ein paar mal die Funktionsliste rauf und runter. ^^

      1. Hello,

        Es gibt (glaube ich jedenfalls) Funktionen, die die Länge und die Hähe des erzeugten Textes ermitteln.

        Genau sowas suche ich ja und finde es nicht, bin jetzt schon ein paar mal die Funktionsliste rauf und runter. ^^

        http://de2.php.net/manual/en/function.imageftbbox.php

        Das war si wohl, dneke ich. Ich müsste durch die Kisten wtzen und danach suchen, um die Doku der Versuche zu finden. Die gibt es aber auf jeden Fall. Ich erinnere mich da an Übungen in sin() und cos(), denn die Funktion hat wohl einen Bug. Sie funktiiert nur waagerecht und wenn man den Text dreht, kommt Mist dabei heraus. Das konnte man aber durch Fehlerrechnung kompensieren, wenn man den Winkel kannte.

        PS:
        Ist das jetzt nur ein Nick oder kennen wir uns aus BS?

        Liebe Grüße aus http://www.braunschweig.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau
        1. Danke, habs auch schon. Naja mittlerweile wurde der Bug vielleicht behoben. :)

  2. Hi,

    Tachen

    ich beginne gerade ein bisschen mir GDLib anzusehen. Ist  im Prinzip sehr einfach zu handhaben, das einzige was mir momentan Probleme bereitet sind Zeilenumbrüche in Text.

    Wie mache ich das? \n wird nicht akzeptiert, das wird in ein seltsames Zeichen umgewandelt.

    Probier mal &#13 &#10

    die 'Länge' des Textes messen soll,

    Schau mal nach der Funktion imagettfbbox(...) damit kannst du dir die Größe errechenen lassen, die ein Text später einnehmen wird.

    Viele Grüße
    David

    1. Danke mit imagettbbox() lässt sich was anfangen. Habe bis jetzt falsch verstanden was die macht. :)

      
 oder 
 bringen mir nur eine kleines Quadrat im Text.

      1. Hello,

        Danke mit imagettbbox() lässt sich was anfangen. Habe bis jetzt falsch verstanden was die macht. :)

        
 oder 
 bringen mir nur eine kleines Quadrat im Text.

        Wenn, dann sowieso #13#10  =  chr(13).chr(10)

        in einem Stück. Die zwei Zeichen müssen dann schon genau aufeinander folgen.

        Liebe Grüße aus http://www.braunschweig.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau
        1. Wenn, dann sowieso #13#10  =  chr(13).chr(10)

          Ja, aber nicht die Ampersands vergessen.

          1. Ich bin gerade draufgekommen, dass es doch mit \n geht. Ich habe davor mit imagestring() gearbeitet, da kam das seltsame Zeichen, mit imagettftext() funktioniert \n auch.

          2. Hello,

            Wenn, dann sowieso #13#10  =  chr(13).chr(10)
            Ja, aber nicht die Ampersands vergessen.

            Die  als entitiy-Einleiter haben im Raw-Text aber nix verloren.

            Liebe Grüße aus http://www.braunschweig.de

            Tom

            --
            Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
            Nur selber lernen macht schlau
            1. Jetzt ist mir doch noch was eingefallen. Wie gebe ich das Bild eingebunden in HTML Quelltext aus? Muss ich dazu extra speichern?

              1. Moin!

                Jetzt ist mir doch noch was eingefallen. Wie gebe ich das Bild eingebunden in HTML Quelltext aus? Muss ich dazu extra speichern?

                <img src="skript.php" width... height... alt="">

                Das Skript muß gesondert aufgerufen werden. Genau wie Bilder ansonsten auf in gesonderten Dateien stehen, nicht direkt im Quelltext.

                - Sven Rautenberg

                1. Verstehe, das wird dann so also abgearbeitet. Ich möchte aber per Formular Text übermitteln, der wird ins Bild geschrieben und anschließend wird das Bild wieder an der Stelle ausgegeben. Funktioniert das auch so?

                  <img src="skript.php" width... height... alt=""> steht zb. in der index.php an die der Text per Formular übermittelt wird, steht der Text dann auch automatisch für skript.php zur Verfügung?

              2. Hello,

                Jetzt ist mir doch noch was eingefallen. Wie gebe ich das Bild eingebunden in HTML Quelltext aus? Muss ich dazu extra speichern?

                man kann es so machen, wie Sven vorschlägt, aber man kann auch den Weg gehen:

                Hauptscript wird aufgerufen
                  Hauptscript erzeugt das Bild als Datei auf der Platte mit Tempnam()
                  Hauptscript erzeugt den HTML-Code und fügt in
                    <img src="<?php echo $bildname; ?>" alt="blabla">
                    ein.

                Dann muss man nur ab und zu aufräumen.

                Liebe Grüße aus http://www.braunschweig.de

                Tom

                --
                Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                Nur selber lernen macht schlau
      2. &#10; oder &#13; bringen mir nur eine kleines Quadrat im Text.

        hmm schade... war ne idee...

        Greetz David