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 :
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;
Que faut-il faire pour avoir un nombre de pixels en rapport avec la taille de la police ?
Cordialement.
Pierre
Partager