Ankündigung

Einklappen
Keine Ankündigung bisher.

imagettfbbox ungenau, gibt es Abhilfe?

Einklappen

Unconfigured Ad Widget

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

  • imagettfbbox ungenau, gibt es Abhilfe?

    Ich verwende imagettfbbox, um Text zentriert und rechtsbündig in Grafiken auszurichten. Nur leider ist das Ergebnis ungenau, es kommt zu Abweichungen im Bereich von 1-2 Pixeln, die aber bereits deutlich auffallen, wenn alles rechtsbündig sein soll. Leider scheint es auch kein vitales Muster zu geben, sodaß man es nicht korrigieren kann. Gibt es eine Lösung für dieses Problem?


  • #2
    habe gleiches Problem gibt es nach 4 Jahren eine Lösung?

    Kommentar


    • #3
      Moin,

      ich verwende folgendes um einen Text zu zentrieren. Damit kannst du ihn auch rechtsbündig ausrichten.

      PHP-Code:
      $font_size // zw. 1-5
      $letter_width 4// fest
      $adjust = -2// fest

      // 400 ist die Hälfte der Breite (800) beim Zentrieren 
      // alles was nach dem - kommt, soll die Hälfte der Breite des Strings sein
      echo 400 - (strlen($string) * ($font_size $letter_width) - 2) / 2
      Ich hoffe ich habe beim Umschreiben keinen Fehler gemacht, eigentlich sah der Code so aus (auch nur ein Auszug):

      PHP-Code:
      const LETTER_WIDTH 4;
      const 
      ADJUST_SIZE = -2;

      protected function 
      adjust_size($result_size) {
        return (
      $result_size self::ADJUST_SIZE) / 2;
      }

      // zentrieren
      // $width = Breite der Grafik
      $center $width 2;
      $center -= $this->adjust_size(strlen($branch->name) * ($branch->font_size self::LETTER_WIDTH)); 
      Um den Text rechtsbündig auszurichten, musst du bei
      Code:
      $center = $width / 2;
      Code:
      $center = $width;
      angeben und / 2 bei
      Code:
      echo 400 - ((strlen($string) * ($font_size + $letter_width)) - 2) / 2;
      weglassen =>
      Code:
      echo 400 - ((strlen($string) * ($font_size + $letter_width)) - 2);
      Jedoch habe ich noch nicht mit TrueType Fonts gearbeitet und weiß nicht wie es sich dort mit der Breite der einzelnen Buchstaben verhält. Bei der Schriftart der GD-Bibliothek hat jeder Buchstabe dieselbe Breite! Ich denke das wird das Hauptproblem bei TT Fonts sein, steig doch auf die Schriftart der GD-Biblio um. Für die meisten Anwendungen reicht diese
      http://hallophp.de

      Kommentar

      Lädt...
      X