C++ winapi-清除CBitmap的区域

C++ winapi-清除CBitmap的区域,c++,windows,winapi,C++,Windows,Winapi,我有一个32位的CBitmap缓冲区,上面有我AlphaBlend东西。但是,我想知道是否有一种方法可以完全“清除”CBitmap的矩形区域(例如,将特定区域中像素的所有Alpha值设置为0,或者完全清除该区域) 我不能使用GDI+ 没有“清除”位图这样的事情。您只需更改像素的颜色。如果将“清除”定义为纯黑色,则将像素设置为黑色。最简单的方法是使用。你是说与或不同的东西吗?如果是这样的话,了解更多您想要实现的功能可能会有所帮助。我需要一些具有Alpha混合功能的功能,这样我就可以清除矩形,而不是

我有一个32位的
CBitmap
缓冲区,上面有我
AlphaBlend
东西。但是,我想知道是否有一种方法可以完全“清除”CBitmap的矩形区域(例如,将特定区域中像素的所有Alpha值设置为0,或者完全清除该区域)


我不能使用GDI+

没有“清除”位图这样的事情。您只需更改像素的颜色。如果将“清除”定义为纯黑色,则将像素设置为黑色。最简单的方法是使用。

你是说与或不同的东西吗?如果是这样的话,了解更多您想要实现的功能可能会有所帮助。我需要一些具有Alpha混合功能的功能,这样我就可以清除矩形,而不是使用
位图类。您可以使用Graphics::FromImage()创建一个图形实例,并使用包含alpha通道的32位颜色绘制到位图中。啊,是的!我忘了说我也不能使用GDI+。将更新question@HansPassant我可以将FillRect与GetStockObject(NULL_笔刷)一起使用吗?这行吗?当然可以,但是会设置alpha值吗?FillRect会覆盖像素;没有进行混合。生成的像素将与画笔中的像素完全相同。但是FillRect将用什么覆盖这些像素的alpha值呢?只有0?