位图存储图像数据每行字节数为4的倍数
int lineByte=(bmpWidth*biBitCount/8+3)/4*4
理解:这是计算位图每行占多少个字节;
灰度图像(biBitCount=8)彩色图像(biBitCount=24)
bmpWidth是位图的宽度,也就是每行有多少个像素块
在计算机中如果你是整形 (n)除以(n+i)都是等于0的,(n和i都是自然数)
存储图像数据每行字节数为4的倍数
所以+3是怕出现不满足4的倍数这种情况
如果是4的倍数则结果和不+3的结果是一样的
如果不是4的倍数则结果进1位
/4*4除以四在乘以四是把数据归为4的倍数。
不够4的倍数就把余数约掉。只留商。
举个例子整形的话17/4=4(正常是4又1/4)而计算机直接算出来等于4
再乘以四就等于16
也就是说把17归为4的倍数=16;