Wie konvertiere ich BufferedImage in byte [] in Java?
Oft müssen Sie BufferedImage in ein Byte-Array konvertieren, um das Bild in einer Datenbank oder zu einem anderen Zweck zu speichern. Einige Konvertierungen sind wie folgt erforderlich:
BufferedImage originalImage = ImageIO.read(new File("c:\\image\\mypic.jpg"));
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write( originalImage, "jpg", baos );
baos.flush();
byte[] imageInByte = baos.toByteArray();
baos.close();
Beispiel
Diese Klasse lädt ein Bild aus "c: \ image \ mypic.jpg". Verwenden Sie ImageIO.write, um das BufferedImage in das ByteArrayOutputStream-Objekt zu schreiben und es in ein Byte-Array zu konvertieren.
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
/*
* @author example
*
*/
public class ImageTest {
public static void main(String [] args){
try{
BufferedImage originalImage =
ImageIO.read(new File("c:\\image\\mypic.jpg"));
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write( originalImage, "jpg", baos );
baos.flush();
byte[] imageInByte = baos.toByteArray();
baos.close();
}catch(IOException e){
System.out.println(e.getMessage());
}
}
}