массив int в BufferedImage

я делаю сRobot Класс printscreen, и я преобразую BufferedImage в массив int. Затем я хочу преобразовать массив int обратно в изображение с буферизацией, но это дает ошибку. Это мой код:

Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
BufferedImage printscreen = robot.createScreenCapture(new Rectangle(screen));
int[] pixels = ((DataBufferInt) printscreen.getRaster().getDataBuffer()).getData();

BufferedImage image = new BufferedImage(screen.width, screen.height, BufferedImage.TYPE_INT_RGB);
WritableRaster raster = (WritableRaster) image.getRaster();
raster.setPixels(0, 0, screen.width, screen.height, pixels);

Но я получаю ошибку:ArrayIndexOutOfBoundsException: 2073600 но почему? я

м получаю исключение по этой строке:

raster.setPixels(0, 0, screen.width, screen.height, pixels);

РЕДАКТИРОВАТЬ: Это работает, если я изменю второй тип изображения с буферизацией на TYPE_BYTE_GRAY.

Ответы на вопрос(5)

Ваш ответ на вопрос