با سلام و سپاس خدمت کاربران عزیز سایت یاهو ۹۸ YAHOO
با استفاده از تابع زیر میتوانید افکت سیاه و سفید را روی یک تصویر (Bitmap) تنظیم کنید !
ابتدا کتابخانه XUI و BitmapCreator را فعال کنید ( این دو کتابخانه در لیست کتایخانه های اصلی بیسیک فور اندروید موجود میباشند ) و کد زیر را به اکتیویتی مورد نظرتان اضافه کنید :
Public Sub GreyScale (bmp As B4XBitmap) As B4XBitmap
Dim bc As BitmapCreator
bc.Initialize(bmp.Width / bmp.Scale, bmp.Height / bmp.Scale)
bc.CopyPixelsFromBitmap(bmp)
Dim argb As ARGBColor
For x = 0 To bc.mWidth - 1
For y = 0 To bc.mHeight - 1
bc.GetARGB(x, y, argb)
Dim c As Int = argb.r * 0.21 + argb.g * 0.72 + 0.07 * argb.b
argb.r = c
argb.g = c
argb.b = c
bc.SetARGB(x, y, argb)
Next
Next
Return bc.Bitmap
End Sub
در واقع این کد یک تصویر را از نوع Bitmap از شما میگیرد و همان تصویر را به صورت سیاه و سفید از نوع Bitmap بر میگرداند . برای مثال به شکل زیر میتوانید تصویر یک ImageView را سیاه و سفید کنید :
ImageView1.Bitmap = GreyScale(ImageView1.Bitmap)
