gpt4 book ai didi

c# - "Transparent"Windows 窗体在 DirectDraw Video Surface 前面时闪烁

转载 作者:太空宇宙 更新时间:2023-11-03 14:18:04 25 4
gpt4 key购买 nike

我有一个应用程序,在我的控制之外,几个 Windows 窗体设置了 TransparencyKey 属性。当这些窗口覆盖(在前面)另一个具有 DirectDraw 视频表面的窗体时,前景窗体会闪烁(部分显示窗体,部分显示下面的视频)。问题是,TransparencyKey 的颜色不会出现在应用程序的任何地方,所以 NOTHING 应该是透明的......换句话说,结果应该是前景形式是完全不透明的。

Flickering scenario

有没有人遇到过 DirectDraw 表面在与某种形式或其他设置为透明的 Windows 窗体结合使用时出现闪烁?我已经为此工作了数周,但没有成功。谢谢!

最佳答案

很抱歉,但我建议您完全放弃该目标并尝试以其他方式实现。

DirectDraw 是一种在屏幕上显示内容的方式,带有区域的表单(作为所谓的“透明键颜色”的掩码动态创建)是使用 GDI 完成的。正如我所看到的(并且希望得到其他证明)- 无论如何您都无法将这两个窗口组合起来。

并且您可能会在不同的 Windows 上得到不同的结果,具体取决于版本、使用的显卡等。

另一方面,您能否破解那些您无法控制的表单并从中删除 TransparencyKey 属性?即使使用 Win32 API?

关于c# - "Transparent"Windows 窗体在 DirectDraw Video Surface 前面时闪烁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6108032/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com