如何在 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;
          }

  }

查看这些示例图片: 第一个是我如何获得背景。

第二个是我需要背景的方式。

!我如何获得背景:我只是将位图缩放到更小的像素,然后发送到上面的代码以对其进行模糊处理。

谢谢。

你可以使用这个库,它会给你想要的结果。

-> android-stackblur