我有很多使用Java,python,C#和C编写的经验,主要是为了爱好。在我编写的涉及显示(模拟,绘图等)的所有应用程序中,我总是只使用我正在使用的任何框架的库存“Canvas”类(Swing Canvas,.NET Canvas,pygame一次) for python)。
这样做的缺点是所有这些都在绘图方面略有不同。
我正在用C ++开始一个项目,并想知道什么是跨平台绘图的最佳解决方案。 OpenGL显然是非常低级的,但是在OpenGL之上的某种类型的库会很好。我听说过/读过开罗,SDL等等,但还不知道该怎么做。我已经在使用wxWidgets作为接口,但更喜欢使用更标准的东西,而不仅仅是wxWidgets画布。显然,绘制线条和形状的能力很重要,而不仅仅是显示图片或诸如此类的东西。
感谢任何方向!
答案 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 非常容易使用并附带了很多示例...
它独立于平台,并以某种方式让我想起processing