首页 > 代码库 > Android下高斯模糊的算法和demo
Android下高斯模糊的算法和demo
采用纯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个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。