آموزش برنامه نویسی اندروید
کدهای کاربردی بیسیک فور اندروید

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

با عرض سلام خدمت شما دوستان و همراهان عزیز !

همانطور که میدانید دو فونت آیکون حرفه ای و جامع با نام های FontAwesome و MaterialIcons در بیسیک فور اندروید قرار دارد که میتوانید در سایر بخش های برنامه مانند لیبل و … از آیکون های این دو مجموعه استفاده کنید ولی گاهی مواقع ممکن است مجبور باشید از bitmap استفاده کنید ( مثلا برای افزودن آیکون به اکشن بار ) در اینصورت لازم است آیکون مورد نظرتان را به صورت تصویر در فایل های پروژه قرار دهید تا بتوانید از آن در بخش هایی مانند اکشن بار یا ایمیج ویو استفاده کنید ولی راه بهتری هم هست !

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

برای شروع , کتابخانه XUI را فعال کنید و کد زیر را به اکتیویتی مورد نظرتان اضافه کنید :

Sub FontIconToBitmap (Font As Typeface,Icon As String,Size As Float,Color As Int) 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.CreateFont(Font, Size)
 Dim r As B4XRect = cvs1.MeasureText(Icon, fnt)
 Dim BaseLine As Int = cvs1.TargetRect.CenterY - r.Height / 2 - r.Top
 cvs1.DrawText(Icon, cvs1.TargetRect.CenterX, BaseLine, fnt, Color, "CENTER")
 Dim bmp As B4XBitmap = cvs1.CreateBitmap
 cvs1.Release
 Return bmp
End Sub

حالا میتوانید آیکون موردنظرتان را به Bitmap تبدیل کنید , برای مثال در کد زیر میخواهیم آیکون Chr(0xF17B) فونت FontAwesome را به Bitmap تبدیل کنیم و در یک ایمیج ویو با نام img نمایش دهیم . همچنین میتوانید رنگ و اندازه آیکون را هم تنظیم کنید :

img.Bitmap = FontIconToBitmap(Typeface.FONTAWESOME,Chr(0xF17B),35,Colors.White)

در پایان امیدواریم که این مطلب هم مورد استفاده شما عزیزان قرار گرفته باشد …
موفق باشید !

ما را در تلگرام دنبال کنید !
[email protected]

درباره نویسنده

حامد باقری

برنامه نویس اندروید , طراح وب , طراح گرافیک و رابط کاربری
( مدیر مجموعه بیسیک لرن )
www.HamedBagheri.ir

نظر بدهید

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.