首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DirectDraw +分层窗口颜色键?

DirectDraw +分层窗口颜色键?
EN

Stack Overflow用户
提问于 2014-11-02 09:15:40
回答 1查看 378关注 0票数 5

我用WS_EX_LAYERED创建了一个窗口,并用SetLayeredWindowAttributes()为它设置了一个颜色键。我可以通过在窗口中使用FillRect()绘制一个简单的矩形来验证这个颜色键是否确实在窗口中创建了一个透明的补丁。然而,当我使用DirectDraw在窗口中绘图时,这并不起作用。我在窗口上创建了一个IDirectDrawSurface7,并且我将一些像素Blt()到它上面。有些像素是用颜色键着色的,但我不认为它们是透明的,它们只是出现在颜色键中。

DirectDraw图面中是否存在与分层窗口颜色键控冲突的固有特性?

当我使用SetLayeredWindowAttributes()设置Alpha值时,这看起来在DirectDraw表面上工作得很好,而且它确实看起来是半透明的。

EN

回答 1

Stack Overflow用户

发布于 2014-11-08 00:36:36

我不知道你是否看过这篇文章,但下面文章中的这一段看起来有点像你正在寻找的东西。

The hWnd is the window handle of a window with a WS_EX_LAYERED style flag. The dwFlags parameter can have one or both of LWA_COLORKEY and LWA_ALPHA. If a LWA_COLORKEY flag is used, the crKey parameter is the transparent color key. If a LWA_ALPHA flag is used, the bAlpha parameter is the constat source alpha value. **Only top-level windows can be layered windows.**

我认为最后一句话才是问题所在。来源是一本关于谷歌图书的书的一部分。你可以在这里找到一些代码细节示例来阅读它:

http://books.google.com/books?id=-O92IIF1Bj4C&pg=PA720&lpg=PA720&dq=WS_EX_LAYERED+%2B+DirectDraw+color+key&source=bl&ots=SyWKE3aimb&sig=DXbshrEk2tN17h7CtWdMmAkHlAo&hl=en&sa=X&ei=7_JcVKSyFMukNrumgMgB&ved=0CCkQ6AEwAg#v=onepage&q=WS_EX_LAYERED%20%2B%20DirectDraw%20color%20key&f=false

我还将包括以下一些关于它的链接,尽管不是几乎相同数量的细节:

http://web.cs.wpi.edu/~matt/courses/cs563/talks/cbyrd/pres3.html

http://msdn.microsoft.com/en-us/library/windows/hardware/ff567254(v=vs.85).aspx

我不知道这是否能回答你的问题,但我希望它能有一点帮助。干杯。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26695040

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档