Win32 位图颜色转灰度

问题描述 投票:0回答:1

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

c++ winapi
1个回答
2
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.