我想使用 Windows 代码包将 Direct2D 用于我的 .Net 应用程序。由于我的一些用户使用 XP,我需要提供 GDI+ 回退。我想知道人们通常如何进行这种回退。
他们是否将所有必要的图形功能抽象/接口(interface)到某个自定义通用库中?如果是这样,是否有用于 direct2d/GDI 的任何开源库?
谢谢,
吉尔。
最佳答案
我这样做的方法是拥有两个完全独立的类(都派生自 IRenderer
接口(interface))。在加载时,我使用 Window 的 GetVersionEx
函数确定操作系统版本。如果 dwMajorVersion >= 6
,那么我加载 Direct2D 类;否则它会回退到 GDI。
希望这可以帮助。
关于windows-xp - 在 XP 中 Direct2D 回退到 GDI,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1797548/