在Android中模糊部分图像

时间:2014-04-07 10:11:58

标签: android image-processing

有没有办法只模糊android中的部分图像?

搜索了很多,但dint找到了任何帮助。

大多数示例都使用高斯模糊模糊了整个图像视图。

我希望允许用户在imageview&上动态绘制矩形行动起来 矩形区域应该是模糊的。

任何帮助都会非常感激。

5 个答案:

答案 0 :(得分:4)

动态模糊图像不是一件容易的事,请问Roman Nurik(Muzei app背后的人) 他提供了有关this Google+ post的有用提示,但它适用于从焦点到模糊的动画图像。

在你的情况下,我会说你需要(粗略地):

  1. 获取绘制矩形的边界
  2. 获取与前一个边界对应的图像部分
  3. 动态模糊上一个图像部分
  4. 在同一画布中绘制原始图像顶部的模糊图像部分
  5. 设置onDrag侦听器以移动绘制的矩形,然后再次执行步骤1
  6. 编辑:在重新考虑它之后,每次绘制的矩形移动太重时计算并绘制模糊区域,它将无法工作。解决方案可能是这样的:

    1. 模糊整个图像并将其保存到内存中
    2. 获取绘制矩形的边界
    3. 获取与之前界限相对应的模糊图像部分
    4. 在同一画布中绘制原始图像顶部的模糊图像部分
    5. 设置onDrag侦听器以移动绘制的矩形以再次执行步骤2-3-4

答案 1 :(得分:1)

将图像视图放在相对布局中。 您检测到用户的触摸事件。 对于他正在绘制的每个矩形,你添加一个图像视图,它的大小叠加到初始的(我的意思是在相同的相对布局中),当然还有你的模糊效果。 你会看到你的图像视图逐个模糊...

答案 2 :(得分:0)

在图像的一半部分放置另一个布局,并为布局设置半透明类型背景。

答案 3 :(得分:0)

根据需要绘制矩形集alpha = 0.5,以便绘制的动态视图看起来模糊。

答案 4 :(得分:0)

这是模糊的代码: http://shaikhhamadali.blogspot.in/2013/07/gaussian-blur-imagebitmap-in-imageview.html

在此代码中,computeConvolution3x3方法用于计算模糊。对于计算模糊,它将位图转换为像素数组,然后应用于这些像素。所以你必须要做的就是获得想要模糊的那部分图像的像素数组。