【发布时间】:2020-04-14 02:27:39
【问题描述】:
我有以下二维数组,其中包含 RGB 通道的颜色强度值。
// create a 2d array for colors
int[][] rgbColors = {
{255, 0, 0}, //red
{0, 255, 0}, //green
{0, 0, 255}, //blue
};
我还有另一个一维数组:
// Data array
int [] data = {0, 0, 0, 1, 1, 1, 2, 2, 2}
我想将data 数组重塑为3x3 Bitmap Image,以便所有 0 值都映射到红色,所有 1 值都映射到绿色,所有 2 值都映射到生成位图中的蓝色。换句话说,生成的位图将分别具有红色、绿色和蓝色的三行。颜色值在rgbColors 2D 数组中给出。实现这一目标的最有效方法是什么?
编辑:
我尝试了以下操作,但它不起作用并产生了一个空白图像。
bitmap = Bitmap.createBitmap(data, 3, 3, Bitmap.Config.ARGB_8888);
【问题讨论】: