java - 如何从 BufferedImage 中获取 InputStream?

标签 java image-processing javax.imageio

如何从 BufferedImage 对象中获取 InputStream?我试过了,但 ImageIO.createImageInputStream() 总是返回 NULL

BufferedImage bigImage = GraphicsUtilities.createThumbnail(ImageIO.read(file), 300);
ImageInputStream bigInputStream = ImageIO.createImageInputStream(bigImage);

图像缩略图正在正确生成,因为我可以成功地将 bigImage 绘制到 JPanel

最佳答案

来自 http://usna86-techbits.blogspot.com/2010/01/inputstream-from-url-bufferedimage.html

效果很好!

Here is how you can make an InputStream for a BufferedImage:

URL url = new URL("http://www.google.com/intl/en_ALL/images/logo.gif");
BufferedImage image = ImageIO.read(url);
ByteArrayOutputStream os = new ByteArrayOutputStream();
ImageIO.write(image, "gif", os);
InputStream is = new ByteArrayInputStream(os.toByteArray());

关于java - 如何从 BufferedImage 中获取 InputStream?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/649186/

相关文章:

Java 8 ImageIO 在 Linux 中错误地读取 JPEG

html - 无效的 PNG 图像文件 : iDOT doesn't point to valid IDAT chunk

java - 添加自定义尺寸的 JTable

java - 找不到类 'com.sun.facelets.FaceletViewHandler'

image-processing - Caffe 支持 16 位图像吗?如果没有,如何实现支持?

Matlab VideoReader 将帧读取为绿色图像或根本不读取

Javax ImageIO IIOException 显然没有原因

java - CDI 和 servlet 应用程序中的 BeansValidation

java - 字符串拆分并存储在 2 个不同的列表中

python - 如何使用水平投影清理二进制图像?