2009-11-14 83 views
0

任何时候我开始一个需要渲染原始形状和线条的项目时,我通常会转向Java,因为它非常简单。对于我最近的项目,我决定我可能想学习另一个类似于Java Graphics2D的API。我最好喜欢能在Linux上使用C++的东西。有人对我有什么好的建议吗?谢谢!寻找一个Java Graphics的替代品

回答

3

Anti-Grain geometry从路径和字体原语中提供高质量的二维渲染,是在C++中习惯性地使用模板的一个很好的例子,看起来很棒。它有更多关于算法的文档,而不是API,所以请准备好看看如何使用它的例子。它需要一些操作系统特定的代码来获取内存中的位图并将其粘贴到屏幕上。另一个缺点是,当你下次看Java 2D或GDI +应用程序时,你会认为Ewww,因为它们渲染得非常糟糕。

+0

这看起来不错。谢谢! – 2009-11-14 15:30:08

2

Cairo graphics是一个跨平台的2D库。它用C编写,尽管存在C++包装(cairomm)。它在LGPL许可下。

2

我怀疑你并没有使用原始的X11作为窗口和输入,所以我的建议将取决于你打算使用的GUI工具箱。

Qt有它自己的绘画引擎。您可以直接绘制到窗口或小部件上,也可以绘制到一个QPicture上,这可以让您轻松地显示,打印和保存结果。对于更复杂的场景,你可以转向QGraphicsScene

随着gtk,它更常见的使用开罗,已经提到由杰夫福斯特

+0

在Qt中更好的是,如果您在QGLWidget上使用QPainter,它可以从您的图形卡的抗锯齿/多重采样功能(如果启用)中受益,并且它看起来非常漂亮。 – timday 2009-11-14 16:10:13

+0

除非多次采样768次,否则它不会像基于像素覆盖的抗锯齿一样好抗锯齿,反锯齿是反锯齿 – 2009-11-14 17:27:36