//这个函数,当位置超出绘制内存后,程序会出错;
//一般情况,pImageBuf绘制在pBGImageBuf内,超出部分向对边边界继续绘制,这里左右边界可以绘制了,上下边界没有处理;
unsigned char * pImageBuf, int nImageWidth, int nImageheight,
int nPtX, int nPtY )
{
//int nBGImageAlign = (4 - (3*nBGWidht)%4)%4;
int nBGImageLen = nBGWidht * 3;
int nImageLen = nImageWidth * 3;
int m = nPtY;
int i = 0;
for ( i = 0, m = nPtY; m < nPtY + nImageheight; m++, i++ )
{
unsigned char * pBGIamgeBufPoint = pBGImageBuf + ( ( m * nBGImageLen ) + ( nPtX * 3 ) );
unsigned char * pImageLine = pImageBuf + ( i * nImageLen );
memcpy( pBGIamgeBufPoint, pImageLine, nImageLen );
}
FILE * f = fopen("F:\\testMixImage.rgb","w+b");
fwrite( pBGImageBuf, 1, nBGWidht * 3 * nBGHeight, f );
fclose(f);
}