public class BlurUtils { @TargetApi(17) public static Bitmap blurBitmap(Bitmap bitmap, float radius, Context context) { //Create renderscript RenderScript rs = RenderScript.create(context); //Create allocation from Bitmap Allocation allocation = Allocation.createFromBitmap(rs, bitmap); Type t = allocation.getType(); //Create allocation with the same type Allocation blurredAllocation = Allocation.createTyped(rs, t); //Create script ScriptIntrinsicBlur blurScript = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs)); //Set blur radius (maximum 25.0) blurScript.setRadius(radius); //Set input for script blurScript.setInput(allocation); //Call script for output allocation blurScript.forEach(blurredAllocation); //Copy script result into bitmap blurredAllocation.copyTo(bitmap); //Destroy everything to free memory allocation.destroy(); blurredAllocation.destroy(); blurScript.destroy(); t.destroy(); rs.destroy(); return bitmap; } }
android高斯模糊
最新推荐文章于 2021-05-29 02:39:03 发布