我正在写一个程序,打开,旋转,缩放,反转颜色,转换为灰度并保存位图(.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