GetDIBits:試圖修改位圖,但不知道該怎麼去做?我嘗試了lpvBits,但在「豬」區域的比較中崩潰了。我應該怎麼做? THXGetDIBits:位圖修改,但崩潰了?
LPVOID lpvBits=NULL; // pointer to bitmap bits array
BITMAPINFO bi;
ZeroMemory(&bi.bmiHeader, sizeof(BITMAPINFOHEADER));
bi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
if (!GetDIBits(dc, m_bmp, 0, 400, lpvBits, &bi, DIB_RGB_COLORS))
AfxMessageBox("1");
char *pig = (char*)lpvBits;
for (int m=0;m<100;m++)
{
if (pig[m] > 100)
{
pig[m] = 250;
}
}
SetDIBits(dc, m_bmp, 0, 400, (void *)pig, &bi, DIB_RGB_COLORS);
lpvBits爲空。調用GetDIBits()後,它仍然爲空。 KABOOM。 –