我如何在 python 中检测 APNG?

How do i detect APNG in python?

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

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

此解决方案适用于 python 来自此响应:

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