XP 中 Direct2D 回退到 GDI

发布于 2024-08-12 08:42:58 字数 177 浏览 7 评论 0原文

我想通过 Windows 代码包将 Direct2D 用于我的 .Net 应用程序。由于我的一些用户使用 XP,我需要提供 GDI+ 后备。我想知道人们通常如何进行这种后备。

他们是否将所有必要的图形功能抽象/连接到某些自定义通用库中?如果是的话,是否有 direct2d/GDI 的开源库?

谢谢, 吉尔.

I'd like to use Direct2D for my .Net application using the Windows Code pack. Since some of my users are using XP, I need to provide a GDI+ fallback. I wonder how people usually do this kind of fallback.

Do they abstract/interface all the necessary graphics feature into some custom generic library? If so, is there any open-source library for direct2d/GDI?

Thanks,
Gil.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

一影成城 2024-08-19 08:42:59

如果您希望它运行得同样快,则必须在 Direct3D 中重新对其进行编程。

You'll have to re-program it in Direct3D if you want it to run as fast.

优雅的叶子 2024-08-19 08:42:58

我这样做的方法是拥有两个完全独立的类(都派生自 IRenderer 接口)。加载时,我使用 Window 的 GetVersionEx 函数确定操作系统版本。如果 dwMajorVersion >= 6,则加载 Direct2D 类;否则它会退回到 GDI。

希望这有帮助。

The way I do it is by having two completely seperate classes (both derived from an IRenderer interface). On load, I determine the operating system version using Window's GetVersionEx function. If dwMajorVersion >= 6, then I load the Direct2D class; otherwise it falls back to GDI.

Hope this helps.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文