gpt4 book ai didi

java - Gif 图像描述符索引

转载 作者:行者123 更新时间:2023-12-01 13:54:42 25 4
gpt4 key购买 nike

我一直在使用 java.mageio.stream api 将 gif 图像作为 ImageInputStream 读取。有没有办法可以“手动”解析该流,以便找到图像描述符 block 开头的索引位置?根据 Gif 文档,图像分隔符 - 标识图像描述符的开头,固定值 0x2C。我一直在读取流的每个字节并将其与“0x2c”值进行匹配,但显然这是不正确的,因为存在超过一个字节值的“属性”。我正在尝试手动执行此操作,因为我试图避免此时加载整个图像。任何想法都会受到欢迎。提前致谢

最佳答案

只是为了提供答案,以便我们将其标记为已回答:

在 Java 中从 GIF 图像描述符获取数据的最简单方法是使用 ImageIO,而不是手动解析 GIF 结构。

对于图像宽度和高度等简单值,您可以使用 ImageReader 上的相应方法,如下所示:

ImageInputStream stream = ImageIO.createImageInputStream(gif); // gif is File or InputStream
ImageReader reader = ImageIO.getImageReaders(stream).next();
reader.setInput(stream);
int w = reader.getWidth(0);
int h = reader.getHeight(0);

有关 GIF 的更多信息,您可以使用:

IIOMetadata metadata = reader.getImageMetadata(0);

有关 native 元数据格式,请参阅 GIF metadata ,对于标准(格式中性)元数据格式,请参阅 standard metadata .

关于java - Gif 图像描述符索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19678620/

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