首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

请教如何从BufferedImage image得到byte[]数据

2012-06-16 
请问怎么从BufferedImage image得到byte[]数据。我现在已经有BufferedImageimage,怎么得到一个byte[]的数组

请问怎么从BufferedImage image得到byte[]数据。
我现在已经有BufferedImage   image,   怎么得到一个byte[]的数组呢??

但是不要经过文件转。否则太慢了了。

[解决办法]
BufferedImage srcImage = ImageIO.read(new File( "c:/xxx.jpg "));
byte[] data = ((DataBufferByte) srcImage.getData().getDataBuffer()).getData();
[解决办法]
一个BufferedImage可以得一个Int[]数组.用它的getRGB方法.取得的是它的相素信息.
从一个int[]到BufferedImage可以用MemoryImageSource.

我想取得byte[]数组是没有什么意义的.当然不是不可以实现.用ImageIO类.
BufferedImage bi=ImageIO.read(new ByteArrayInputSream(byte[]);
ImageIO.write(bufferedImage, "gif ",new ByteArrayOutputStream(new byte[20000]));然后你就可以从这个ByteArrayOutputStream取得你想要的byte啦!
不过这样一点意义也没有,你无法改任何相素.

热点排行