如何将二维整数数组转换为 java 中的图像?

How to convert a 2d array of integers to an image in java?

我有一个正整数数组。我如何将其显示为图像?我还不知道数组包含的值的范围或数组的大小。有人问了类似的问题 here。但是如果不搜索可能非常大的数组,我不知道可能的值。就效率和代码长度而言,执行此操作的最佳方法是什么?

这是数据可能是什么的一个小例子

    0   2   4   6   8   10  12  14  16
    2   2   6   6   10  10  14  14  18
    4   6   4   6   12  14  12  14  20
    6   6   6   6   14  14  14  14  22
    8   10  12  14  8   10  12  14  24
   10   10  14  14  10  10  14  14  26
   12   14  12  14  12  14  12  14  28
   14   14  14  14  14  14  14  14  30
   16   18  20  22  24  26  28  30  16
   18   18  22  22  26  26  30  30  18

看看here.

int xLenght = arr.length;
int yLength = arr[0].length;
BufferedImage b = new BufferedImage(xLenght, yLength, 3);

for(int x = 0; x < xLenght; x++) {
    for(int y = 0; y < yLength; y++) {
        int rgb = (int)arr[x][y]<<16 | (int)arr[x][y] << 8 | (int)arr[x][y]
        b.setRGB(x, y, rgb);
    }
}
ImageIO.write(b, "Doublearray", new File("Doublearray.jpg"));
System.out.println("end");

现在,重构此代码以读取正确的输入。