Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android RenderScript高斯模糊

Android RenderScript高斯模糊

編輯:關於Android編程

看代碼的時候,看到了其中有.rs結尾的文件,不是很明白,還有RenderScript類,看的一臉蒙蔽,不知所雲,然後百度了一下,收貨還真不少,這東西在圖形處理這塊用處挺大的。

今天先說說ScriptIntrinsicBlur,這個類不需要定義rs文件,從這個Intrinsic單詞可以看的出來,它是API17以後內置的類,專門用來處理圖像的,讓圖片變模糊。

public static Bitmap blurBitmap(Bitmap bitmap, float radius, Context context) { 
    //創建渲染腳本上下文 
    RenderScript rs = RenderScript.create(context); 
 
    //為位圖分配內存 
    Allocation allocation = Allocation.createFromBitmap(rs, bitmap); 
 
    Type t = allocation.getType(); 
 
    //用同樣的類型創建內存,一般用這兩種方式創建 <span >Allocation</span> 
    Allocation blurredAllocation = Allocation.createTyped(rs, t); 
 
    //創建高斯渲染腳本  
    ScriptIntrinsicBlur blurScript = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs)); 
    //設置模糊半徑 (maximum 25.0) 
    blurScript.setRadius(radius); 
    //為腳本設置輸入參數  
    blurScript.setInput(allocation); 
    //調用腳本 結果存入 <span >blurredAllocation中</span> 
    blurScript.forEach(blurredAllocation); 
 
    //把腳本結果存入位圖中 因為為native層渲染,所以結果需要復制到上層 
    blurredAllocation.copyTo(bitmap); 
 
    //Destroy everything to free memory 
    allocation.destroy(); 
    blurredAllocation.destroy(); 
    blurScript.destroy(); 
    t.destroy(); 
 
    return bitmap; 
  } 

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

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved