我正在编写一个Android应用程序,该应用程序必须根据收到的事件绘制已加载的位图图像的已确定部分。从位图图像的特定部分更改颜色
我需要绘制(或更改当前颜色)的位图图像的一个部分,而不会更改图像的其余部分。
比方说,我有一辆车,它被很多部分分开:门,窗户,车轮等。 每当一个事件(从网络收到)到达时,我需要改变该特定部分的颜色由事件数据指定的颜色。 什么是最好的技术来实现这一目标?
我首先想到了FloodFill,正如SO中的许多线程所建议的那样,但考虑到收到的消息速度很快(每秒几次),我担心它会降低性能,因为它似乎是CPU密集型算法。
我也考虑过有相同图像的多个部分,每个部分用不同的颜色着色,并在正确的时间显示正确的一部分,但汽车至少有10个不同的部分,每个部分可以涂上4- 6种颜色,所以我最终会得到几十张图片,这对于处理来说是不切实际的,更不用说浪费了记忆。
那么,有没有其他的方法?
你不能拥有它 - 如果你想要盲目的速度,他们应该被预先渲染。我没有看到任何真正的问题。在不了解实际“部分”定义等的情况下,很难提供有意义的速度比较。 –
零件本身并不复杂 - 它是一个程式化的绘图 - 我相信它们会很快吸引。这是令我担心的部件x颜色组合的数量。我也曾想过为每个部分分开透明的图像,用适当的颜色绘制它们并绘制现有的完整图像,但不知道如何精确定位在正确的坐标上。 – mirso