Entwickler-Ecke
Windows API - GDI Api für Textbreite
uall@ogc - Fr 06.05.05 13:51
Titel: GDI Api für Textbreite
wie heißt die GDI API mit der man die breite eines textest (pixeln) herausbekommt
uall@ogc - Fr 06.05.05 16:38
jo das war sie brauche sie für
http://www.uall.info/pics/textoutw3.JPG
ist mir auch erst später eingefallen das ich einfach
Canvas.TextWidth
mal debuggen sollte
danke
Delphi-Pro - Fr 06.05.05 16:56
Könntest du das Programm mal bitte anhängen das sieht nämlich ziemlich interessant aus :P
Delphi-Pro
BenBE - Fr 06.05.05 22:53
Wie witzig ... Hab heute erst genau die gleiche Funktion in der DSCal-Kompo optimiert und dabei festgestellt, dass sich der TCanvas.TextWidth-Aufruf mit folgendem SRC auf das Doppelte beschleunigen lässt:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| Function ITextWidth(C: TCanvas; Var Text: String): Integer; Var P: tagSize; CanvH: THandle; Begin CanvH := Canvas.Handle; asm LEA EAX, [P] PUSH EAX MOV EAX, DWORD PTR [Text] MOV EAX, DWORD PTR [EAX] PUSH DWORD PTR [EAX-$00000004] PUSH EAX PUSH DWORD PTR [CanvH] CALL GetTextExtentPoint32 MOV EAX, DWORD PTR [P.tagSIZE.cx] end; End; |
@
uall@ogc: Kannst Du mal gucken, ob Du TCanvas.GetHandle irgendwie per ASM gecallt bekommst?
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!