Java-将bufferedimage转换为byte []而无需写入磁盘

我正在尝试使用Java通过套接字发送多个图像,但我需要一种更快的方法将图像转换为字节数组,以便可以发送它们。我尝试了以下代码,但它向C:\驱动器写入了大约10,000张图像。有没有一种方法可以在不写入磁盘的情况下进行转换?谢谢!

ByteArrayOutputStream outputStream = new ByteArrayOutputStream();

//ImageIO.setUseCache(false);

ImageIO.write(bi.getImage(), "jpg", outputStream);

byte[] imageBytes = outputStream.toByteArray();

回答:

这应该工作:

byte[] imageBytes = ((DataBufferByte) bufferedImage.getData().getDataBuffer()).getData();

以上是 Java-将bufferedimage转换为byte []而无需写入磁盘 的全部内容, 来源链接: utcz.com/qa/431346.html

回到顶部