【问题标题】:Gradually change colour of a bitmap?逐渐改变位图的颜色?
【发布时间】:2013-01-05 08:23:51
【问题描述】:

我在屏幕上有几个位图,它们需要根据设置的值逐渐改变颜色。我研究了 LightingColorFilter、PorterDuffColorFilter 和 ColorMatrix,但问题是颜色不断变化(每秒几十次和许多对象)。上述 2 的问题是它们会造成内存泄漏和性能问题。

任何人都可以提出一种逐渐改变位图颜色的方法(无需创建新位图或临时存储画布吗? - 也会影响性能)。我环顾四周,如果没有 OpenGL,这似乎是不可能的(我对此一无所知)。

【问题讨论】:

    标签: java android


    【解决方案1】:

    我的猜测是,如果您愿意将自己限制在 Android 3.0 (Honeycomb) 及更高版本,则只有使用 OpenGL 或 Renderscript 才能以所需的速度获得您正在寻找的效果。

    要查看的一个项目是 GPUImage 的 Android 端口

    https://github.com/cyberagent-jp/android-gpuimage

    看看你是否可以重复使用预建的过滤器。

    【讨论】:

      【解决方案2】:

      您可以使用颜色索引来使用颜色数量有限(例如 256 种)的图像,然后修改索引的颜色。这已经足够快了。

      这是pallette animation。此示例将 Thread.sleeps 用于动画本身,但您可以将其替换为正确的动画和进度逻辑。

      【讨论】:

        猜你喜欢
        • 2010-12-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-06-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多