位图像素字节大小计算有关问题

位图像素字节大小计算问题
(1)CBitmap* bmp2=NULL;
CBitmap bmp;

int nSize = m_ImageViewRect.Height() * ((m_ImageViewRect.Width() -1)/8 +1);
BYTE *bmpMemory = new BYTE[nSize];
memset(bmpMemory,255,m_ImageViewRect.Height() * ((m_ImageViewRect.Width() -1)/8 +1));
bmp.CreateBitmap(m_ImageViewRect.Width(),m_ImageViewRect.Height(), 1, 
1, bmpMemory);
这代码主要是为了实现,向一个矩形框中画图,在计算存放图片的大小的时候,不知道为什要用矩形的宽除以8,来算字节数。

(2) pSourceNew = pSource;
pResultNew = pResult;
for(i = 0;i<B2.bmHeight*B2.bmWidthBytes;i++,pSourceNew++)
{
b = 128;
for(k = 0;k<8;k++)
{
if((i%B2.bmWidthBytes)*32 + 4*(k+1) > B1.bmWidthBytes) {
break;
}
if((*pSourceNew|b) == *pSourceNew)
{

R=(int)(pResultNew[0]* (SCA/255.0) + 111 * (1.0 - (SCA/255.0)));
G=(int)(pResultNew[1]* (SCA/255.0) + 111 * (1.0 - (SCA/255.0)));
B=int(pResultNew[2]* (SCA/255.0) + 111 * (1.0 - (SCA/255.0))); pResultNew[0]=R;
pResultNew[1]=G;
pResultNew[2]=B;
}
b = b>>1;
pResultNew +=4;
}
}

红色部分的,((i%B2.bmWidthBytes)*32 + 4*(k+1),我知道是算字节数的,但是计算方法,也不是很明白.

还有RGB的算法也不是很明白,为什么要除以255,然后再加上111,其中SCA的值是90,不太明白。
希望高手给点指点。谢谢

------解决方案--------------------
+111在这里我猜是蒙一层比例为111/255的半透明的白色。