如何在python中检测APNG?

2024-09-28 19:25:43 发布

您现在位置:Python中文网/ 问答频道 /正文

APNG文件没有任何明确的方法来检测它们。对于APNg Unaware应用程序,它们显示为正常PNG,并将显示第一个屏幕。检测它们有点麻烦


Tags: 文件方法应用程序屏幕pngapngunaware
1条回答
网友
1楼 · 发布于 2024-09-28 19:25:43

可以通过查看数据是否在IDAT块之前包含acTL块来检测APNG

此解决方案通过以下响应适用于python:https://stackoverflow.com/a/4525194/5997749

def is_apng(a: bytes):
    acTL = a.find(b"\x61\x63\x54\x4C")
    if acTL > 0: # find returns -1 if it cant find anything
        iDAT = a.find(b"\x49\x44\x41\x54")
        if acTL < iDAT:
            return True
    return False

相关问题 更多 >