前言:有一个音乐播放器的项目,背景需要根据歌曲的封面进行模糊展示,搜罗了很久,找到一个不错的解决方案,不需要我们进行NDK的开发,android帮我们在framework实现好了借鉴
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
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(); Allocation blurredAllocation = Allocation.createTyped(rs, t); ScriptIntrinsicBlur blurScript = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs)); blurScript.setRadius(radius); blurScript.setInput(allocation); blurScript.forEach(blurredAllocation); blurredAllocation.copyTo(bitmap); allocation.destroy(); blurredAllocation.destroy(); blurScript.destroy(); t.destroy(); rs.destroy(); return bitmap; }
|
感谢android,感谢开源