我正在尝试使用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);
答案 0 :(得分:1)
TransparentBlt
的最后一个参数是crTransparent
- 颜色应该是“透明的”。您应该在案例中指定TRANSPARENT_MASK