在c++ win32中绘制/打印具有透明背景的文本

5

我想绘制/打印一段文本,但需要透明背景。我已经尝试了以下方法:

    TextOut(hDC, 50, 50, "MY TEXT", lstrlen("MY TEXT"));

问题在于这会生成一个白色背景。 我也尝试了以下代码:
    ExtTextOut(hDC, 50, 50, ETO_OPAQUE, TA_LEFT,  "MY TEXT", lstrlen("MY TEXT"), NULL);

ETO_OPAQUE - 将文本区域的背景颜色设置为程序的当前背景颜色。但如果我的背景是动态的并且会改变,这种方法就不起作用了,所以我需要一个透明的背景。
有关这两个函数的更多信息,请参见http://msdn.microsoft.com/en-us/library/dd144821(v=vs.85) 我知道我可以将文本插入位图中,并使用“TransparentBlt”来实现“相同”的效果,但是...是否有其他绘制/打印带透明背景文本的函数或任何解决此所谓问题的想法?
谢谢... =)
1个回答

10
SetBkMode( hdc, TRANSPARENT );

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接