Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Die Textur hab ich schon. Es geht jetzt darum die Tex-Koordinaten so zu bestimmen, dass die Buchstaben richtig im Bezug auf die Basislinie positioniert werden.
Die Klasse FontMetrics liefert mir Infos zum Abstand der Grundlinie zur Basislinie.
Das Problem ist jetzt, wie man am einfachsten rausfindet welche Buchstaben bei der Grundlinie beginnen, und welche ganz normal bei der Basislinie beginnen.
Bei den Glyphen bin ich etwas unsicher. Ich weiß nicht ob jedes (ASCII)Zeichen ein Glyph ist, oder mehrere. Das steht ja auch so in der Beschreibung des GlyphVectors. Ich kann damit also relativ wenig anfangen.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Registriert: Di Dez 27, 2005 12:44 Beiträge: 393 Wohnort: Berlin
Programmiersprache: Java, C++, Groovy
Hallo Flash,
falls es mit dem GlyphVector nicht klappt, könntest du es noch mit Font.getLineMetrics probieren.
über LineMetrics.getBaselineOffsets() bekommst du dann ein Array mit den Abständen der einzelnen Zeichen zur Baseline.
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
@dj3hut1: Hast du dir mal die Beschreibung zum BaseLineoffset durchgelesen? Ich glaube das ist irgend was anderes.
Ich beschreib nochmal mein Problem.
Wenn man sich die BoundingBox eines Chars liefern läßt, so bekommt man nur eine Breite und Höhe. Das Problem ist nun aber, dass die Chars bezüglich der Basislinie in Y-Richtung ausgerichtet werden müssen. Die Frage ist nun, wie man diesen Y-Offset ermitteln kann.
Ich brauche quasi einen Baselineoffset für jeden Buchstaben.
Wenn ich sowas versuche ist das Array von getBaseLineOffset immer gleich:
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
getDescent() hab ich gerade ausprobiert. Der zurückgelieferte Wert ist für alle Buchstaben gleich. D.h. Descent ist nur für den gesamten Font definiert. Anscheinend gilt dies auch für getHeight() und damit wohl für alle LineMetric Eigenschaften.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
[...]
}
yOff wird auf die Y-Koordinate des Charquads aufaddiert -> fertig.
So... Jetzt sagt mir mal bitte, ob einer von Euch das gewusst hat, oder ob das wirklich noch keiner gemacht hat. Es war nämlich wirklich nicht ganz einfach zu sehen. Die GlyphBounds sind nämlich anders rum orientiert (Ursprung links oben). Somit ergaben die Koordinaten erst keinen Sinn. Durch zufall hab ich aber gesehen, wie die sich zueinander verhalten. Dadurch bin ich erst auf den Trichter gekommen die miteinander zu verrechnen.
Das war ein Krampf! Wahnsinn!....
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Mitglieder in diesem Forum: 0 Mitglieder und 7 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.