我正在尝试处理图像文件并将其作为 Image 对象返回,但是当我调用 public static BufferedImage getImageFromArray(int[] data, int columns, int rows) 时,我在以下代码中得到了 ArrayIndexOutOfBoundsException。
我将以下像素颜色存储到名为“data”的数组中:
[255,6,65,78,99,100,25,0,45,66,88,190,88,76,50]
我从一个看起来像这样的文本文件中解析出来:
255, 6, 65, 78, 99
100, 25, 0, 45, 66
88, 190, 88, 76, 50
我正在尝试通过使用BufferedImage从这些数据生成图像,目前我正在用这个来打砖墙。根据上面的表结构将列和行传递给它。
public static BufferedImage getImageFromArray(int[] data, int columns, int rows) {
BufferedImage image = new BufferedImage(columns, rows, BufferedImage.TYPE_INT_RGB);
WritableRaster raster = (WritableRaster) image.getData();
raster.setPixels(0,0, columns, rows, data);
image.setData(raster);
return image;
}
当我点击 raster.setPixels 调用时,我得到了一个 OOB 异常。这是否需要我缺少的不同数组或值?