publicclassBlurTransformationextendsBitmapTransformation{private RenderScript rs;publicBlurTransformation(Context context){super( context );
rs = RenderScript.create( context );}@Overrideprotected Bitmap transform(BitmapPool pool, Bitmap toTransform,int outWidth,int outHeight){
Bitmap blurredBitmap = toTransform.copy( Bitmap.Config.ARGB_8888,true);// Allocate memory for Renderscript to work with
Allocation input = Allocation.createFromBitmap(
rs,
blurredBitmap,
Allocation.MipmapControl.MIPMAP_FULL,
Allocation.USAGE_SHARED
);
Allocation output = Allocation.createTyped(rs, input.getType());// Load up an instance of the specific script that we want to use.
ScriptIntrinsicBlur script = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));
script.setInput(input);// Set the blur radius
script.setRadius(10);// Start the ScriptIntrinisicBlur
script.forEach(output);// Copy the output to the blurred bitmap
output.copyTo(blurredBitmap);
toTransform.recycle();return blurredBitmap;}@Overridepublic String getId(){return"blur";}}