def handle_stretchdibits(self, rtype, size, raw): data = StretchDiBits(*unpack_from(b'<18I', raw, 8)) hdr = raw[data.bmp_hdr_offset:data.bmp_hdr_offset + data.bmp_header_size] bits = raw[data.bmp_bits_offset:data.bmp_bits_offset + data.bmp_bits_size] bmp = create_bmp_from_dib(hdr + bits) self.bitmaps.append(bmp)
def DibStretchBlt(self, raw): offset = 0 fmt = '<IHHHHHHHH' raster_op, src_height, src_width, y_src, x_src, dest_height, \ dest_width, y_dest, x_dest = struct.unpack_from('<IHHHHHHHH', raw, offset) offset += struct.calcsize(fmt) bmp_data = raw[offset:] bmp = create_bmp_from_dib(bmp_data) self.bitmaps.append(bmp)