我正在寫一個程序,打開,旋轉,縮放,反轉顏色,轉換爲灰度並保存位圖(.bmp) 但我似乎並沒有得到轉換爲灰度(即黑色和白色)工作的所有其他代碼工作完美...Win32位圖顏色爲灰度
的代碼爲我的色彩反轉低於...
case 3:
{
hdc=GetDC(hWnd);
GetClientRect(hWnd,&rt);
BitBlt(hdc,0,0,rt.right,rt.bottom,hdc,0,0,NOTSRCCOPY);
ReleaseDC(NULL,hdc);
}
這似乎工作,但得到的DC,並試圖將其更改爲灰度ISN」使用BitBlt工作... 我想了解如何獲得DC並將其轉換爲灰度... wi napi 謝謝...
是不是顏色反轉像'255-x'?現在,你正在做'〜x',這根本不是同一個計算。雖然這兩者都是顏色的「反轉」,但前者反轉色彩比例,而後者反轉像素比特模式。 – 2012-04-17 19:19:26
'BitBlt'後'GetLastError()'返回什麼? – 2012-04-17 19:21:51
BitBlt(hdc,0,0,rt.right,rt.bottom,hdc,0,0,NOTSRCCOPY);對於反轉位圖顏色正常工作...似乎沒有工作是使用bitblt將圖像轉換爲灰度...我試過BitBlt(hdc,0,0,rt.right,rt.bottom,hdc, 0,0,BLACKNESS |白化);但它不工作...也許我不會使用bitblt ... – Alex 2012-04-17 19:44:39