gpt4 book ai didi

Java ImageReader 不返回图像

转载 作者:行者123 更新时间:2023-12-02 03:43:12 25 4
gpt4 key购买 nike

我一整天都在阅读 SO 和 Oracle,以了解如何从 .jpg 图像中提取元数据(提取嵌入在 am 图像中的 GPS 数据)。我所处的环境没有太多第三方库的选择。

我偶然发现了 ImageIO、ImageReader、IIOMetadata 组合,但遇到了问题:

    File file = new File("/home/djtorrey/Pictures/test.jpg");
System.out.println(file.isFile());
ImageInputStream iis = ImageIO.createImageInputStream(file);

Iterator readers = ImageIO.getImageReadersByFormatName("jpg");
ImageReader reader = (ImageReader)readers.next();

reader.setInput(iis,true);
int value = reader.getNumImages(false);
System.out.println(value);

这是我现在正在测试的代码。正如您所看到的,我正在创建一个指向图像的文件对象,验证它是否将其视为文件(确实如此),然后根据该文件创建一个 ImageInputStream。我通过将文件推送到 BufferedImage 对象并从中读取数据来验证它没有损坏。

我抓取 jpg 的 ImageReader,将 ImageReader 输入设置为 ImageInputStream,然后检查它看到的图像数量。

我应该看到 1 代表我指向的一张图像,但它一直返回 -1,表示没有图像。

BLUF:上面的代码中我做错了什么,它没有正确看到我指向的图像?

最佳答案

返回值-1仅表示需要进行搜索以确定流中剩余图像的数量:ImageReader Javadoc

关于Java ImageReader 不返回图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36604614/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com