diff --git a/ani2cape.py b/ani2cape.py index ac01cc0..67feffb 100644 --- a/ani2cape.py +++ b/ani2cape.py @@ -43,10 +43,13 @@ def analyzeANI(f): return {'code': -1, 'msg': 'File is not a ANI File!'} logging.debug('魔数检查完成!') frameRate = (1/60)*1000 + readANIH = False while (True): chunkName = f.read(4) - if chunkName == b'LIST': + if chunkName == b'LIST' and readANIH: break + if chunkName == b'anih': + readANIH = True chunkSize = int.from_bytes(f.read(4), byteorder='little', signed=False) if chunkName.lower() == b'rate': logging.debug('发现自定义速率!') diff --git a/ani2gif.py b/ani2gif.py index 818f5fd..e00ae28 100644 --- a/ani2gif.py +++ b/ani2gif.py @@ -17,10 +17,13 @@ def analyzeANIFile(filePath): return {"code":-1,"msg":"File is not a ANI File!"} logging.debug('魔数检查完成!') frameRate = (1/60)*1000 + readANIH = False while(True): chunkName = f.read(4) - if chunkName == b'LIST': + if chunkName == b'LIST' and readANIH: break + if chunkName == b'anih': + readANIH = True chunkSize = int.from_bytes(f.read(4), byteorder='little', signed=False) if chunkName.lower() == b'rate': logging.debug('发现自定义速率!') diff --git a/ani2spritesheet.py b/ani2spritesheet.py index c25bd9e..4332bbe 100644 --- a/ani2spritesheet.py +++ b/ani2spritesheet.py @@ -17,10 +17,13 @@ def analyzeANIFile(filePath): return {"code":-1,"msg":"File is not a ANI File!"} logging.debug('魔数检查完成!') frameRate = (1/60)*1000 + readANIH = False while(True): chunkName = f.read(4) - if chunkName == b'LIST': + if chunkName == b'LIST' and readANIH: break + if chunkName == b'anih': + readANIH = True chunkSize = int.from_bytes(f.read(4), byteorder='little', signed=False) if chunkName.lower() == b'rate': logging.debug('发现自定义速率!')