Bonjour
J'utilise une fonction pour tracer du texte sur un canvas d'une ImageView et je rencontre un problème
La fonction :
La fonction MesureStringWidth fonctionne parfaitement, par contre MesureStringHeight ne retourne pas la bonne dimension lorsque on a un jambage descendant.
Par exemple :le mot "Gestion" sera bien centré verticalement mais pas le mot "Apercevoir"
Par contre si on ne passe que "p" a MesureStringWidth alors Apercevoir sera parfaitement centré verticalement
Avez vous déjà rencontré ce PB ?
J'utilise une fonction pour tracer du texte sur un canvas d'une ImageView et je rencontre un problème
La fonction :
B4X:
Sub DrawTextCenter(T As String, Cv As Canvas,Obj As ImageView,Bg As Bitmap, Cl As Int)
Dim Wt As Int
Dim Ht As Int
Dim Src,Dst As Rect
Wt = Cv.MeasureStringWidth(T, Typeface.DEFAULT,FontStd)
Ht = Cv.MeasureStringHeight("p",Typeface.DEFAULT,FontStd)
cl=Colors.White
Src.Initialize(0,0,Bg.Width,Bg.Height)
Dst.Initialize(0,0,obj.Width,Obj.Height)
Cv.DrawBitmap(Bg,Src,Dst)
Cv.DrawText(T,Obj.Width/2,(Obj.Height+Ht)/2, Typeface.DEFAULT,FontStd,Cl,"CENTER")
End Sub
La fonction MesureStringWidth fonctionne parfaitement, par contre MesureStringHeight ne retourne pas la bonne dimension lorsque on a un jambage descendant.
Par exemple :le mot "Gestion" sera bien centré verticalement mais pas le mot "Apercevoir"
Par contre si on ne passe que "p" a MesureStringWidth alors Apercevoir sera parfaitement centré verticalement
Avez vous déjà rencontré ce PB ?