逐渐改变位图的颜色?

时间:2013-01-04 23:54:17

标签: java android

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

有人可以建议一种逐渐改变位图颜色的方法(不创建新的位图或暂时存储画布吗? - 性能阻碍)。我环顾四周,没有OpenGL似乎不可能(我不知道的东西)。

2 个答案:

答案 0 :(得分:0)

您可以使用颜色索引使用颜色数量有限的图像(例如256),然后修改索引的颜色。这很快。

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

答案 1 :(得分:0)

我的猜测是,如果您愿意将自己限制在Android 3.0(Honeycomb)及以上,那么只有使用OpenGL或Renderscript才能达到所需速度。

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

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

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