我正在編寫一個Android應用程序,該應用程序必須根據收到的事件繪製已加載的位圖圖像的已確定部分。從位圖圖像的特定部分更改顏色
我需要繪製(或更改當前顏色)的位圖圖像的一個部分,而不會更改圖像的其餘部分。
比方說,我有一輛車,它被很多部分分開:門,窗戶,車輪等。 每當一個事件(從網絡收到)到達時,我需要改變該特定部分的顏色由事件數據指定的顏色。 什麼是最好的技術來實現這一目標?
我首先想到了FloodFill,正如SO中的許多線程所建議的那樣,但考慮到收到的消息速度很快(每秒幾次),我擔心它會降低性能,因爲它似乎是CPU密集型算法。
我也考慮過有相同圖像的多個部分,每個部分用不同的顏色着色,並在正確的時間顯示正確的一部分,但汽車至少有10個不同的部分,每個部分可以塗上4- 6種顏色,所以我最終會得到幾十張圖片,這對於處理來說是不切實際的,更不用說浪費了記憶。
那麼,有沒有其他的方法?
你不能擁有它 - 如果你想要盲目的速度,他們應該被預先渲染。我沒有看到任何真正的問題。在不瞭解實際「部分」定義等的情況下,很難提供有意義的速度比較。 –
零件本身並不複雜 - 它是一個程式化的繪圖 - 我相信它們會很快吸引。這是令我擔心的部件x顏色組合的數量。我也曾想過爲每個部分分開透明的圖像,用適當的顏色繪製它們並繪製現有的完整圖像,但不知道如何精確定位在正確的座標上。 – mirso