Java:将1d数组映射到位图
我有以下2D数组,它保存RGB通道的颜色强度值Java:将1d数组映射到位图,java,android,Java,Android,我有以下2D数组,它保存RGB通道的颜色强度值 // create a 2d array for colors int[][] rgbColors = { {255, 0, 0}, //red {0, 255, 0}, //green {0, 0, 255}, //blue }; 我还有一个1D阵列: // Data array int [] data = {0, 0, 0, 1, 1, 1, 2, 2,
// create a 2d array for colors
int[][] rgbColors = {
{255, 0, 0}, //red
{0, 255, 0}, //green
{0, 0, 255}, //blue
};
我还有一个1D阵列:
// Data array
int [] data = {0, 0, 0, 1, 1, 1, 2, 2, 2}
我想将数据
数组重塑为3x3位图图像
,这样所有0值都映射到红色,所有1值都映射到绿色,所有2值都映射到结果位图中的蓝色。换句话说,生成的位图将有三行,分别为红色、绿色和蓝色。颜色值在rgbColors
2D数组中给出。实现这一目标最有效的方法是什么
编辑:
我试着跟随,但它不起作用,产生了一个空白的白色图像
bitmap = Bitmap.createBitmap(data, 3, 3, Bitmap.Config.ARGB_8888);
阅读文档(我在Android方面没有任何专业知识),我认为将数据
数组更改为
int[] data = {-65536,
-65536,
-65536,
-16711936,
-16711936,
-16711936,
-16776961,
-16776961,
-16776961
};
将工作,但您需要阅读以了解参数的含义。工作正常,我知道位图可以理解这些颜色强度。你能告诉我这些值叫什么吗?我在哪里可以找到这种格式的颜色表?@HaroonS。我不是专家,但这些是形式上的,这些值在本节中给出。