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