这还不简单!!!
return { 'width': 28, 'height': 10, 'color': 16 }
开个玩笑,开个玩笑
#!/usr/bin/env python # -*- coding: utf-8 -*- # Created by TaoYuan on 2017/12/14 0014. # @Link : http://blog.csdn.net/lftaoyuan # Github : https://github.com/seeways # @Remark : Python学习群:315857408 # 请编写一个bmpinfo.py,可以检查任意文件是否是位图文件,如果是,打印出图片大小和颜色数 import base64, struct bmp_data = base64.b64decode( 'Qk1oAgAAAAAAADYAAAAoAAAAHAAAAAoAAAABABAAAAAAADICAAASCwAAEgsAAAAAAAAAAAAA/3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9/AHwAfAB8AHwAfAB8AHwAfP9//3//fwB8AHwAfAB8/3//f/9/AHwAfAB8AHz/f/9//3//f/9//38AfAB8AHwAfAB8AHwAfAB8AHz/f/9//38AfAB8/3//f/9//3//fwB8AHz/f/9//3//f/9//3//f/9/AHwAfP9//3//f/9/AHwAfP9//3//fwB8AHz/f/9//3//f/9/AHwAfP9//3//f/9//3//f/9//38AfAB8AHwAfAB8AHwAfP9//3//f/9/AHwAfP9//3//f/9//38AfAB8/3//f/9//3//f/9//3//fwB8AHwAfAB8AHwAfAB8/3//f/9//38AfAB8/3//f/9//3//fwB8AHz/f/9//3//f/9//3//f/9/AHwAfP9//3//f/9/AHwAfP9//3//fwB8AHz/f/9/AHz/f/9/AHwAfP9//38AfP9//3//f/9/AHwAfAB8AHwAfAB8AHwAfAB8/3//f/9/AHwAfP9//38AfAB8AHwAfAB8AHwAfAB8/3//f/9//38AfAB8AHwAfAB8AHwAfAB8/3//f/9/AHwAfAB8AHz/fwB8AHwAfAB8AHwAfAB8AHz/f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//38AAA==') def bmp_info(data): img_info = struct.unpack_from('<ccIIIIIIHH', data[:30]) # (b'B', b'M', 616, 0, 54, 40, 28, 10, 1, 16) # 'BM'表示Windows位图,'BA'表示OS/2位图 if img_info[0] == b'B' and img_info[1] == b'M' or b'A': return { 'width': img_info[6], 'height': img_info[7], 'color': img_info[9] } else: return None # 测试 bi = bmp_info(bmp_data) assert bi['width'] == 28 assert bi['height'] == 10 assert bi['color'] == 16 print('ok')
Sign in to make a reply
我是世外大帝
这还不简单!!!
开个玩笑,开个玩笑