Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Android';s图形API_Android_Graphics_Indexed Image - Fatal编程技术网

使用Android';s图形API

使用Android';s图形API,android,graphics,indexed-image,Android,Graphics,Indexed Image,我正在为Android制作一个绘图程序,我想支持的功能之一是能够调整颜色并实时看到绘图中的颜色变化 为了表示图形,程序在内部存储索引的2D int数组(“颜色索引数组”),该数组引用有限的调色板数组。调整图形的一部分时,颜色索引数组将与实际绘制到屏幕的位图(“屏幕位图”)一起调整 使用这种方法,在调整颜色时,我必须循环整个颜色索引数组并重新渲染整个位图。我希望避免在整个阵列中循环 我尝试过的一件事是为调色板中的每种颜色保留一个单独的位图。每个位图包含0xff(其中像素设置为该颜色)和0x00(其

我正在为Android制作一个绘图程序,我想支持的功能之一是能够调整颜色并实时看到绘图中的颜色变化

为了表示图形,程序在内部存储索引的2D int数组(“颜色索引数组”),该数组引用有限的调色板数组。调整图形的一部分时,颜色索引数组将与实际绘制到屏幕的位图(“屏幕位图”)一起调整

使用这种方法,在调整颜色时,我必须循环整个颜色索引数组并重新渲染整个位图。我希望避免在整个阵列中循环

我尝试过的一件事是为调色板中的每种颜色保留一个单独的位图。每个位图包含0xff(其中像素设置为该颜色)和0x00(其中未设置)。当颜色改变时,我使用新颜色的颜料在屏幕位图顶部绘制正在改变的颜色的ALPHA_8位图

这个解决方案很有效,而且比简单的循环解决方案更有效,但我遇到的问题是,它在ALPHA_8位图上不起作用。它默默地失败了。相反,我需要为每个ALPHA_8位图维护一个单独的位图,然后使用它来更新实际的位图。这是不可取的,因为它将应该是O(1)操作的操作转换为O(n)操作,并将ALPHA_8位图所需的存储量加倍

我觉得我没有看到一个明显的解决办法。有什么我错过的吗