我用Androids Rederscript模糊了一个位图
private Bitmap createBitmap_ScriptIntrinsicBlur(Bitmap src, float r) {
//Radius range (0 < r <= 25)
if(r <= 0){
r = 0.1f;
}else if(r > 25){
r = 25.0f;
}
Bitmap bitmap = Bitmap.createBitmap(src.getWidth(), src.getHeight(),Bitmap.Config.ARGB_8888);
RenderScript renderScript = RenderScript.create(getActivity());
Allocation blurInput = Allocation.createFromBitmap(renderScript, src);
Allocation blurOutput = Allocation.createFromBitmap(renderScript, bitmap);
ScriptIntrinsicBlur blur = ScriptIntrinsicBlur.create(renderScript,Element.U8_4(renderScript));
blur.setInput(blurInput);
blur.setRadius(r);
blur.forEach(blurOutput);
blurOutput.copyTo(bitmap);
renderScript.destroy();
return bitmap;
}
Run Code Online (Sandbox Code Playgroud)
但图像不够模糊.有没有可能模糊半径超过25的图像.当我多次调用模糊功能时,图像会像单个函数调用一样模糊.所以这也不起作用.
谢谢您的帮助.