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

آموزش بلور کردن یک ImageView

hadighorbani  7 سال پیش  4 سال پیش
+12 0

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

من از MinSdk 14 استفاده کردم و تا بحال برای ورژن های پایینترش تست نزدم پس پیشنهاد میکنم از همین ورژن استفاده کنین.

- تو مرحله اول یه کلاس بسازید به نام My_Blur

- توی این کلاس این متد رو بنویسید :

public static Bitmap blur(Context context, Bitmap image) {
final float BLUR_RADIUS = 25f; // درجه ی بلور که تا حداکثر ۲۵ جا داره
if (null == image) return null;

Bitmap outputBitmap = Bitmap.createBitmap(image);
final RenderScript renderScript = RenderScript.create(context);
Allocation temp_input = Allocation.createFromBitmap(renderScript, image);
Allocation temp_output = Allocation.createFromBitmap(renderScript, outputBitmap);

ScriptIntrinsicBlur theIntrinsic = ScriptIntrinsicBlur.create(renderScript, Element.U8_4(renderScript));
theIntrinsic.setRadius(BLUR_RADIUS);
theIntrinsic.setInput(temp_imput);
theIntrinsic.forEach(temp_output);
tmpOut.copyTo(outputBitmap);
return outputBitmap;
}
 

- این هم از اکتیویتی Main :

ImageView my_image = (ImageView)findViewById(R.id.my_image);
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.my_image);
Bitmap blureBitmap = My_Blur.blur(this , bitmap);
my_image.setImageBitmap(blureBitmap);
 

فک کنم کد ها خیلی واضحه واسه همین توضیحی نمیدم اما اگه دوستان هر جا سوالی داشتن بگن در خدمتشون هستم

موفق باشید.

+1 0
امکانش هست این کار رو روی یه text view انجام داد؟یا کلا برای textview چه افکت هایی هست؟ (7 سال پیش)
+1 0
سلام مرسی از آموزش خوبت یه سوال داشتم اونم اینکه فرض کن من Toolbar دارم بک گراند Layout اصلی که کل صفحه رو گرفته میخوام Toolbar حالت شیشه ای داشته باشه و بلور بشه این شدنیه؟ (7 سال پیش)
+1 0
نه فکر نمیکنم چون این افکت صرفا با BitmapFactory نوشته شده و برای ImageView هستش. البته میتونید برای بلور کردن سایر ویو ها از کتابخونه ی Blurry استفاده کنید. ( البته دارم یه لایبرری کاستوم مینویسم که بشه کل ویو هارو به این شکل بلور کرد ) (7 سال پیش)
0 0
برای اینکه تولبارتون شیشه ای بشه پیشنهاد میکنم از کد ۸ رقمی هگز استفاده کنید. اما بله در کل شدنیه (7 سال پیش)
+2 0
@ MJZ376 : شما میتونید روی ImageView یک String رو تبدیل به Bitmap کنید و نمایش بدید روی همون Bitmap که یک String تبدیل به عکس شده میتونید همین RenderScript رو اعمال کنید (7 سال پیش)
+1 0
شیشه ای کردنش رو میدونم اما می خوام عکس عادی باشه یعنی بدون blur باشه فقط قسمتی که toolbar قرار گرفته Blur بشه (7 سال پیش)
+1 0
یه چیزی شبیه به این : لینک (7 سال پیش)
+1 0
بهتر بود یک تصویر هم به عنوان نتیجه کار می گذاشتید.به هر حال ممنون (7 سال پیش)
0 0
دوست عزیز ScriptIntrinsicBlur از Api 17 وارد شده و تا قبل از اون کار نمی کنه. معیار بنظرم targetsdk باشه نه minimumsdk که من گذاشتم رو 16 الان برام نمی شناسه. (6 سال پیش)
+1 0
سلام . من میخوام برای LinearLayout ‌اینکارو بکنم نه برای ImageView . ‌در واقع تصویرم بک گراند این لینیر لیوت هست . آموزش های مختلفی رو تست کردم هر کدوم به نوعی مشکل رو حل نکردن تازه بیشتر هم کردن :\ (4 سال پیش)
+1 0
متاسفانه 1 سالی میشه دست به کد نبردم، از من که فعلا کمکی بر نمیاد امیدوارم دوستان بتونن راهنمایی لازم رو بکنن. موفق باشید % (4 سال پیش)
+1 0
ممنون ولی به نظرتون من کسیم که مشکلم رو حل نکنم ؟؟ خخخخ حل شد ممنون دو ماه پش بود و یادم نیس چی بود خخخ (4 سال پیش)
 برای این سوال 1 پاسخ وجود دارد. مشاهده پاسخ صحیح
پاسخ به سوال 
hadighorbani  7 سال پیش
+1 0

 پاسخ صحیح

حامد جان اینم یه عکس تستی برای خروجی برنامه :

+1 0
ممنون دوست عزیز موفق باشید (7 سال پیش)

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