加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

wpf – 在Windows上绘制叠加图形的最佳方法是什么?

发布时间:2020-12-14 04:27:11 所属栏目:Windows 来源:网络整理
导读:我正在使用需要创建各种自定义窗口类型的Win32应用程序.特别是,这些窗口通常是非矩形的,有阴影,或者大部分都是透明的. 我目前正在使用UpdateLayeredWindow的WS_EX_LAYERED创建透明窗口,然后我可以在上面绘制任意图形.但是,我发现分层窗口是限制性的,因为你不
我正在使用需要创建各种自定义窗口类型的Win32应用程序.特别是,这些窗口通常是非矩形的,有阴影,或者大部分都是透明的.

我目前正在使用UpdateLayeredWindow的WS_EX_LAYERED创建透明窗口,然后我可以在上面绘制任意图形.但是,我发现分层窗口是限制性的,因为你不能拥有分层子窗口,分层窗口也不能正确托管“普通”Win32控件.

我们的代码库已有几年历史了,主要使用Win32和GDI,但我们正在进行现代化改造,现在是时候看看更新的技术了.

我考虑过在WPF中进行自定义窗口,但我关注的是我读过的关于“空域”问题的内容.似乎WPF使用分层窗口来完成其每像素alpha混合,因此看起来它也会受到我以前经历的限制.

关于Direct2D,我不太了解(任何事,真的),但这项技术听起来可能很有趣.虽然,我找不到任何引用它能够做覆盖窗口.

所以,所有这些都让我想到了问题:在Windows下进行叠加窗口的最佳技术是什么? (Vista和Win7至少,XP会很高兴)

我忽略了一些特别好的技术吗?任何建议,将不胜感激.

解决方法

我建议使用Direct2D和DirectWrite,因为你可以获得高质量的渲染,与GDI或.Net空间中的任何东西相比,它的速度也非常快.唯一的问题是您需要Vista或更高版本的操作系统才能使用它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读