pData中的数据是3个字节一个像素,请问大神们我这样做为什么还是显示有问题啊?
void fun(CDC *pDC, BYTE *pData, int width, int height)
{
CDC memDC;
memDC.CreateCompatibleDC(pDC);
CBitmap bmp;
bmp.CreateCompatibleBitmap(pDC, width, height);
long size = width * height * 4;
BYTE *pBuff = new BYTE[size];
for (int i = 0; i < width*height; ++i)
{
pBuff[i*4] = pData[i*3];
pBuff[i*4 + 1] = pData[i*3+1];
pBuff[i*4 + 2] = pData[i*3+2];
pBuff[i*4 + 3] = 0;
}
bmp.SetBitmapBits(size, pBuff);
CBitmap *pOldBmp = memDC.SelectObject(&bmp);
memDC.BitBlt(0, 0, width, height, &memDC, 0, 0, SRCCOPY);
memDC.SelectObject(pOldBmp);
delete[] pBuff;
}