File: iconify/tools/dump-icns.py

File: iconify/tools/dump-icns.py

"""
=========================================================
Parse and display the structure of an Apple .icns file,
whose name is passed in as a command line argument.
See iconify.py for creating .icns (and .ico) files,
and for links to details on icon format and type codes.
=========================================================
"""
import sys, struct
file = open(sys.argv[1], 'rb')
# 8-byte header
magic = file.read(4)
print('Magic: ', magic)
filelen = struct.unpack('>I', file.read(4))
print('File length: ', filelen[0])
# list of length+imagedata
while True:
 type_ = file.read(4)
 if not type_:
 break # eof
 print('-' * 40)
 print('Icon type: ', type_)
 imglen = struct.unpack('>I', file.read(4))
 print('Image length:', imglen[0])
 imgdata = file.read(imglen[0] - 8) # less type+length 
 print('Image data: ')
 print(imgdata[:100]) # first bytes
 print('...')
 print(imgdata[-100:]) # last bytes
print('-' * 40)
rest = file.read()
print('Remainder: ', rest)
assert rest == b''



AltStyle によって変換されたページ (->オリジナル) /