Android下高斯模糊的算法和demo

采用纯java和RenderScript两种方式来做高斯算法。

也可以用NDK来做,想试试的可以参考:

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

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

纯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(); }

源码下载地址:请戳这里--------->

上一篇:在四川大学的第二个冠军游戏在线编程:Peter的X


下一篇:.NET Core2.0应用IdentityServer4