JavaでBufferedImageをbyte[]に変換するには?
多くの場合、イメージをデータベースに保存するために、BufferedImageをバイト配列に変換する必要があります。次のように変換する必要があります。
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();
例
このクラスは “c:¥¥image¥¥mypic.jpg”から画像をロードし、ImageIO.writeを使用してBufferedImageをByteArrayOutputStreamオブジェクトに書き込み、バイト配列に変換します。
import java.awt.image.BufferedImage; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; /** ** @author mkyong ** ** /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()); } } }
bufferedimage
image
リンク://タグ/java/[java]