画出来怎么是黑白的?
void CClass::Draw(HWND hWnd)
{
unsigned char t;
CClientDC dc(CWnd::FromHandle(hWnd));
CDC dcMemory;
CBitmap bitmap;
CRect rect;
dcMemory.CreateCompatibleDC(&dc);
bitmap.CreateCompatibleBitmap(&dcMemory, m_ImageColCount, m_ImageRowCount);
dcMemory.SelectObject(&bitmap);
for (int i = 0; i < m_ImageRowCount; i++)
for (int j = 0; j < m_ImageColCount; j++)
{
t = m_ImageData[i * m_ImageColCount + j];
dcMemory.SetPixel(j, i, RGB(t, t, t));
}
::GetWindowRect(hWnd, &rect);
dc.StretchBlt(0, 0, rect.Width(), rect.Height(), &dcMemory, 0, 0, m_ImageColCount, m_ImageRowCount, SRCCOPY);
}
调用这个函数后,在目标窗体上出现的是纯黑白的图片。但实际上应该是具有一定灰度的,所以问题是不是出在CClientDC dc的调色板上?望各位赐教。