Java 获取APNG映像的元数据

Java 获取APNG映像的元数据,java,png,apng,Java,Png,Apng,我目前正在尝试获取apng图像的元数据。我有 我能够完美地从一个apng文件中获得不同的帧,并且我正在使用PNGJ(一个非常棒的用于读取和写入PNG图像的独立Java库),但是我 我无法获取存储在每个数据库中的不同信息 每帧的apng帧延迟 我现在只能够通过使用获取存储在标题部分的简单png图像信息 PngReader pngr = FileHelper.createPngReader(File); pngr.imgInfo; 但我不知道如何针对fcTL块存储信息。我该怎么做呢?看看您当前如何

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

我现在只能够通过使用获取存储在标题部分的简单png图像信息

PngReader pngr = FileHelper.createPngReader(File);
pngr.imgInfo;

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

看看您当前如何从fdAT读取4字节整数“seq”

您可以用同样的方法从fcTL读取信息


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

看看当前如何从fdAT读取4字节整数“seq”

您可以用同样的方法从fcTL读取信息


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

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

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

将它们分别读取为4字节和2字节,这一点对我帮助很大:)感谢将它们分别读取为4字节和2字节,这一点对我帮助很大:)谢谢