在C ++中绘制(原语,行等)的最佳通用跨平台解决方案?

时间:2011-11-24 19:22:09

标签: c++ graphics cross-platform drawing

我有很多使用Java,python,C#和C编写的经验,主要是为了爱好。在我编写的涉及显示(模拟,绘图等)的所有应用程序中,我总是只使用我正在使用的任何框架的库存“Canvas”类(Swing Canvas,.NET Canvas,pygame一次) for python)。

这样做的缺点是所有这些都在绘图方面略有不同。

我正在用C ++开始一个项目,并想知道什么是跨平台绘图的最佳解决方案。 OpenGL显然是非常低级的,但是在OpenGL之上的某种类型的库会很好。我听说过/读过开罗,SDL等等,但还不知道该怎么做。我已经在使用wxWidgets作为接口,但更喜欢使用更标准的东西,而不仅仅是wxWidgets画布。显然,绘制线条和形状的能力很重要,而不仅仅是显示图片或诸如此类的东西。

感谢任何方向!

3 个答案:

答案 0 :(得分:2)

我会考虑使用Qt,尤其是Graphics View框架。 (Qt适用于Linux,Windows,MacOSX)。

答案 1 :(得分:1)

SDL是SimpleMedia Direct Layer,它基本上是与帧缓冲和音频设备接口的通用接口。如果您想创建窗口等,它没有跨平台工作的通用构造。

Cairo用于绘制图形,但仍然以低于WxWidgets提供的水平运行。

C ++没有提供任何标准,因此要么使用某些特定平台,要么使用像Qt这样的跨平台库(Basile已经提到过)或坚持使用wxWidgets。两者都很受欢迎并且被广泛使用,尽管Qt可能更为人熟知并且使用(尽管这只是意见)。我已经使用Qt工作,它非常跨平台,非常易于使用(但非常广泛,所以准备阅读大量文档)。幸运的是,它还有很多文档和许多示例。

另外,wxWidgets和Qt都有多种语言的绑定,因此您可以使用其中任何一种知识,并将其与许多其他语言一起使用。

答案 2 :(得分:0)

Open Frameworks 非常容易使用并附带了很多示例...
它独立于平台,并以某种方式让我想起