我想使用Windows代码包将Direct2D用于我的.Net应用程序。由于我的一些用户正在使用XP,我需要提供GDI +后备。我想知道人们通常会如何做这种后备。
他们是否将所有必要的图形功能抽象/接口到一些自定义通用库中?如果是这样,是否有direct2d / GDI的开源库?
谢谢, 吉尔。
答案 0 :(得分:4)
我这样做的方法是有两个完全独立的类(都来自IRenderer
接口)。在加载时,我使用Window的GetVersionEx
函数确定操作系统版本。如果dwMajorVersion >= 6
,那么我加载Direct2D类;否则它会回到GDI。
希望这有帮助。
答案 1 :(得分:2)
如果你想让它以更快的速度运行,你必须在Direct3D中对它进行重新编程。