آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

بلور کردن قسمتی از imageview

kazemian  9 سال پیش  9 سال پیش
0 0

سلام دوستان
من یک image view دارم میخوام با کد قسمتی از تصویر رو به حالت بلور در بیارم
چطوری میتونم این کار رو انجام بدم؟

 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
dev.amir  9 سال پیش
+1 0

سلام خدا قوت دوست عزیز

در ابتدا باید تنظیمات کتابخانه رندر اسکریپت را در گردل انجام دهیم که به ترتیب زیر است.

1
2
3
4
5
6
7
8
9
10
11
android {
 
defaultConfig {
 
renderscriptTargetApi 19
 
renderscriptSupportModeEnabled 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 ) );
0 0
ممنونم از جوابت دوست من ، ببخشید با این کد ها کل عکس بلور میشه؟من میخواستم فقط قسمتی از عکس رو بلور کنم ، مثلا یک سوم پایینی تصویر (9 سال پیش)
0 0
ببخشید کاش کداتونو توی تگ کد مینوشتین (9 سال پیش)
+1 0
راستشو بخواین کامل نمی دونم (9 سال پیش)
0 0
ممنونم از وقتی که گذاشتی (9 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .