![]() |
Wie viele Pixel liegen unter der BASELINE?
Hi,
zur Zeit gebe ich auf einem Canvas den Text wie folgt aus und möchte in ARect das gefüllte Rechteck zurückgegeben haben:
Delphi-Quellcode:
Nun, wie bekomme ich heraus, wie viel von der Höhe (je nach Schriftgröße mehr ioder weniger) unter der Baseline liegt, damit ich Bottom richtig setzen kann?
procedure PrintText (const Ax,Ay: Integer; const ATxt: String; var ARect: TRect);
var HL: Integer; Hr: TRect begin SetTextAlign (FCanvas.Handle,TA_BaseLine); SetRectEmpty(Hr); HL := Length (ATxt); Windows.DrawText(FCanvas.Handle,PChar(ATxt),Hl,Hr,DT_CALCRECT); Windows.TextOut(FCanvas.Handle,Ax,Ay,PChar(ATxt),Length(ATxt)); with ARect do begin Left := Ax; Bottom := Ay; // ??? Right := Ax+Hr.Right-Hr.Left; Top := Bottom+Hr.Bottom-Hr.Top; end; end; ![]() ![]() |
Re: Wie viele Pixel liegen unter der BASELINE?
|
Re: Wie viele Pixel liegen unter der BASELINE?
Danke! Das wars :lol:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:30 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz