java - read - Объект Byte Array to Image



java fileinputstream get bytes (4)

Если вы знаете тип изображения и хотите генерировать файл, нет необходимости получать экземпляр BufferedImage. Просто напишите байты в файл с правильным расширением.

OutputStream out = null;

try {
    out = new BufferedOutputStream(new FileOutputStream(path));
    out.write(bytes);
} finally {
    if (out != null) out.close();
}

https://ffff65535.com

Мне задан массив byte [] в Java, который содержит байты для изображения, и мне нужно вывести его в изображение. Как мне это сделать?

Большое спасибо


Поскольку кажется, что вы уже знаете, в каком формате находится массив byte [] (например, RGB, ARGB, BGR и т. Д.), Вы можете использовать BufferedImage.setRGB(...) или комбинацию BufferedImage.getRaster() и WritableRaster.setPixels(...) или WritableRaster.setSamples(...) . К сожалению, оба этих метода требуют преобразования вашего байта [] в один из int [], float [] или double [] в зависимости от формата изображения.


BufferedImage img = ImageIO.read(new ByteArrayInputStream(bytes));

From Database.
Blob blob = resultSet.getBlob("pictureBlob");               
byte [] data = blob.getBytes( 1, ( int ) blob.length() );
BufferedImage img = null;
try {
img = ImageIO.read(new ByteArrayInputStream(data));
} catch (IOException e) {
    e.printStackTrace();
}
drawPicture(img);  //  void drawPicture(Image img);




byte