Bild mit fester Breite erstellen

  • Hallo Forum-Hilfe Community

    ich brauche Hilfe :( =)
    Ich möchte ein Bild erstellen. Das Bild hat einen Text mit mehreren Zeilen und unterschiedlichen Fonts. Jede Zeile ist jedoch gleich breit. Also wenn ich folgenden Text habe:

    A
    bbb
    wwwww

    dann sind alle 3 Zeilen gleich breit aber die Höhe ist unterschiedlich. Also das A wäre dann so groß, dass es genauso breit ist wie die 5w's.
    Das Problem, das ich habe ist, dass ich nicht weiß, wie ich z.B. $txt_mit_inhalt_von_zeile1 sagen kann, welche Font-size es haben muss, damit es genau die Breite hat...
    Die Breite ist immer gleich: 500px

    Ist sowas überhaupt möglich?

    lg
    John-Lukas

  • Sowas habe ich zwar bisher noch nicht gemacht, aber ich denke mal, dass sowas machbar ist. Sind zwar einige Berechnungen in Schleifen erforderlich, was die Sache nicht unbedingt schnell macht. Du solltest dir mal die Image-Funktionen in der PHP-Doku ansehen.

  • ich hoff ich hab dein anliegen geschnallt..^^
    du wirst ne art mapping brauchen, wieviele pixel der breiteste (bei der höhe auch höchste) buchstabe in einer bestimmten, von dir benutzten font-size hat, damit du anhand der breitesten buchstaben die gesamtbreite (und bei bedarf eben auch höhe) berechnen kannst, dann musste dahergehen und anhand von font-size und string-länge ausrechnen wie breit(hoch) deine einzelnen bilder würden.
    wenn 5 w´s in fontsize 12 sagen wir 25pixel breit wären dann schauste in deine mapping-tabelle welche fontsize für einen buchstaben auf 25 pixel kommt (bei der höhe wäre es nich anders)

  • Ah ok
    danke

    imagettfbbox habe ich bereits gesehen, doch dann müsste ich ja theoretisch so vorgehen, dass ich alle schriftgrößen durchgehen, bis ich die max. breite überschreite.
    Das wäre ja dann schon aufwendig, aber anscheinend gehts ja nicht einfacher :(

    Vielen Dank euch

  • Ich würde bei einer mittleren Schriftgröße anfangen, um nicht ganz von unten anfangen zu müssen. Welches Größe den Idealwert am Anfang hat, musst du einfach ausprobieren.