Registriert: So Jan 07, 2007 21:26 Beiträge: 130 Wohnort: mal hier mal da mal irgendwo
Hi Leute,
ich benutze wglUseFontBitmaps für Textausgaben,
nun bastle ich z.Z. nen paar Komponenten für meine GUI und da brauch ich für mein TGLEdit und TGLMemo eine Berechnung wie breit/hoch der Text ist...
gibt es da ne Variante wie man das berechnen kann?
cuz bubble
_________________ Wenn Worte nichts als Worte sind, dann müssen's Steine sein! Solange - bis sie pleite sind - schmeißt Fensterscheiben ein! - Fidl Kunterbunt -
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
wglUseFontBitmaps erstellt richtige BITmaps. Also Bilder bei denen für jedes Pixel entweder eine 0 oder eine 1 existiert. Dadurch, dass die direkt auf dem Framebuffer arbeiten ist das auch nicht wirklich schnell. Um nicht zu sagen sogar ziemlich langsam. Obendrein ist es sehr unflexibel und du hast keinerlei Einflussmöglichkeiten. Alternativ dazu kann ich dir nur zu Texturfonts raten. Die sind deutlich schneller und durch die Texturen besser für die Hardware und bieten vielerlei Einflussmöglichkeiten. Da könnte ich dir auch die TextSuite anbieten. Eine unicodefähige mid-level Pascalbibliothek die ich geschrieben habe um relativ einfach Text ausgeben zu können. Und zwar ähnlich wie das in der GDI möglich ist nur ist die Schnittstelle optimiert auf die Ausgabe für OpenGL.
Ansonsten. Die Größen der Zeichen kannst du mit GetCharABCWidths erfragen. Und zwar in etwa so.
Code:
FAbc:array[0..255]of TABC;
begin
wglUseFontBitmaps(FDC,0,255, FListBase);
GetCharABCWidths(FDC,0,255, FAbc[0]);
Zum Berechnen müsstest du dann das Feld abcB auswerten.
Code:
for Idx :=1toLength(Text)
do Result := Result + FAbc[Ord(Text[Idx])].abcB;
Das Array mit FAbc musst du entsprechend natürlich so lange mit dir rumschleppen wie du das Font benötigst. Also das alles zusammen in eine Klasse packen wäre wohl das sinnvollste.
Registriert: So Jan 07, 2007 21:26 Beiträge: 130 Wohnort: mal hier mal da mal irgendwo
Hmmm ich hab mir mal TextSuite angeguckt, *sprachlos* Da lass ich das mit dem wglUseFontBitmaps doch lieber weg^^
cuz bubble
_________________ Wenn Worte nichts als Worte sind, dann müssen's Steine sein! Solange - bis sie pleite sind - schmeißt Fensterscheiben ein! - Fidl Kunterbunt -
Mitglieder in diesem Forum: 0 Mitglieder und 6 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.