繁体   English   中英

Java:将一维数组映射到 Bitmap

[英]Java: Mapping 1d array to Bitmap

我有以下 2D 数组,其中包含 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 值都映射到蓝色 colors 在结果 Z86EEZF. 换句话说,生成的 Bitmap 将分别具有红色、绿色和蓝色 colors 的三行。 颜色值在rgbColors 2D 数组中给出。 实现这一目标的最有效方法是什么?

编辑:

我尝试了以下操作,但它不起作用并产生了一个空白的图像。

bitmap = Bitmap.createBitmap(data, 3, 3, Bitmap.Config.ARGB_8888);

阅读文档(我对 Android 完全没有专业知识),我认为将data数组更改为

    int[] data = {-65536,
    -65536,
    -65536,
    -16711936,
    -16711936,
    -16711936,
    -16776961,
    -16776961,
    -16776961
};

可以,但您需要阅读文档以了解参数的含义。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM