创建一幅DIB位图,再从文件中得到数据填充到Bits中,
用
SelectObject(hMemDC, hbm);
BitBlt(g_hdc, 0, 0, 800, 600, hMemDC, 0, 0, SRCCOPY);
显示出来的时候是这样的:

也觉得是BGR的问题,不过我尝试着:
for (int i = 0; i+3 < bitmap.bmWidth * bitmap.bmHeight * 3; i+=3)
{
row_tmp2[i] = row_tmp[i+3];
row_tmp2[i+2] = row_tmp[i+2];
row_tmp2[i+3] = row_tmp[i];
}
memcpy(Bits, row_tmp2, bitmap.bmWidth * bitmap.bmHeight * 3);
再去显示,结果是这样的:

ps:请问,这是咋回事?要怎样处理DIB图像才能正确显示出来!跪求各位的帮助!谢谢哈