Android Picasso使用高斯模糊處理的示例代碼
眾所周知,Picasso是一個(gè)在Android開(kāi)發(fā)中經(jīng)常使用到的圖片加載庫(kù),常規(guī)用法一般是這樣:
Picasso.with(context)
.load(img_url)
.config(Bitmap.Config.RGB_565)
.into(imageView);
還有不使用緩存的用法:
Picasso.with(context)
.load(img_url)
.config(Bitmap.Config.RGB_565)
.memoryPolicy(MemoryPolicy.NO_CACHE, MemoryPolicy.NO_STORE)
.into(imageView);
等等一系列用法不一一列舉,前段時(shí)間遇到一個(gè)需要使用高斯模糊的需求,起初找了一些處理的代碼,但后面發(fā)現(xiàn)Picasso在加載圖片的時(shí)候可以直接進(jìn)行處理,所以去學(xué)習(xí)了一下這個(gè)用法,和其他用法一樣,各種點(diǎn)點(diǎn)點(diǎn),這次是transform():
Picasso.with(context)
.load(img_url)
.config(Bitmap.Config.RGB_565)
.memoryPolicy(MemoryPolicy.NO_CACHE, MemoryPolicy.NO_STORE)
.transform(new BlurTransformation(this))
.into(imageView);
使用transform實(shí)現(xiàn)高斯模糊,其中關(guān)鍵代碼為BlurTransformation的實(shí)現(xiàn):
public class BlurTransformation implements Transformation {
RenderScript rs;
public BlurTransformation(Context context) {
super();
rs = RenderScript.create(context);
}
@Override
public Bitmap transform(Bitmap bitmap) {
Bitmap blurredBitmap = bitmap.copy(Bitmap.Config.ARGB_8888, true);
Allocation input = Allocation.createFromBitmap(rs, blurredBitmap, Allocation.MipmapControl.MIPMAP_FULL, Allocation.USAGE_SHARED);
Allocation output = Allocation.createTyped(rs, input.getType());
ScriptIntrinsicBlur script = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));
script.setInput(input);
//設(shè)置模糊半徑
script.setRadius(14);
script.forEach(output);
output.copyTo(blurredBitmap);
bitmap.recycle();
return blurredBitmap;
}
@Override
public String key() {
return "blur";
}
}
新建好這個(gè)類(lèi)后,則在Picasso使用是,作為參數(shù)給transform設(shè)置進(jìn)去即可。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
android整數(shù)二分模板徹底解決邊界問(wèn)題
這篇文章主要介紹了android整數(shù)二分模板徹底解決邊界問(wèn)題,主要利用android整數(shù)二分模板解決邊界問(wèn)題,需要的朋友可以參考一下,希望對(duì)你有所幫助2021-12-12
Android顯示系統(tǒng)SurfaceFlinger詳解
本文詳細(xì)講解了Android顯示系統(tǒng)SurfaceFlinger,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-12-12
android4.0屏蔽HOME鍵的簡(jiǎn)單實(shí)現(xiàn)
這篇文章主要介紹了android4.0屏蔽HOME鍵的簡(jiǎn)單實(shí)現(xiàn),需要的朋友可以參考下2014-02-02
Android基于AlarmManager實(shí)現(xiàn)用戶(hù)在線心跳功能示例
這篇文章主要介紹了Android基于AlarmManager實(shí)現(xiàn)用戶(hù)在線心跳功能,結(jié)合檢測(cè)用戶(hù)在線功能實(shí)例形式分析了AlarmManager全局定時(shí)器的功能、使用方法及相關(guān)注意事項(xiàng),需要的朋友可以參考下2017-10-10
Android仿正點(diǎn)鬧鐘時(shí)間齒輪滑動(dòng)效果
這篇文章主要為大家詳細(xì)介紹了Android仿正點(diǎn)鬧鐘時(shí)間齒輪滑動(dòng)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01
Android 解決游戲發(fā)行切包資源索引沖突的問(wèn)題
這篇文章主要介紹了Android 解決游戲發(fā)行切包資源索引沖突的問(wèn)題,幫助大家更好的理解和學(xué)習(xí)使用Android,感興趣的朋友可以了解下2021-03-03
Android開(kāi)發(fā) OpenGL ES繪制3D 圖形實(shí)例詳解
這篇文章主要介紹了Android開(kāi)發(fā) OpenGL ES繪制3D 圖形實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2016-09-09

