读书人

请教如何从BufferedImage image得到by

发布时间: 2012-06-16 20:34:32 作者: rapoo

请问怎么从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啦!
不过这样一点意义也没有,你无法改任何相素.

读书人网 >J2SE开发

热点推荐