Public Sub TextToB4XBitmap(strText As String, tf As Typeface, fFontSize As Float, iFontColour As Int, bDrawCircle As Boolean) As B4XBitmap
Dim p As B4XView = xui.CreatePanel("")
Dim iPanelWidth As Int
Dim cvs1 As B4XCanvas
Dim fnt As B4XFont
Dim tTD As tTextDimensions
Select Case tf
Case tf.DEFAULT
fnt = xui.CreateFont(tf.DEFAULT, fFontSize)
Case tf.FONTAWESOME
fnt = xui.CreateFontAwesome(fFontSize)
Case tf.MATERIALICONS
fnt = xui.CreateMaterialIcons(fFontSize)
End Select
tTD = GetTextDimensionsSingleLine(strText, Null, fFontSize, tf, Null)
iPanelWidth = Max(tTD.fHeight, tTD.fWidth)
p.SetLayoutAnimated(0, 0, 0, iPanelWidth, iPanelWidth)
cvs1.Initialize(p)
cvs1.DrawText(strText, cvs1.TargetRect.CenterX, cvs1.TargetRect.CenterY + tTD.fHeight / 2, fnt, iFontColour, "CENTER")
If bDrawCircle Then
cvs1.DrawCircle(cvs1.TargetRect.CenterX, cvs1.TargetRect.CenterY, iPanelWidth / 2, Colors.Black, False, 2)
End If
Dim b As B4XBitmap = cvs1.CreateBitmap
cvs1.Release
Return b
End Sub