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

首頁 > 系統 > Android > 正文

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

2019-10-22 18:25:26
字體:
來源:轉載
供稿:網友

眾所周知,android/195303.html">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設置進去即可。

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


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 扶沟县| 阳泉市| 龙江县| 盐山县| 新民市| 西贡区| 莎车县| 社会| 申扎县| 南康市| 措美县| 苗栗市| 虎林市| 金湖县| 甘南县| 连城县| 南漳县| 射洪县| 榆树市| 嘉荫县| 勃利县| 黎平县| 焉耆| 嘉定区| 文水县| 扎鲁特旗| 茂名市| 黄平县| 治县。| 确山县| 沧州市| 吐鲁番市| 额济纳旗| 仪征市| 墨竹工卡县| 朝阳区| 龙南县| 高安市| 宁德市| 石河子市| 西贡区|