بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
بلور کردن قسمتی از imageview
سلام دوستان
من یک image view دارم میخوام با کد قسمتی از تصویر رو به حالت بلور در بیارم
چطوری میتونم این کار رو انجام بدم؟
برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال
dev.amir
9 سال پیش
+1
0
سلام خدا قوت دوست عزیز
در ابتدا باید تنظیمات کتابخانه رندر اسکریپت را در گردل انجام دهیم که به ترتیب زیر است.
|
1
2
3
4
5
6
7
8
9
10
11
|
android {defaultConfig {renderscriptTargetApi 19renderscriptSupportModeEnabled true}} |
سپس کلاس زیر را به پروژه خود اضافه کنید و (package android.support.v8.renderscript.*) را به پروژه خود ایمپورت کنید.
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
public class BlurBuilder {private static final float BITMAP_SCALE = 0.4f;private static final float BLUR_RADIUS = 7.5f;public static Bitmap blur(Context context, Bitmap image) {int width = Math.round(image.getWidth() * BITMAP_SCALE);int height = Math.round(image.getHeight() * BITMAP_SCALE);Bitmap inputBitmap = Bitmap.createScaledBitmap(image, width, height, false);Bitmap outputBitmap = Bitmap.createBitmap(inputBitmap);RenderScript rs = RenderScript.create(context);ScriptIntrinsicBlur theIntrinsic = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));Allocation tmpIn = Allocation.createFromBitmap(rs, inputBitmap);Allocation tmpOut = Allocation.createFromBitmap(rs, outputBitmap);theIntrinsic.setRadius(BLUR_RADIUS);theIntrinsic.setInput(tmpIn);theIntrinsic.forEach(tmpOut);tmpOut.copyTo(outputBitmap);return outputBitmap;}} |
نتیجه کد بالا یه عکس بلار شده با فرمت بی ام پی است که میتواند به شکل زیر در برنامه نویسی اندروید فراخوانی کنید.
|
1
2
3
|
Bitmap blurredBitmap = BlurBuilder.blur( getActivity(), originalBitmap );view.setBackgroundDrawable( new BitmapDrawable( getResources(), blurredBitmap ) ); |
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .