Android下高斯模糊的演算法和demo

來源:互聯網
上載者:User

標籤:android   des   style   blog   http   java   

採用純java和RenderScript兩種方式來做高斯演算法。

也可以用NDK來做,想試試的可以參考:

http://stackoverflow.com/questions/2067955/fast-bitmap-blur-for-android-sdk/23119957#23119957

 

 

                               

 

 

 

純java的代碼有點長,可直接參考原始碼

 

放上RenderScript的核心演算法 :

/**     * 第二種方法的延伸     *      * @param bm     * @param view     * @return void     * @author Doraemon     * @time 2014年7月7日下午4:56:53     */    private void rsBlur2(Bitmap bm, ImageView view) {        Bitmap outputBitmap = Bitmap.createBitmap((int) (view.getMeasuredWidth() / 1), (int) (view.getMeasuredHeight() / 1),                Bitmap.Config.ARGB_8888);        RenderScript rs = RenderScript.create(getApplicationContext());        ScriptIntrinsicBlur theIntrinsic = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));        Allocation tmpIn = Allocation.createFromBitmap(rs, bm);        Allocation tmpOut = Allocation.createFromBitmap(rs, outputBitmap);        theIntrinsic.setRadius(25.f);        theIntrinsic.setInput(tmpIn);        theIntrinsic.forEach(tmpOut);        tmpOut.copyTo(outputBitmap);        bm.recycle();        view.setImageDrawable(new BitmapDrawable(getResources(), outputBitmap));        rs.destroy();    }

 

源碼:請戳這裡--------->

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.