BGRABitmap : obtenir la taille d'une string en pixels
Bonjour à toutes et à tous,
Je cherche à connaître la taille en pixels d'une chaîne afin de la cadrer dans une image, je fais :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| procedure TAffCarte.Infos_GPS(X, Y: Integer; Txt: String; bmp: TBGRABitmap; clText, clFond: TBGRAPixel);
var
h1, h2: Integer;
begin
bmp.FontHeight := 36;
bmp.FontAntialias := true;
bmp.FontStyle := [fsBold];
h1:= bmp.Canvas.Font.GetTextWidth(Txt);
h2:= bmp.Canvas.GetTextWidth(Txt);
bmp.FillRoundRectAntialias(X-l/2, Y-15, X+l/2, Y+15, 10, 10, clFond, [rrDefault], True);
bmp.TextOut(X-l/2, Y-10, Txt, clText);
end; |
Si la taille du texte affiché est bien en rapport avec "FontHeight", chacune des deux lignes (h1 et h2) me renvoie systématiquement 188, qui est en rapport avec le texte choisi, mais qui n'est absolument pas en rapport avec la taille de police choisie.
Que faut-il faire pour avoir un nombre de pixels en rapport avec la taille de la police ?
Cordialement.
Pierre