Android模糊surfaceview用于相机

use*_*587 17 android blur surfaceview android-camera

我在我的Android应用程序中有一个相机预览.你可能都知道它是由surfaceviewandroid 实现的.

在我的照片应用程序中,允许用户拍照,我想模糊相机预览(表面视图),如果用户还没有登录,如果用户登录,我将显示正常预览(没有模糊)

模糊如同 在此输入图像描述

但似乎没有办法做到这一点

我想到了几件事,但我不确定如何实现它

  1. 使用模糊叠加并将其放置在曲面视图的顶部,但是如何创建这样的模糊叠加?
  2. 另一种方法是更改​​窗口的属性,但我无法对surfaceview执行此操作,

     getWindow().addFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND);
    
    Run Code Online (Sandbox Code Playgroud)

那么我们可以创建一个窗口覆盖surfaceview并设置这样的标志吗?我不这么认为

谁能告诉我如何模糊相机预览,这是一个表面视图

注意:我试图模糊一个区域,这是相机预览的输出,所以它不像我模糊静态图像,模糊区域将根据你的手机相机的位置而改变

mat*_*gic 2

执行此操作的最佳方法是拍摄控件的屏幕截图,对其应用模糊,然后将该图像显示在原始控件的顶部。这就是雅虎天气应用程序的做法,也是谷歌建议你做这样的事情的方式。

渲染脚本模糊速度很快。我也有一些代码,但目前手头没有。

这些可能会有所帮助:

http://blog.neteril.org/blog/2013/08/12/blurring-images-on-android http://docs.xamarin.com/recipes/android/other_ux/drawing/blur_an_image_with_renderscript/

我还读到 Android 内置了一些方法可以做到这一点,但 API 不是公开的,所以我们不能使用它......这很糟糕。