【问题标题】:Getting metadata of an APNG image获取 APNG 图像的元数据
【发布时间】:2012-10-21 19:43:14
【问题描述】:

我目前正在尝试获取 apng 图像的元数据。我有 能够完美地从一个 apng 文件中获取不同的帧,我正在使用 PNGJ(一个非常棒的独立 Java 库,用于读取和写入 PNG 图像),但我 我无法获得针对每个存储的不同信息 apng 帧像每一帧的延迟。

我目前只能使用

获取存储在标题部分中的简单 png 图像信息
PngReader pngr = FileHelper.createPngReader(File);
pngr.imgInfo;

但我不知道如何针对 fcTL 块存储信息。我该怎么做?

【问题讨论】:

    标签: java png apng


    【解决方案1】:

    您省略了您正在使用PNGJ 库的信息。正如我在另一个 answer 中提到的,这个库不解析 APGN 块(fcTL、fdAT)。它加载它们(您可以在 ChunksList 属性中检查它们),但它们将被设置为“未知”块,因此二进制数据将以原始形式保留。如果您想查看 fcTL 块的内容,您可以自己解析二进制文件,或者自己实现该块类型的逻辑并将其注册到阅读器中(here's an example 用于自定义块)。

    【讨论】:

      【解决方案2】:

      看看你目前是如何从 fdAT 读取 4 字节整数 'seq' 的。

      您可以以同样的方式从 fcTL 读取信息。

      请记住,有些信息在 fcTL 中存储为 4 个字节,有些为 2 个字节,有些为 1 个字节。

      【讨论】:

      • 把它们读成 4 个字节和 2 个字节,这一点真的帮了我很多:) 谢谢
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-09
      • 2013-08-20
      • 1970-01-01
      • 1970-01-01
      • 2012-09-10
      • 2016-02-25
      相关资源
      最近更新 更多