3

我正在编写一个程序,它可以打开、旋转、缩放、反转颜色、转换为灰度并保存位图(.bmp),但我似乎没有让转换为灰度(即黑白)的工作在其他所有代码中都能正常工作。 .

我的颜色反转代码如下...

 case 3:
{
    hdc=GetDC(hWnd);
    GetClientRect(hWnd,&rt);
    BitBlt(hdc,0,0,rt.right,rt.bottom,hdc,0,0,NOTSRCCOPY);
    ReleaseDC(NULL,hdc);
}

这似乎可行,但是使用 BitBlt 获取 DC 并尝试将其更改为灰度无法正常工作...我想了解如何获取 DC 并将其转换为灰度... winapi 谢谢...

4

1 回答 1

2

Raymond Chen 给出了使用 GDI 中的颜色映射器使用 BitBlt 将彩色图像转换为灰度的完整示例。

于 2012-04-17T19:22:49.073 回答