1

我正在处理一个涉及高分辨率 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 应用程序。但我找不到它。所以请帮助我。

4

3 回答 3

0

我自己没用过,不过你可以结合Animation Framework来看看 Qt 的Graphics View

于 2012-11-03T19:15:02.437 回答
0

你也可以看一下 SDL:http ://www.libsdl.org/ 它通常用于游戏。您可能可以找到很多教程。它也将比 DirectX 高一点,因此可能更容易升级。

于 2012-11-03T22:14:46.623 回答
0

DirectX 9 可以处理两个纹理的非幂,请参见此处

所以使用 DirectX 9 应该没有问题。

否则你也可以看看OpenGL。

于 2012-11-03T23:00:40.493 回答