int lineByte=(bmpWidth*biBitCount/8+3)/4*4这个公式怎么理解

来源:互联网 发布:eu是哪里的域名 编辑:程序博客网 时间:2024/05/20 23:35

 

 
 
这是计算位图每行占多少个字节;灰度图像(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;
原创粉丝点击