任何时候我开始一个需要渲染原始形状和线条的项目时,我通常会转向Java,因为它非常简单。对于我最近的项目,我决定我可能想学习另一个类似于Java Graphics2D的API。我最好喜欢能在Linux上使用C++的东西。有人对我有什么好的建议吗?谢谢!寻找一个Java Graphics的替代品
回答
Anti-Grain geometry从路径和字体原语中提供高质量的二维渲染,是在C++中习惯性地使用模板的一个很好的例子,看起来很棒。它有更多关于算法的文档,而不是API,所以请准备好看看如何使用它的例子。它需要一些操作系统特定的代码来获取内存中的位图并将其粘贴到屏幕上。另一个缺点是,当你下次看Java 2D或GDI +应用程序时,你会认为Ewww,因为它们渲染得非常糟糕。
Cairo graphics是一个跨平台的2D库。它用C编写,尽管存在C++包装(cairomm)。它在LGPL许可下。
我怀疑你并没有使用原始的X11作为窗口和输入,所以我的建议将取决于你打算使用的GUI工具箱。
Qt有它自己的绘画引擎。您可以直接绘制到窗口或小部件上,也可以绘制到一个QPicture上,这可以让您轻松地显示,打印和保存结果。对于更复杂的场景,你可以转向QGraphicsScene。
随着gtk,它更常见的使用开罗,已经提到由杰夫福斯特
在Qt中更好的是,如果您在QGLWidget上使用QPainter,它可以从您的图形卡的抗锯齿/多重采样功能(如果启用)中受益,并且它看起来非常漂亮。 – timday 2009-11-14 16:10:13
除非多次采样768次,否则它不会像基于像素覆盖的抗锯齿一样好抗锯齿,反锯齿是反锯齿 – 2009-11-14 17:27:36
- 1. 嗨,寻找一个JES的替代品
- 2. Bug寻找替代品?
- 3. 寻找“DIN”字体的替代品
- 4. 正在寻找NMS的替代品FormMail.pl
- 5. 正在寻找Instamapper的替代产品
- 6. 正在寻找w3c.dom.Node的替代产品
- 7. 在Win32下寻找TortoiseHG的替代品
- 8. 寻找JasperReports的替代产品
- 9. 寻找C#的替代品System.Text.ASCIIEncoding()
- 10. 正在寻找一个eval的替代品
- 11. 寻呼替代品
- 12. 寻找ASPX和C#调试替代品
- 13. 我在寻找CHM替代品
- 14. .Net Thread.Suspend已过时。寻找替代品
- 15. 寻找Aspose .NET幻灯片替代品
- 16. 实现datalist并寻找替代品
- 17. 寻找一个PHP的str_split()的替代
- 18. 寻找一个免费的替代ProjectPlace
- 19. 寻找一个很好的parse.com替代
- 20. 寻找替代cfdump
- 21. 标题位置一次不重定向,寻找替代品
- 22. 寻找一个java代码生成库
- 23. JML替代品
- 24. CKAN的替代品
- 25. JMegahal的替代品
- 26. 寻找Flipbook框架。 Turn.js的任何替代品?
- 27. 正在寻找IBM RAD的替代产品
- 28. Node.JS寻找替代socket.IO
- 29. 寻找替代关键字
- 30. 寻找替代游标
这看起来不错。谢谢! – 2009-11-14 15:30:08