【问题标题】:Using TransparentBlt使用透明Blt
【发布时间】:2012-01-30 10:16:55
【问题描述】:

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

【问题讨论】:

  • 谢谢 我现在把它改成了一个问题。我希望现在更清楚了。

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


【解决方案1】:

TransparentBlt 的最后一个参数是crTransparent - 应该是“透明”的颜色。你应该在你的情况下指定TRANSPARENT_MASK

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-24
    • 2012-12-01
    相关资源
    最近更新 更多