رفتن به مطلب

کاربردی *** تبدیل فونت آیکون به Bitmap ***


Salar82

ارسال‌های توصیه شده

سلام به همه

این آموزش، میتونه خیلی کاربردی باشه، میتونید یه Font رو به عکس تبدیل کنید. مهمترین کاربردی که داره، اینه که میتونید یه فونت رو مستقیم به تولبار بدید:

 

Sub FontAwesomeToBitmap (Text As String, FontSize As Float) As B4XBitmap
   Dim xui As XUI
   Dim p As Panel = xui.CreatePanel("")
   p.SetLayoutAnimated(0, 0, 0, 32dip, 32dip)
   Dim cvs1 As B4XCanvas
   cvs1.Initialize(p)
   Dim fnt As B4XFont = xui.CreateFontAwesome(FontSize)
   Dim r As B4XRect = cvs1.MeasureText(Text, fnt)
   Dim BaseLine As Int = cvs1.TargetRect.CenterY - r.Height / 2 - r.Top
   cvs1.DrawText(Text, cvs1.TargetRect.CenterX, BaseLine, fnt, xui.Color_White, "CENTER")
   Dim b As B4XBitmap = cvs1.CreateBitmap
   cvs1.Release
   Return b
End Sub

 

برای استفاده از ساب، اسمش رو جای دلخواه بنویسید و ورودی اول آیکون فونت و ورودی دوم سایزش رو بهش بدید. مثل این:

FontAwesomeToBitmap(Chr(0xF17B), 28)

 

مثال:

Sub Activity_Create(FirstTime As Boolean)
  'usage example
   Activity.AddMenuItem3("Android", "Test", FontAwesomeToBitmap(Chr(0xF17B), 28), True)
   Activity.AddMenuItem3("Eye", "Test", FontAwesomeToBitmap(Chr(0xF06E), 28), True)
End Sub

Sub FontAwesomeToBitmap (Text As String, FontSize As Float) As B4XBitmap
   Dim xui As XUI
   Dim p As Panel = xui.CreatePanel("")
   p.SetLayoutAnimated(0, 0, 0, 32dip, 32dip)
   Dim cvs1 As B4XCanvas
   cvs1.Initialize(p)
   Dim fnt As B4XFont = xui.CreateFontAwesome(FontSize)
   Dim r As B4XRect = cvs1.MeasureText(Text, fnt)
   Dim BaseLine As Int = cvs1.TargetRect.CenterY - r.Height / 2 - r.Top
   cvs1.DrawText(Text, cvs1.TargetRect.CenterX, BaseLine, fnt, xui.Color_White, "CENTER")
   Dim b As B4XBitmap = cvs1.CreateBitmap
   cvs1.Release
   Return b
End Sub

نتیجش میشه این:

SS-2018-07-16_15.00.12.png

 

برای استفاده هم باید کتابخونه XUI رو فعال کنید.

 

امیدوارم مفیدبوده باشه

:53::53::53::53:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...