我正在尝试调整图像大小,为此,我首先将输入流转换为缓冲图像,然后使用该缓冲图像对其进行缩放
BufferedImage bim=null;
try {
bim=ImageIO.read(myinputstream);
}
catch (Exception ex) { ex.printStackTrace(); }
Image img=bim.getScaledInstance(100, 100, BufferedImage.SCALE_SMOOTH);
但是这行:
bim=ImageIO.read(myinputstream);
没有给出任何异常,只是在bim中返回null。为什么imageIO无法读取我的输入流。我使用此流将其写在图像上,并且工作正常,但是当ImageIO读取它时,它返回null。我读了某个地方,我需要传递文件对象,但那为什么还要有一个选项呢。有人能帮我吗 。
最佳答案
请参见ImageIO.read。
如果没有注册的ImageReader声称能够读取该流,则返回null。
我怀疑你有这个问题。看看您如何注册您的ImageReader
?
关于java - ImageIO.read(inputstream)在BufferedImage中给出null,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36568214/