我正在从一个8位彩色DC到单色DC进行BitBlt。问题是在单色DC中只有值为255的像素被转换为白色。如何指定阈值,以便任何值大于128的像素在单色DC中显示为白色。
答案 0 :(得分:6)
你不能。
根据MDSN page of MFC CDC::BitBlt:
要将颜色转换为单色,BitBlt会将与背景颜色匹配的像素设置为白色,并将所有其他像素设置为黑色。 BitBlt使用颜色设备上下文的前景色和背景色将颜色转换为单色。
和CDC :: BitBlt调用:: BitBlt:
_AFXWIN_INLINE BOOL CDC::BitBlt(int x, int y, int nWidth, int nHeight, CDC* pSrcDC, int xSrc, int ySrc, DWORD dwRop)
{
ASSERT(m_hDC != NULL);
return ::BitBlt(m_hDC, x, y, nWidth, nHeight, pSrcDC->GetSafeHdc(), xSrc, ySrc, dwRop);
}