So konvertieren Sie Byte [] in BufferedImage in Java
Bei der Umwandlung vonbyte[]
inBufferedImage
werdenInputStream
undImageIO.read
wie folgt verwendet:
InputStream in = new ByteArrayInputStream(imageInByte); BufferedImage bImageFromConvert = ImageIO.read(in);
Im folgenden Beispiel wird eine Bilddatei mit dem Namen „darksouls.jpg“ gelesen, in ein Byte-Array konvertiert, das konvertierte Byte-Array wiederverwendet, wieder in ein neuesBufferedImage
konvertiert und wieder in a gespeichert neuer Name „new-darksouls.jpg“.
package com.example.image; import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.IOException; import java.io.InputStream; import javax.imageio.ImageIO; public class ImageTest { public static void main(String[] args) { try { byte[] imageInByte; BufferedImage originalImage = ImageIO.read(new File( "c:/darksouls.jpg")); // convert BufferedImage to byte array ByteArrayOutputStream baos = new ByteArrayOutputStream(); ImageIO.write(originalImage, "jpg", baos); baos.flush(); imageInByte = baos.toByteArray(); baos.close(); // convert byte array back to BufferedImage InputStream in = new ByteArrayInputStream(imageInByte); BufferedImage bImageFromConvert = ImageIO.read(in); ImageIO.write(bImageFromConvert, "jpg", new File( "c:/new-darksouls.jpg")); } catch (IOException e) { System.out.println(e.getMessage()); } } }