画像ファイルを処理して 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 例外が発生します。これには、欠落している別の配列または値が必要ですか?