第35月第18天 bmp对齐
Posted javastart
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第35月第18天 bmp对齐相关的知识,希望对你有一定的参考价值。
1.
#pragma pack(push,1) typedef struct tagBITMAPFILEHEADER uint16_t bfType; uint32_t bfSize; uint32_t bfReserved; uint32_t bfOffBits; BITMAPFILEHEADER; typedef struct tagBITMAPINFOHEADER uint32_t biSize; int32_t biWidth; int32_t biHeight; uint16_t biPlanes; uint16_t biBitCount; uint32_t biCompression; uint32_t biSizeImage; int32_t biXPelsPerMeter; int32_t biYPelsPerMeter; uint32_t biClrUsed; uint32_t biClrImportant; BITMAPINFOHEADER; #pragma pack(pop)
按照上面的代码写出来的文件,文件图片打开失败,说文件破损。
后来才发现BMPFILEHEADER_T这个数据接口的内部变量排序,并没有4字节对齐,导致sizeof(BMPFILEHEADER_T)比预想的大!
所以直接用宏设置数据结构的字节对齐方式为:1字节对齐。
以上是关于第35月第18天 bmp对齐的主要内容,如果未能解决你的问题,请参考以下文章