我有一个正整数数组。我如何将其显示为图像?我还不知道数组包含的值的范围或数组的大小。有人提出了类似的问题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");
现在,重构此代码以读取正确的输入。
关于java - 如何在java中将二维整数数组转换为图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31169932/