https://www.cnblogs.com/l2rf/p/5643352.html
https://blog.csdn.net/drcwr/article/details/42425813
一、4字节对齐
针对1bit,4bit,8bit,16bit,24bit的bmp,32bit bmp一个像素就是4字节,不用对齐。
一个图像有像素宽度(width)和高度2个属性,bmp的4字节对齐是:一行width个
像素的数据长度(字节单位)如果不能被4整除,则用0补齐4字节后再开始存放下一行的
像素数据,如果是最后一行,后面没有数据了,同样要补齐
二、pixel data存放顺序
当BITMAPINFOHEADER的biHeight>0时,为倒序存放,解释如下。(基本上都是倒序存放的)
pixel data 4字节对齐,按扫描线为单位存放,扫描线倒序存放,也就是,第一条稍描
线存放在最后,最后一条稍描线存放在pixel data区域的开始。每个像素的RGB也是倒
叙存放的,即使BGR存放顺序。这就解释了:矩阵的第一字节代表最左下角落的素,
最后一个字节表示右上角的像素。