ebiz-webhosting
- Ad -
php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 25-11-2007, 01:37
Blackgreetz
 PHP Junior
Links : Onlinestatus : Blackgreetz ist offline
Registriert seit: Oct 2005
Beiträge: 901
Blackgreetz ist zur Zeit noch ein unbeschriebenes Blatt
Standard Bild + unbekannte Breite?

Hallo,

ich habe atm ein denke mal kleines Problem beim Erzeugen eines Bildes.

Ich habe einen Text und möchte ein Bild erzeugen mit einem speziellen .ttf-font, jedoch weiß ich nicht genau, wie ich die Weite des Textes mit dem Font bestimmen soll.

Auf php.net bin ich auf die Funktionen imagefontwidth/height und imageloadfont gestoßen, jedoch funktioniert das ganze nich so wirklich:

PHP-Code:
$fsize imageloadfont("fonty.ttf");
$fwidth imagefontwidth($fsize);
$fheight imagefontheight($fsize);
$bildtext "lalilu";
$bildwidth $fwidth*strlen($bildtext);
$im imagecreatetruecolor($bildwidth,$fheight)
 or die(
"Cannot Initialize new GD image stream");
$font_color imagecolorallocate($im255255255);
imagettftext($im,$fsize00,$fsize$font_color,"./Paco.ttf"$bildtext)
 or die(
"imagettffehler");
header ("Content-type: image/png");
imagepng($im);
imagedestroy($im); 
Liegts evtl daran, dass .ttf nicht als bitmap-font "zugelassen" wird?

Andersrum gefragt: Hat jmd eine Lösung für das Problem, wie ich die Weite eines Bildes bestimmen kann mit einem .ttf-Font + unbekannte Textlänge?

mfg
Mit Zitat antworten
  #2 (permalink)  
Alt 25-11-2007, 01:41
combie
 PHP Expert
Links : Onlinestatus : combie ist gerade online
Registriert seit: May 2006
Beiträge: 2.925
combie befindet sich auf einem aufstrebenden Ast
Standard

http://de.php.net/manual/de/function.imagettfbbox.php
__________________
Wir werden alle sterben
Mit Zitat antworten
  #3 (permalink)  
Alt 25-11-2007, 01:51
Blackgreetz
 PHP Junior
Links : Onlinestatus : Blackgreetz ist offline
Registriert seit: Oct 2005
Beiträge: 901
Blackgreetz ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ah kay,

selten dämlich übersehen.
..aber irgendwas mach ich dann auch bei der Funktion falsch:

PHP-Code:
$fsize 20;
$bidltext "schalallalalaaalals";
$bildwerte imagettfbbox($fsize,0"fonty.ttf"$bildtext);
print_r($bildwerte); 
Ausgabe:
Code:
Array ( [0] => -1 [1] => -1 [2] => -1 [3] => -1 [4] => -1 [5] => -1 [6] => -1 [7] => -1 )
Der font liegt natürlich im gleichen Verzeichnis .... (falls jmd auf die Idee kommt zu fragen)..

Noch nen Tipp pls?
Mit Zitat antworten
  #4 (permalink)  
Alt 25-11-2007, 02:07
combie
 PHP Expert
Links : Onlinestatus : combie ist gerade online
Registriert seit: May 2006
Beiträge: 2.925
combie befindet sich auf einem aufstrebenden Ast
Standard

$bidltext !== $bildtext

Noch nie von error_reporting() gehört?
__________________
Wir werden alle sterben
Mit Zitat antworten
  #5 (permalink)  
Alt 25-11-2007, 02:59
Blackgreetz
 PHP Junior
Links : Onlinestatus : Blackgreetz ist offline
Registriert seit: Oct 2005
Beiträge: 901
Blackgreetz ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Doch ... sollte normal auch auf E_All sein ... muss ich wohl nochmal config überprüfen

mfg
Mit Zitat antworten
  #6 (permalink)  
Alt 29-11-2007, 16:11
Blackgreetz
 PHP Junior
Links : Onlinestatus : Blackgreetz ist offline
Registriert seit: Oct 2005
Beiträge: 901
Blackgreetz ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo,

