XP 中 Direct2D 回退到 GDI
我想通过 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您希望它运行得同样快,则必须在 Direct3D 中重新对其进行编程。
You'll have to re-program it in Direct3D if you want it to run as fast.
我这样做的方法是拥有两个完全独立的类(都派生自 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'sGetVersionEx
function. IfdwMajorVersion >= 6
, then I load the Direct2D class; otherwise it falls back to GDI.Hope this helps.