将BufferedImage转为byte[]数组,亲测可用
有时候我们仅仅想根据BufferedImage来获得一个byte[],以便在接下来对其进行base64编码。这时可以考虑使用如下的方法,可以避免生成图片到磁盘,再从磁盘读取转化为byte[]再进行编码。
/**
* 将BufferedImage转换为byte[]
* @param image
* @return
*/
public byte[] bufferedImageToByteArray(BufferedImage image) throws IOException{
ByteArrayOutputStream os = new ByteArrayOutputStream();
ImageIO.write(image, "png", os);
return os.toByteArray();
}