Mi viene assegnato un array [] in Java che contiene i byte per un'immagine e devo inviarlo in un'immagine. Come potrei fare questo?Byte Array su Oggetto immagine
Molto grazie
Mi viene assegnato un array [] in Java che contiene i byte per un'immagine e devo inviarlo in un'immagine. Come potrei fare questo?Byte Array su Oggetto immagine
Molto grazie
BufferedImage img = ImageIO.read(new ByteArrayInputStream(bytes));
Secondo la documentazione di Java, sembra che è necessario utilizzare the MemoryImageSource Class per mettere l'array di byte in un oggetto in memoria, e quindi utilizzare Component.createImage (ImageProducer) accanto (che passa nella tua MemoryImageSource , che implementa ImageProducer).
Dal momento che suona come sai già che cosa formato di byte [] è (ad esempio RGB, ARGB, BGR ecc) potrebbe essere in grado di utilizzare BufferedImage.setRGB(...), o una combinazione di BufferedImage.getRaster() e WritableRaster.setPixels(...) o WritableRaster.setSamples(...). In entrambi i casi, entrambi questi metodi richiedono di trasformare il byte [] in uno di int [], float [] o double [] a seconda del formato dell'immagine.
Se si conosce il tipo di immagine e solo vuole generare un file, non c'è alcuna necessità di ottenere un'istanza BufferedImage. Basta scrivere i byte su un file con l'estensione corretta.
OutputStream out = null;
try {
out = new BufferedOutputStream(new FileOutputStream(path));
out.write(bytes);
} finally {
if (out != null) out.close();
}
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);
Questo non risponde alla domanda, la domanda era per la scrittura in un file immagine. Questa risposta è per leggere DA un file immagine. Che cosa è con tutti i voti positivi? – Sixtoo
Il titolo dice che, ma la domanda dice che hanno una matrice di byte e hanno bisogno di un'immagine, questo è ciò che fa. –