【Android】图片模糊效果,Blur image with glide or picasso
来源:互联网 发布:网络叫萝卜什么意思啊 编辑:程序博客网 时间:2024/05/22 15:48
转载署源(By:KyleCe):http://blog.csdn.net/kyleceshen/article/details/50055847
最近项目不忙,本着不断改进项目的宗旨,想到了改进图片加载效果。
受启发于medium,想给图片加上加载中先显示模糊照片的效果,因缘巧合,在周刊上看到了这个开源项目
作者是扩展了ImageView做了一个BlurImageView,扒了扒源码,发现它是这么做的:
1.在控件中用picasso做了一个低质量图片的请求,然后用这个开源算法得到了一张模糊图
2.模糊图载入成功后,再去请求高质量的图片
这样一来思路就清晰了,但作者设计时并没有按照MVC的框架来做,把请求的事情做到了View层
公司的项目中,我用的是比Picasso效率更高的Glide(见博客中第三条);所以几番探索之下,发现如下可行之法:
// set default empty bitmap, or the system will use the other cached pictures instead iv.setImageBitmap(defaultWhiteBitmap); // define the full target, use it when the picture is already blurred final Target fullTarget = new SimpleTarget() { @Override public void onResourceReady(Object resource, GlideAnimation glideAnimation) { if (!(resource instanceof Bitmap)) return; Bitmap fullBitmap = (Bitmap) resource; // full image task // do the full image task iv.setImageBitmap(fullBitmap); } }; // the blur target, blur the picture // when the blur is done, set the full target Target blurTarget = new SimpleTarget() { @Override public void onResourceReady(Object resource, GlideAnimation glideAnimation) { if (!(resource instanceof Bitmap)) return; Bitmap bitmap = (Bitmap) resource; // Do bitmap blur here Bitmap blurBitmap = FastBlurUtil.doBlur(bitmap, 8, true); iv.setImageBitmap(blurBitmap); // full image url String fullImageUrl = "http://www.xxxxxxxxxx"; Glide.with(FragmentMoments.this).load(fullImageUrl).asBitmap().into(fullTarget); } }; // blur image setting //blur image url String blurImageUrl = "http://www.xxxxxxxxxx"; Glide.with(FragmentMoments.this).load(blurImageUrl).asBitmap().into(blurTarget);
转载署源(By:KyleCe):http://blog.csdn.net/kyleceshen/article/details/50055847
0 0
- 【Android】图片模糊效果,Blur image with glide or picasso
- android模糊效果blur
- android Blur模糊效果
- Universal-Image-Loader,android-Volley,Picasso、Fresco和Glide图片缓存库的联系与区别
- Universal-Image-Loader,android-Volley,Picasso、Fresco和Glide图片缓存库的联系与区别
- Android图片加载框架(universal-image-loader,Picasso,Glide,Fresco)的用法
- Universal-Image-Loader,android-Volley,Picasso、Fresco和Glide图片缓存库的联系与区别
- Android:图片加载库Glide VS Picasso
- Android 图片缓存函数库 Glide vs Picasso
- Android图片加载库Picasso和Glide
- Universal-Image-Loader,android-Volley,Picasso、Fresco和Glide五大Android开源组件加载网络图片比较
- Universal-Image-Loader,android-Volley,Picasso、Fresco和Glide五大Android开源组件加载网络图片比较
- Universal-Image-Loader,android-Volley,Picasso、Fresco和Glide五大Android开源组件加载网络图片比较
- Universal-Image-Loader,android-Volley,Picasso、Fresco和Glide五大Android开源组件加载网络图片比较
- Universal-Image-Loader,android-Volley,Picasso、Fresco和Glide五大Android开源组件加载网络图片比较
- Universal-Image-Loader,android-Volley,Picasso、Fresco和Glide五大Android开源组件加载网络图片比较
- 常用5大 Android网络加载图片组件的优缺点比较---Glide、Fresco、Picasso、android--Volley、UniVersal--image--loader
- iOS 处理图片 高斯模糊 image图片 blur模糊度
- 设计模式之--工厂方法
- 批量给多台Android手机安装APK脚本
- git删除本地仓库
- struts2工作原理
- 随语
- 【Android】图片模糊效果,Blur image with glide or picasso
- C++重载<<和>>(输入输出运算符)
- Android Fragment---给动作栏添加项目
- Android开发总结笔记 SearchView&Search(搜索相关) 1-3-7
- 3张图解决 Windows cmd dos 乱码问题
- 折腾:瀑布流布局(基于多栏列表流体布局实现)
- C++primer plus第六版课后编程练习答案5.4
- iOS屏幕旋转问题
- iOS开发——网络请求案例汇总