RenderScript"慢"模糊

时间:2016-05-17 07:37:54

标签: android blur renderscript

我一直在为我的登录屏幕上的图像摆弄RenderBlur,我已经让所有东西都可以使用runnable()和延迟来立即模糊图像,不过我是当用户名和密码字段进入视图时,试图让它变得模糊不清。

我有点环顾四周(可能在错误的地方看)但我还没有发现任何与我之后有关的事情。我试图使用while循环并且后面有一个延迟的blurradius值增量并发送到blurBitmap类方法,但它仍然会立即模糊它(意味着我可能在某处弄乱了某些东西并且很可能会继续尝试使用这种方法,直到找到更好的解决方案)..或它崩溃。

有没有人知道,首先使用RenderScript是否可行?如果是这样,我应该搜索什么。

感谢您提供的任何帮助。

资源: https://futurestud.io/blog/how-to-use-the-renderscript-support-library-with-gradle-based-android-projects

2 个答案:

答案 0 :(得分:2)

You can do this with RenderScript, though how you are doing it now doesn't sound like a good idea. Look into using a custom Animator which you can then run a RS blur against the image. Using Animator will be more flexible in the long run and automatically ties in with the view system rather than requiring you to handle View or Activity state explicitly.

The approach @JasonWihardja outlined will also work, but again I would suggest doing this in an Animator or similar mechanism.

答案 1 :(得分:1)

反复模糊图像可能会导致您的应用出现性能问题。

这是你能做的:

  1. 排列2张图像(1张为清晰图像,另一张为 最大模糊版本),以便模糊图像准确放置 清晰图像的顶部。最简单的方法是将ImageView放入FrameLayout
  2. 实现"慢"模糊效果,最初将模糊图像的alpha设置为0.
  3. 然后,使用其中一个视图,发出postDelayed事件,将模糊图像的alpha慢慢增加到255.