2011-10-22 17 views
11

我一直在尋找獲取頭文件及其相關庫的源代碼,以便將其與我的C++程序集成。如何在我的C++程序中獲取並使用頭文件<graphics.h>?

與此同時,我對那些在多個編譯器上工作的跨平臺庫感興趣。爲了更加明確,我正在討論那些用於在C++中繪製形狀,線條和曲線的庫。

+3

可能的重複項:http://stackoverflow.com/questions/671395/a-simple-2d-cross-platform-graphics-library-for-c-or-c http://stackoverflow.com/questions/1924171/simple-c-graphics-library http://stackoverflow.com/questions/4496541/c-graphics-library-in-visual-studio-and-eclipse – user786653

+0

如果你有舊的代碼引用'graphics.h'或仍然想要爲了某種原因使用它,請使用原始版本的現代端口[WinBGIm](http://winbgim.codecutter.org/)。 – legends2k

回答

15

<graphics.h>是非常古老的圖書館。這是更好地使用的東西是新的

這裏有一些2D庫(平臺無關)的C/C++

SDL

GTK+

Qt

也有一個免費的非常功能強大的C++開源3D圖形庫

OGRE

+1

感謝您的確切答案! – CompilingCyborg

5

<graphics.h>不是標準報頭。通常它指的是Borland BGI API for DOS的標題,並且最好是陳舊的。

然而它很簡單;有一個名爲WinBGIm的BGI接口的Win32實現。它使用Win32 GDI調用實現 - 最低級別的Windows圖形界面。由於它是作爲源代碼提供的,因此它可能是瞭解GDI如何工作的一種簡單方法。

然而WinBGIm絕不是跨平臺的。如果你想要的只是簡單的圖形基元,那麼大多數更高級的GUI庫,如wxWidgets和Qt也支持。在評論中提到的可能的重複答案中提出了更簡單的庫。

+0

WinBGIm本身很老 - 最後更新於2004年? - 並不是一個標準的API。 – duskwuff

+0

@duskwuff:我不確定你想做什麼。它似乎適用於這個問題,而不是我的答案。當它實現的API沒有改變時,舊的幾乎不成問題。我明確表示它不是標準庫。沒有用於圖形的標準庫。所有的觀點都已經在現有的答案中作出了,問題本身已經有6年了(所以在撰寫本文時,WinBGIm還沒有那麼老)。 – Clifford

4

此Turbo C圖形界面有一個現代端口,它被稱爲WinBGIM,它模擬MinGW/GCC下的BGI圖形。

我沒試過,但看起來很有前途。例如initgraph創建一個窗口,並且從這個點你可以使用良好的舊功能繪製到該窗口,最後closegraph刪除窗口。它也有一些更高級的擴展(例如鼠標處理和雙緩衝)。

當我第一次從DOS編程轉移到Windows時,我沒有互聯網,我懇求這樣簡單的事情。但最後,我不得不學習如何創建窗口以及如何處理事件和使用Windows SDK的脫機幫助中的設備上下文。

相關問題