ich muss mich doch nochmal dazu melden.

Ich habe nun ein paar Tage mit der Funktion rumprobiert, hab aber für alle ttf's nie eine optimale Lösung gefunden.
Ich denke einfach, dass es daran liegt, dass ich die ausgegebenen Werte der Funktion
http://php.net/imagettfbox
nicht komplett verstehe bzw. mir das nicht anschaulich machen kann.

Somit wollte ich mal fragen, ob mir es evtl jmd an einer grafik veranschaulichen könnte, welcher wert wo genau nun auf der grafik ist.

Ist zwar eine etwas spezielle Frage, aber ich möchte keinen Code verwenden, den ich nicht komplett verstehe..

Hab mir die Comments der Funktion angeschaut, aber hab am ende die Funktion immer noch nicht 100% verstanden ...
-> z.b. http://php.net/imagettfbox#75491

Hoffe mal, dass sich jmd dazu "herablässt" :-)

mfg
Mit Zitat antworten
  #7 (permalink)  
Alt 29-11-2007, 18:50
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.104
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

PHP-Code:
$x 20;
$y 30;

$box imagettfbbox120'C:/WINDOWS/Fonts/ARIAL.TTF''Der Text' );
imagettftext$img120$x$y
imagecolorallocatealpha$img25500), 'C:/WINDOWS/Fonts/ARIAL.TTF''Der Text' );

$col imagecolorallocate$img0255);
imageline$img$x+$box[0], $y+$box[1], $x+$box[2], $y+$box[3], $col );
imageline$img$x+$box[2], $y+$box[3], $x+$box[4], $y+$box[5], $col );
imageline$img$x+$box[4], $y+$box[5], $x+$box[6], $y+$box[7], $col );
imageline$img$x+$box[6], $y+$box[7], $x+$box[0], $y+$box[1], $col ); 
__________________
iocstreamscanvas
Mit Zitat antworten
  #8 (permalink)  
Alt 29-11-2007, 23:34
Blackgreetz
 PHP Junior
Links : Onlinestatus : Blackgreetz ist offline
Registriert seit: Oct 2005
Beiträge: 901
Blackgreetz ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo,

das script von dir hat zwar so nicht funktioniert .... aber okay
Hab es nun hinbekommen und glaube auch verstanden

danke!

mfg
ps: wie kann es sein, dass eine bestimmte ttf nicht korrekt angezeigt wird sondern solche kästchen .... aber im windows-ttf anzeiger sehe ich sie...
Mit Zitat antworten
  #9 (permalink)  
Alt 29-11-2007, 23:40
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.104
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
das script von dir hat zwar so nicht funktioniert .... aber okay
Hab es nun hinbekommen und glaube auch verstanden
Ist ja auch kein komplettes Skript, sondern nur ein Minibeispiel, beschränkt auf das nötigste ^^
__________________
iocstreamscanvas
Mit Zitat antworten
  #10 (permalink)  
Alt 30-11-2007, 00:37
Blackgreetz
 PHP Junior
Links : Onlinestatus : Blackgreetz ist offline
Registriert seit: Oct 2005
Beiträge: 901
Blackgreetz ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von PHP-Desaster
beschränkt auf das nötigste ^^
Dann hättest wenigstens noch das imagecreatetruecolor hinschreiben können ... dann hätte ich nicht erst raten müssen, wie groß ich das bild nun mache ..^^

aber danke
Mit Zitat antworten
  #11 (permalink)  
Alt 30-11-2007, 13:30
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.104
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

So hast du dir den Code wenigstens ansehen müssen
__________________
iocstreamscanvas
Mit Zitat antworten
  #12 (permalink)  
Alt 30-11-2007, 14:38
combie
 PHP Expert
Links : Onlinestatus : combie ist gerade online
Registriert seit: May 2006
Beiträge: 2.925
combie befindet sich auf einem aufstrebenden Ast
Standard

<spässchen>
Die Baseline mit einzuzeichen, das hättest du ja wenigstens tun können. Wegen der Unterlängen ...
</spässchen>
__________________
Wir werden alle sterben
Mit Zitat antworten
  #13 (permalink)  
