php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 05.11.2005, 16:43  
Benutzer
 
Registriert seit: 31.03.2005
Beiträge: 80
Anotherone
Standard 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?
Anotherone ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 16.07.2009, 15:02  
Benutzer
 
Registriert seit: 26.07.2008
Beiträge: 31
MrDevil ist zur Zeit noch ein unbeschriebenes Blatt
Standard

habe gleiches Problem gibt es nach 4 Jahren eine Lösung?
MrDevil ist offline  
Alt 16.07.2009, 15:16  
Moderator
 
Benutzerbild von Asipak
 
Registriert seit: 18.07.2005
Beiträge: 4.071
Asipak sorgt für eine eindrucksvolle AtmosphäreAsipak sorgt für eine eindrucksvolle Atmosphäre
Standard

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
__________________
HalloPHP

Geändert von Asipak (16.07.2009 um 15:23 Uhr).
Asipak ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
ImageTTFBBox probleme Sascha321 PHP Tipps 2007 19 10.06.2007 21:40
imagettfbbox - einheitliche Grundlinie schaffen Zergling-new PHP-Fortgeschrittene 9 31.05.2007 20:56
Ätzende Klammerung bei vielen ANDs - Abhilfe? c-f-g PHP Tipps 2006 15 28.02.2006 22:17
imagettfbbox Sclot PHP Tipps 2005 4 14.04.2005 08:15
imagettfbbox finden True Font nicht I-Spy PHP Tipps 2005 31 01.01.2005 16:57

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
imagettfbbox, imagettfbbox ungenau, http://www.php.de/php-tipps-2008/33396-imagettfbbox-ungenau-gibt-es-abhilfe.html, php imagettfbbox ungenau, imagettfbbox center, imagettfbbox rechtsbündig, imagettfbbox rechts ausrichten, imagettftext rechtsbündig, imagettfbbox strlen, strlen ungenau, imagettfbbox width, imagettfbbox breite, imagettfbbox width problem, \imagettfbbox\ problem zentrierung, php imagettftext center text, imagettfbbox grundlinie, php string width imagettfbbox, text rechtbündig imagettfbbox, imagettfbbox problem, php imagettfbbox

Alle Zeitangaben in WEZ +1. Es ist jetzt 15:52 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.