Java ImageIO读取ppm格式的图像返回null

标签 java javax.imageio ppm

javax.imageio.ImageIO 是否读取 PPM 格式的图像(例如 rawbits P6)?

BufferedImage rawimage = ImageIO.read(new File(getClass().getResource("/lena.ppm").getFile()));

没有异常,但 rawimagenull。其他格式(例如 png 和 jpg)也可以正常工作。

我有一个尴尬的解决方法,即去掉标题并逐行扫描 ppm 文件。 我假设 JAVA JAI(现在是 JDK 的一部分)将立即执行此操作。

我错过了什么吗?

最佳答案

据我所知,JAI 仍然不是 JDK/JRE 的一部分,它是单独的下载/安装。并且,是的,您将需要 JAI ImageIO (或其他第 3 方插件,如 my own )来读取 PPM,它不支持开箱即用。

ImageIO.read()对于不支持的格式将返回 null。这是预期/记录的行为。

您可以使用 ImageIO.getReaderFormatNames() 查询已安装支持的格式。 。

关于Java ImageIO读取ppm格式的图像返回null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22869957/

相关文章:

java - 在java中并排显示图片

c - 将 PPM 图像旋转 90 度

java - Android - SeekBar 和 MediaPlayer

java - jsp中的中文国际化问题

java - 包含带有可执行 jar 的图像

java - Eclipse 缺少导入(javax.media.* 和 com.sun.media.*)

java - Android:比较方法违反了其通用契约

java - 如何确定哪些方法在处理网页请求时正在消耗时间?

ffmpeg - 将视频转换为 ppm 文件

c++ - 用 C++ 写一个 PPM 文件并得到扭曲的结果