BufferedImage 转为 inputstream
时间: 2023-08-25 20:15:30 浏览: 177
html转为图片
3星 · 编辑精心推荐
要将一个 BufferedImage 转换成一个 InputStream,可以使用 ByteArrayOutputStream 和 ImageIO 类的 write 方法。示例代码如下:
```java
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
public class BufferedImageToInputStream {
public static InputStream convert(BufferedImage bufferedImage) throws IOException {
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
ImageIO.write(bufferedImage, "png", outputStream);
return new ByteArrayInputStream(outputStream.toByteArray());
}
}
```
这个方法的参数是一个 BufferedImage,返回值是一个 InputStream。在方法内部,先创建一个 ByteArrayOutputStream 对象,用于将 BufferedImage 写入内存缓冲区。然后使用 ImageIO 类的 write 方法将 BufferedImage 写入 ByteArrayOutputStream 中,格式为 png。最后,使用 ByteArrayInputStream 将 ByteArrayOutputStream 中的数据转换成 InputStream。如果写入过程中发生错误,该方法会抛出 IOException 异常。
阅读全文