请教下,读取sd卡,u盘里面的bmp图片解码显示 ?

2019-07-14 16:39发布

本帖最后由 hpdell 于 2016-1-12 15:12 编辑



请教下,读取sd卡、u盘里面的bmp图片解码显示,sd卡与u盘里面的bmp图片文件完全一样,图片的位图也都一样,


bmp的位图图片有:1、4、8、16、24、32位的,除8位U盘里面的图片显示颜 {MOD}不正常位,其他都正常,sd卡里面的所以位图显示都正常。


#pragma pack(4)                                    // 这个地方改成4字节对齐,如果不改成4字节对齐,那么u盘读取失败
typedef  __packed struct{
        unsigned char type[2];
        unsigned long int file_size;
        unsigned long int reserved;
        unsigned long int offset;
        unsigned long int header_info_size;   //0x28
        unsigned long int width;
        unsigned long int height;
        unsigned short int planes;   //always 1
        unsigned short int bit_count; // 1 4 8 16 24 32
        unsigned long int compression;
        unsigned long int image_size; //can set 0(rgb)
        unsigned long int xpels_per_meter;
        unsigned long int ypels_per_meter;
        unsigned long int color_used;
        unsigned long int color_important;
        unsigned long int mask;
        
}BMP_MASK_T;




按照上面改成4字节对齐后,sd卡显示仍然正常,但是读取u盘里面的 8位 位图图片显示时,显示的图片颜 {MOD}不对,不知道是什么情况啊 ???
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。