c++ - 什么是适用于 Windows/C++ 的良好 2D 图形绘制 API?

标签 c++ windows api directx drawing2d

我一直在开发一个小应用程序,我一直在使用 DirectX/3D 将纹理绘制到屏幕上(所有二维元素)。我发现该 API 非常易于使用,也很容易融入 OOP 原则,但我不禁觉得在这么小的东西上使用 DirectX 实在是太过分了。

不过,我似乎无法就一个好的替代方案达成共识。有什么建议吗?

编辑:原生 alpha 混合和 PNG 文件支持是必需的。

有了很多首发的爱, 詹格勒

最佳答案

如果您需要 alpha 混合,则必须使用图形硬件;这样做的唯一好方法是使用类似于您现在使用的方式的 3D API(DirectX 或 OpenGL)。任何替代方案(GDI/+ 或 DirectDraw)都不会使用完整的图形硬件来加速混合,并且必须在 CPU 上执行,从而大大降低性能。

如前所述,Direct2D 也是一个选项——它在功能上是 Direct3D 之上的一个层,支持更多特定于 2D 的功能以及出色的文本支持。

关于c++ - 什么是适用于 Windows/C++ 的良好 2D 图形绘制 API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3621197/

相关文章:

c++ - 尝试从另一个进程读取 32 位整数时,ReadProcessMemory 使应用程序崩溃

c# - 在 Windows 窗体中托管 WPF 时出现问题 - C#

api - 如何使用YouTube API V3获取视频上传日期?

api - 为 kml 创建一个 http 地址

database - 我可以在 Android 上为我自己的应用程序使用谷歌地图数据吗?

c++ - 从 engOpen(..) 启动 matlab,被通知引擎被关闭

c++ - 静态变量释放顺序

c++ - foo(int& x); x 是通过引用传递的吗?

C++:我们如何通过 UDP 在结构中发送 float 据并接收它?

java - 如何判断 Java 是否作为 Windows 服务运行以及是否使用了 -Xrs 标志