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?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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