將BufferedImage轉(zhuǎn)為byte數(shù)組娶吞,在傳輸中,圖片是不能直接傳的牵寺,因此需要把圖片變?yōu)樽止?jié)數(shù)組悍引,然后傳輸比較方便;只需要一般輸出流的write方法即可帽氓;而字節(jié)數(shù)組變成BufferedImage能夠還原圖像趣斤。如何取得BufferedImage,如下:
????BufferedImage image = ImageIO.read(new File(path));
????BufferedImage image = ImageIO.read(InputStream inputStream);
1.BufferedImage ?---->byte[]
? ? ? ? 1.1 方法:ImageIO.write(BufferedImage image,String format,OutputStream out);
參數(shù)image表示獲得的BufferedImage;參數(shù)format表示圖片的格式黎休,比如“gif”等浓领;
參數(shù)out表示輸出流,如果要轉(zhuǎn)成Byte數(shù)組势腮,則輸出流為ByteArrayOutputStream即可联贩;
執(zhí)行完后,只需要toByteArray()就能得到byte[];
? ? ? ? ?1.2 例子:?
BufferedImage imageNew= ImageIO.read(inputStream);
ByteArrayOutputStream outStream =new ByteArrayOutputStream();
ImageIO.write(imageNew, "JPEG", outStream);
//把outStream里的數(shù)據(jù)寫入內(nèi)存
return outStream.toByteArray();
2. byte[] ------>BufferedImage
?//將b作為輸入流嫉鲸;
ByteArrayInputStream in = new ByteArrayInputStream(byte[] b);? ?
?//將in作為輸入流撑蒜,讀取圖片存入image中,而這里in可以為ByteArrayInputStream();
BufferedImage image = ImageIO.read(InputStream in);? ??