BufferedImage из массива RGB byte[]JAVA

Программисты JAVA общаются здесь
Anonymous
BufferedImage из массива RGB byte[]

Сообщение Anonymous »


У меня есть массив byte[] со значениями RGB. Я хотел бы создать BufferedImage без установки пикселей один за другим, поскольку изображение может быть большим. Я нашел следующий фрагмент:

byte[]frame = ...; BufferedImage img = новый BufferedImage (ширина, высота, BufferedImage.TYPE_3BYTE_BGR); img.setData(Raster.createRaster(img.getSampleModel(), new DataBufferByte(frame,frame.length), new Point() ) ); Это работает хорошо, но есть небольшая проблема ;-) TYPE_3BYTE_BGR ожидает байты в обратном порядке.

Итак, вопросы:
[*]Можно ли каким-то образом загрузить мой массив без создания нового массива байтов с ожидаемым порядком? [*]Если это невозможно, есть ли лучший способ, чем цикл, скопировать данные из формата RGB в BGR?

Вернуться в «JAVA»