我在屏幕上有几个位图,根据设置的值逐渐需要改变颜色。我已经研究过LightingColorFilter,PorterDuffColorFilter和ColorMatrix,但问题是颜色不断变化(每秒数十次和许多物体)。上面2的问题是它们会造成内存泄漏和性能问题。
有人可以建议一种逐渐改变位图颜色的方法(不创建新的位图或暂时存储画布吗? - 性能阻碍)。我环顾四周,没有OpenGL似乎不可能(我不知道的东西)。
答案 0 :(得分:0)
您可以使用颜色索引使用颜色数量有限的图像(例如256),然后修改索引的颜色。这很快。
这是pallette animation。此示例将Thread.sleeps用于动画本身,但您可以使用正确的动画和进度逻辑替换。
答案 1 :(得分:0)
我的猜测是,如果您愿意将自己限制在Android 3.0(Honeycomb)及以上,那么只有使用OpenGL或Renderscript才能达到所需速度。
要查看的一个项目是GPUImage的Android端口
https://github.com/cyberagent-jp/android-gpuimage
看看你是否可以重复使用预建过滤器。