【发布时间】:2014-11-02 01:15:40
【问题描述】:
我正在使用WS_EX_LAYERED 创建一个窗口,并使用SetLayeredWindowAttributes() 为其设置颜色键。我可以通过在窗口内使用FillRect() 绘制一个简单的矩形来验证这个颜色键确实在窗口中创建了一个透明补丁。但是,当我使用 DirectDraw 在窗口中绘图时,这不起作用。我在窗口上创建了一个IDirectDrawSurface7,我在Blt()ing 上添加了一些像素。一些像素用颜色键着色,但我不认为它们是透明的,它们只是出现在颜色键中。
DirectDraw 表面中是否存在与分层窗口颜色键相冲突的固有内容?
当我使用 SetLayeredWindowAttributes() 设置 alpha 值时,这似乎与 DirectDraw 表面配合得很好,而且它确实看起来是半透明的。
【问题讨论】:
-
有点旧,但可能值得一看:msdn.microsoft.com/en-us/magazine/ee819134.aspx
标签: windows transparency directdraw