1
我正在做BitBlt從一個8位彩色DC到單色DC。問題只是在單色DC中將值255轉換爲白色的像素。如何指定閾值,以便任何值大於128的像素在單色DC中顯示爲白色。從彩色hDC到單色hDC的BitBlt?
我正在做BitBlt從一個8位彩色DC到單色DC。問題只是在單色DC中將值255轉換爲白色的像素。如何指定閾值,以便任何值大於128的像素在單色DC中顯示爲白色。從彩色hDC到單色hDC的BitBlt?
你不行。
按照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);
}
,我已經知道了,但背景顏色只能有一個值。我在問如何設置閾值,讓我們說所有值大於128的像素都被轉換爲白色。 –
@Priyank Bolia:如上所述,你不能用BitBlt來完成。我會手動做。 –