国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android Picasso使用高斯模糊處理的示例代碼

2019-12-12 01:51:58
字體:
來源:轉載
供稿:網友

眾所周知,Picasso是一個在Android開發中經常使用到的圖片加載庫,常規用法一般是這樣:

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);

等等一系列用法不一一列舉,前段時間遇到一個需要使用高斯模糊的需求,起初找了一些處理的代碼,但后面發現Picasso在加載圖片的時候可以直接進行處理,所以去學習了一下這個用法,和其他用法一樣,各種點點點,這次是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實現高斯模糊,其中關鍵代碼為BlurTransformation的實現:

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);     //設置模糊半徑    script.setRadius(14);     script.forEach(output);     output.copyTo(blurredBitmap);     bitmap.recycle();     return blurredBitmap;  }   @Override  public String key() {    return "blur";  }}

新建好這個類后,則在Picasso使用是,作為參數給transform設置進去即可。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 云霄县| 忻州市| 固阳县| 嵊州市| 林芝县| 庆阳市| 江华| 淮阳县| 容城县| 尉氏县| 韩城市| 黄冈市| 荣成市| 仙居县| 绥滨县| 玛沁县| 绥宁县| 山东省| 灵宝市| 永吉县| 城固县| 南京市| 米脂县| 普洱| 海安县| 乳山市| 晋江市| 绥化市| 绵阳市| 望谟县| 邳州市| 武清区| 康平县| 达拉特旗| 安徽省| 贡山| 同德县| 三门县| 兰西县| 牙克石市| 栾川县|