byte[]をJavaのBufferedImageに変換する方法
byte[]`から `BufferedImage`への変換には、次のように
InputStream`と `ImageIO.read`を使用します:
InputStream in = new ByteArrayInputStream(imageInByte); BufferedImage bImageFromConvert = ImageIO.read(in);
次の例では、 ”
darksouls.jpg
“という名前のイメージファイルを読み込み、それをバイト配列に変換し、変換されたバイト配列を再利用し、新しい `BufferedImage`に変換して新しい名前に保存します”
new -darksouls.jpg
”
package com.mkyong.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()); } } }
bufferedimage
imageio
リンク://タグ/java/[java]