Using TransparentBlt

Using TransparentBlt

本文关键字:TransparentBlt Using      更新时间:2023-10-16

我正试图在visual c++MFC中使用TransparentBlt函数。我的目标是将一个位图放在另一个位图的顶部。第一个位图只是一个标准的Stretchblt。第二个位图将被放置在第一个位图的背景的顶部之上。我已经将第二个位图图标的背景设置为粉红色,我不希望粉红色可见。基本上,我只想使用一个功能来显示图标,而不显示粉红色,我该怎么做?

#define TRANSPARENT_MASK RGB(250,84,248)

这就是我制作底层位图的方法。

 argDC->StretchBlt(WindowRect.left,WindowRect.top,WindowRect.Width(),WindowRect.Height(),
                  &memDC,0,0,bits.bmWidth-1, bits.bmHeight-1, SRCCOPY);

TransparentBlt的最后一个参数是crTransparent——应该是"透明"的颜色。您应该在中指定TRANSPARENT_MASK