我想读取图像,然后更改其格式,但不保存它。
例如,我可以像这样读取图像
BufferedImage img=ImageIO.read(new File(fileName));
然后,我想将的格式更改img
,例如从jpeg更改为png。我发现的唯一方法是先ImageIO.read
写入然后读取新图像,但这似乎确实是一种有效的方法。
当您通过“读取”图像时
BufferedImage img=ImageIO.read(new File('myimage.png'));
您不仅要读取而且还要对其进行解码,即,将(例如)PNG格式的原始字节转换为您的应用程序或API可以操纵(或显示)的“ RAW”格式-在这种情况下为a BufferedImage
。完成此操作后,该图像来自PNG文件的事实就会被遗忘。要将其读取为PNG并将其另存为JPEG,您需要对其进行解码(作为PNG),然后对其进行编码(作为JPG)。
我想读取图像,然后更改其格式,但不保存它。
图像的“格式”(在PNG / JPEG意义上)为您提供了一种按位序列打包图像的方法。因此,您的愿望毫无意义。至多,您可以将那些位存储在内存中(用途是什么?),但这与“保存它”(存储到内存而不是磁盘)相同。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句