Alt 30-11-2007, 18:18
Blackgreetz
 PHP Junior
Links : Onlinestatus : Blackgreetz ist offline
Registriert seit: Oct 2005
Beiträge: 901
Blackgreetz ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von PHP-Desaster
So hast du dir den Code wenigstens ansehen müssen
Da ich lernen wollte, hätte ich dies wohl so oder so getan ;-)
Damit konnte ich zumindest die Sache bei Seite legen bzw. beenden ...
Nun gehts an Thumbnails erstellen, aber werde mir wohl erstmal noch die meistens image-Funktionen anschauen, um einen Überlick zu erhalten.

@combie: Das war mein Hauptproblem Bis ich das verstanden hatte, war es schon spät xD
Mit Zitat antworten
  #14 (permalink)  
Alt 29-09-2009, 21:08
Blackgreetz
 PHP Junior
Links : Onlinestatus : Blackgreetz ist offline
Registriert seit: Oct 2005
Beiträge: 901
Blackgreetz ist zur Zeit noch ein unbeschriebenes Blatt
Standard

So altes Thema, sorry.

Mittlerweile hab ich das Problem wieder mit der baseline. Ich weiß nicht, wie ich damals darauf gekommen bin, aber nun komme ich nicht mehr darauf. Meine alten Codes hab ich leider auch nicht mehr zur Verfügung, wie ich damit rumprobiert hatte..

Kann mir vlt nochmal jmd. nen Hint geben, sodass ich auch den unteren Teil des g,y etc. sehen kann? Also wie ich auf die Baseline komme...

Danke.

mfg
Mit Zitat antworten
  #15 (permalink)  
Alt 30-09-2009, 00:15
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.550
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Hallo,

ich bin mir nicht sicher, ob ich dich richtig verstanden habe, aber die einzelnen Maße für Oberlänge, Grundline u. s. w. kann man mit imagettfbbox ermitteln. Dazu rufst du es mit verschiedenen Texten auf, z. B. "X" für die Versalhöhe, "dy" für die Gesamthöhe zwischen k- und p-Linie oder "x" für die Mittellänge. Die Höhe bekommst du jeweils aus $bbox[1] - $bbox[7], wobei $bbox das Ergebnis des imagettfbbox-Aufrufs ist.

Siehe auch die "Komplettlösung"

Gruß,

Amica

Geändert von AmicaNoctis (30-09-2009 um 05:10 Uhr)
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

MariaDB 5.5 veröffentlicht
MariaDB 5.5 veröffentlichtDie freie MySQL-Alternative MariaDB wurde in der stabilen Version 5.5.23 veröffentlicht und soll einige Verbesserungen gegenüber Oracles Communityversion von MySQL mitbringen.

16.04.2012 | Berni

Deutsche Yii Framework Community
Deutsche Yii Framework CommunitySeit dem 19.03.2012 gibt es für die Yii PHP Framework Community ein deutsches Zuhause.

20.03.2012 | dhcomputer

 

Aktuelle PHP Scripte

EM 2012 Tipp-Spiel ansehen EM 2012 Tipp-Spiel

Online Tipp-Spiel zur Fussball Europameisterschaft 2012, basierend auf php-Script mit hinterlegter mySql-Datenbank

27.05.2012 tippimnetz | Kategorie: PHP/ Spiele
Advanced Login ansehen Advanced Login

Login-System und Kundenverwaltung, die sich spielend leicht in bestehende Webseiten einbauen lässt und einen enormen Funktionsumfang bietet. Ihre eigene Webseite muss mit Advanced Login nicht umständlich an ein fertiges System angepasst werden.

25.05.2012 Madden | Kategorie: PHP/ Kundenverwaltung
BROM CMS/BelCal 3 ansehen BROM CMS/BelCal 3

Spezielles CMS für Betreiber von Ferienwohnungen. Komplette Seitenerstellung online, Verwaltung mehrerer Objekte, Reservierungssystem mit sofortigem Abgleich im Belegungskalender und vieles mehr bietet dieses Content Management System.

25.05.2012 belcal2 | Kategorie: PHP/ CMS
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 10:54 Uhr.