n_StartByte = m_LU.x*3;
n_StartBit = 0;
n_EndByte = m_RB.x*3+2;
n_EndBit = 7;
break;
}
return TRUE;
}
该函数计算原图像、目标图像的相关参数。biBitCount:同BitmapInfoHeader中的biBitCount;m_LU:矩形左上角位置;m_RB:矩形右下角位置;n_StartByte、n_StartBit:目标图像中每行起始像素的第1位在原图像中的位置相对于原图像中该行像素起始位置的字节偏移量,该位在原图像中所在字节的位偏移量;n_EndByte、n_EndBit:目标图像中每行末尾像素的最末位在原图像中的位置相对于原图像中该行像素起始位置的字节偏移量,该位在原图像中所在字节的位偏移量;n_OriRowByte:原图像中每行占用的字节数;n_DesRowByte:目标图像中每行占用的字节数。
4.3 RowByte函数
// 由图像类型和图像宽度,计算一行图像所占的字节数(返回值)
int CDib::RowByte(WORD biBitCount, int n_RowWidth)
{
int n_RowByte;
switch(biBitCount){
// 一位索引图
case 1:
if(n_RowWidth%32 == 0)
n_RowByte = n_RowWidth/8;
else
n_RowByte = (n_RowWidth/32+1)*4;
break;
// 4位索引图
case 4:
|