
本帖最后由 hpdell 于 2016-1-12 15:12 编辑 请教下,读取sd卡、u盘里面的bmp图片解码显示,sd卡与u盘里面的bmp图片文件完全一样,图片的位图也都一样, bmp的位图图片有:1、4、8、16、24、32位的,除8位U盘里面的图片显示颜色不正常位,其他都正常,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位 位图图片显示时,显示的图片颜色不对,不知道是什么情况啊 ??? |
你好,具体情况如下:
读取sd卡里面的8位位图图片显示如下:
这个图片显示时正常的。
读取u盘里面的8位位图图片显示效果如下:
这个显示时不正常的。
读取sd卡里面的数据截图如下:
这个数据是正常的。
读取u盘里面的8位位图图片数据如下:
这个数据是不正常的 ???????????????????????????????????
从读取的数据来看,读取u盘里面的8位位图图片的数据就是错误的(除读取u盘里面的8位图外,其他位图格式的图片显示都正常),
这是为何啊 ???
8位的bmp数据是从1078的地方开始读取,1078之前的数据都是对的,就是读取图片数据就不对了,真是奇怪啊 !!!!!!
不好意思啊,刚才比较着急,所以颜色没有搞好啊,现在已经搞好了,帮忙看看啊,谢谢了 !!!
亮瞎了。。。
不好意思啊,刚才比较着急,所以颜色没有搞好啊,现在已经搞好了,帮忙看看啊,谢谢了 !!!
不好意思啊,刚才比较着急,所以颜色没有搞好啊,现在已经搞好了,帮忙看看啊,谢谢了 !!!
不好意思啊,刚才比较着急,所以颜色没有搞好啊,现在已经搞好了,帮忙看看啊,谢谢了 !!!
好的