Discuss / Python / 作业

作业

Topic source
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):
    bmpArr=struct.unpack('<ccIIIIIIhh',data[:30])
    print(bmpArr)
    print(bmpArr[:2])

    if(bmpArr[:2]==(b'B',b'M') or bmpArr[:2]==(b'B',b'A')):
        return {
            'width': bmpArr[6],
            'height': bmpArr[7],
            'color': bmpArr[9]
        }

bi = bmp_info(bmp_data)
assert bi['width'] == 28
assert bi['height'] == 10
assert bi['color'] == 16
print('ok')
def bmp_info(data):
    bmpArr=struct.unpack('<2c6I2h',data[:30])
    # BMP格式采用小端方式存储数据,文件头的结构按顺序如下:

    # 两个字节:'BM'表示Windows位图,'BA'表示OS/2位图;
    # 一个4字节整数:表示位图大小;
    # 一个4字节整数:保留位,始终为0;
    # 一个4字节整数:实际图像的偏移量;
    # 一个4字节整数:Header的字节数;
    # 一个4字节整数:图像宽度;
    # 一个4字节整数:图像高度;
    # 一个2字节整数:始终为1;
    # 一个2字节整数:颜色数。
    print(bmpArr)
    print(bmpArr[:2])
    # if():
    if(bmpArr[:2]==(b'B',b'M') or bmpArr[:2]==(b'B',b'A')):
        return {
            'width': bmpArr[6],
            'height': bmpArr[7],
            'color': bmpArr[9]
        }

  • 1

Reply