2009-11-14 115 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