码迷,mamicode.com
首页 > 编程语言 > 详细

InputStream,BufferedImage与byte数组之间的转换

时间:2015-08-18 13:41:42      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:

需要获取网络的一张图片,但是某种需要,要把获取的这段流输入换为BufferedImage流,有的地方还需要转换为byte[].

获得图片地址,获得了一个图片输入流,例如:

   Url img = new  URL(url);
   InputStream in = img.openStream();

接着把输入流转为BufferedImage:

   JPEGImageDecoder decoderFile = JPEGCodec.createJPEGDecoder(in);
   BufferedImage image = decoderFile.decodeAsBufferedImage();

   如果根据这个图片对象,重新draw了一个新的bufferedImage以后,怎么才能获得它的byte数组呢?

通过ImageIO对象进行操作:ImageIO.write(bufferedImage, "jpg", bos); 

   这样就可以根据bos输出流获得byte数组了,减少了通过File进行一次io操作的必要

   这个也对缓存图片有一定的意义。

InputStream,BufferedImage与byte数组之间的转换

标签:

原文地址:http://www.cnblogs.com/myjoan/p/4739102.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!