【问题标题】:RenderScript "slow" blurRenderScript“慢”模糊
【发布时间】:2016-05-17 07:37:53
【问题描述】:

我一直在为我的登录屏幕在图像上摆弄 RenderBlur,我已经让一切都可以使用 runnable() 和延迟立即模糊图像,但是我试图让它变慢在用户名和密码字段出现时模糊。

我环顾四周(可能看错了地方),但我没有找到任何与我所追求的东西相关的东西。我尝试使用while循环并在之后延迟一个blurradius值增量并发送到blurBitmap类方法,但它仍然会立即模糊它(这意味着我可能在某个地方搞砸了一些东西并且很可能会继续尝试这个方法直到找到更好的解决方案).. 否则它会崩溃。

有谁知道,首先这是否可以通过 RenderScript 实现?如果是这样,我应该搜索什么。

感谢您提供的任何帮助。

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

【问题讨论】:

    标签: android blur renderscript


    【解决方案1】:

    您可以使用 RenderScript 执行此操作,尽管您现在的操作方式听起来不是一个好主意。考虑使用自定义Animator,然后您可以对图像运行 RS 模糊。从长远来看,使用Animator 会更加灵活,并且会自动与视图系统绑定,而不是要求您显式处理ViewActivity 状态。

    @JasonWihardja 概述的方法也可以,但我还是建议在Animator 或类似机制中这样做。

    【讨论】:

    • 我希望有某种动画功能,我会进一步研究并祈祷我能弄清楚:P
    • 您可能会发现这篇文章有助于您开始使用 Animator 对象:hiqes.com/android-animations-pt2
    【解决方案2】:

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

    你可以这样做:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多