使用TransparentBlt

时间:2012-01-30 10:16:56

标签: c++ visual-c++ bitmap mfc

我正在尝试使用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);

1 个答案:

答案 0 :(得分:1)

TransparentBlt的最后一个参数是crTransparent - 颜色应该是“透明的”。您应该在案例中指定TRANSPARENT_MASK