API_GetCharABCWidths zum Funktionieren bringen

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

EPS

Betreff: API_GetCharABCWidths zum Funktionieren bringen

BeitragDi, Jan 16, 2007 19:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi zusammen,

vielleicht kann mir mal einer helfen das hier zusammen zu bringen. Ich möchte gerne die Zeichenbreiten für TrueType Fonts mittels des API Aufrufs GetCharABCWidths() ermitteln.

Für BMax hab ich hierzu im englischen Forum ein Beispiel gefunden http://www.blitzbasic.com/Comm...opic=47573 und versucht das in BB umzusetzen - leider ohne Erfolg.

Mein Verdacht ist das Fonts in BB anders gehandelt werden als in BMax und das daher nix hierbei rauskommt:

Code: [AUSKLAPPEN]
Graphics 640,480,0,2

bank = CreateBank( 256 * 3 * 4 )

hwnd = api_GetActiveWindow()
hdc  = api_GetDC( hwnd )

Print hwnd
Print hdc

font = LoadFont("Tahoma.ttf", 20 )
SetFont font

api_GetCharABCWidths( hdc, 0, 255, bank )

For i=0 To 255
   Text x,y, PeekInt( bank, i*3)
   
   x = x + 20: If x > 620 Then x = 0: y = y + 20
Next

WaitKey()
End


Hat jemand ne Idee wie man das hinbekommt?
mGUI - Graphical User Interface für Blitz3D...Informationen gibt es hier

Man kann sich öfter als zweimal im Leben halb tot lachen.

hectic

Sieger des IS Talentwettbewerb 2006

BeitragDi, Jan 16, 2007 19:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielleicht suchst du ja das hier? Wenn ich dich richtig verstanden habe.

ql:StringWidth
ql:StringHeight

edit1 Code: [AUSKLAPPEN]
Graphics 640,120,0,2
SetBuffer FrontBuffer()

txt$="Dies ist der Testtext. Der Balken nimmt die Breite des Textes."

Font=LoadFont("Arial",24,0,0,0)
SetFont Font

Text 320,20,txt,1
Rect 320-StringWidth(txt)/2,48,StringWidth(txt),10,1

WaitKey()
End
  • Zuletzt bearbeitet von hectic am Di, Jan 16, 2007 20:03, insgesamt einmal bearbeitet

EPS

BeitragDi, Jan 16, 2007 20:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein, wenn ich das suchen täte hätte ich es hingeschrieben, ich suche schon das richtige, keine Angst Wink
mGUI - Graphical User Interface für Blitz3D...Informationen gibt es hier

Man kann sich öfter als zweimal im Leben halb tot lachen.

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group