如何在 android 中获得清晰的模糊背景?
How to get a clear blurred background in android?
我正在使用 ScriptIntrinsicBlur 模糊位图。但我没有得到我喜欢的背景。
代码:
public Bitmap BlurImage(Bitmap input, Context ctx) {
try {
RenderScript rsScript = RenderScript.create(ctx);
Allocation alloc = Allocation.createFromBitmap(rsScript, input);
ScriptIntrinsicBlur blur = ScriptIntrinsicBlur.create(rsScript, Element.U8_4(rsScript));
blur.setRadius(radius);
blur.setInput(alloc);
Bitmap result = Bitmap.createBitmap(input.getWidth(), input.getHeight(), Bitmap.Config.ARGB_8888);
Allocation outAlloc = Allocation.createFromBitmap(rsScript, result);
blur.forEach(outAlloc);
outAlloc.copyTo(result);
rsScript.destroy();
return result;
} catch (Exception e) {
// TODO: handle exception
return input;
}
}
查看这些示例图片:
第一个是我如何获得背景。
第二个是我需要背景的方式。
!我如何获得背景:我只是将位图缩放到更小的像素,然后发送到上面的代码以对其进行模糊处理。
谢谢。
你可以使用这个库,它会给你想要的结果。
我正在使用 ScriptIntrinsicBlur 模糊位图。但我没有得到我喜欢的背景。 代码:
public Bitmap BlurImage(Bitmap input, Context ctx) {
try {
RenderScript rsScript = RenderScript.create(ctx);
Allocation alloc = Allocation.createFromBitmap(rsScript, input);
ScriptIntrinsicBlur blur = ScriptIntrinsicBlur.create(rsScript, Element.U8_4(rsScript));
blur.setRadius(radius);
blur.setInput(alloc);
Bitmap result = Bitmap.createBitmap(input.getWidth(), input.getHeight(), Bitmap.Config.ARGB_8888);
Allocation outAlloc = Allocation.createFromBitmap(rsScript, result);
blur.forEach(outAlloc);
outAlloc.copyTo(result);
rsScript.destroy();
return result;
} catch (Exception e) {
// TODO: handle exception
return input;
}
}
查看这些示例图片: 第一个是我如何获得背景。
第二个是我需要背景的方式。
!我如何获得背景:我只是将位图缩放到更小的像素,然后发送到上面的代码以对其进行模糊处理。
谢谢。
你可以使用这个库,它会给你想要的结果。