我正在处理一个涉及高分辨率 png 图片的 2D 动画的 c++ 项目。我希望该程序与所有流行的 Windows 版本兼容:XP、Vista、7 和 8。
我尝试的第一件事是旧版 GDI/GDI+,动画无法流畅运行。此外,据说它们将来会被遗弃。
然后我检查了 DirectX。D2D 看起来很诱人,但 XP 不支持。它的前身 DirectDraw 是一个被抛弃的遗留物。据说DX9.0中的D3D可以处理2D。我按照网页上的说明使用 Direct3D Sprites 绘制图片。然而,这些照片是不成比例的。我整晚调试它只是发现纹理会自动缩放以使高度和宽度成为 2 的幂(DX 对我来说是全新的:()。我不想要比例。
我不确定 D2D 使用 D3D 接口是否正确。如果是这样,我认为必须有一些更好的方法将 D3D 用于 2D 应用程序。但我找不到它。所以请帮助我。