位图存储图像数据每行字节数为4的倍数

Posted h694879357

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了位图存储图像数据每行字节数为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;

以上是关于位图存储图像数据每行字节数为4的倍数的主要内容,如果未能解决你的问题,请参考以下文章

图片数据随笔

字节对齐原则

python使用base64编码解码数据

在C语言中,一个char数据在内存中所占字节数为,其数值范围为 ?

如何将字节数组中的图像文件数据转换为位图?

Python模块——base64