2016-01-31 29 views
0

我是一名編程的學生,並且已經用許多不同的語言編程。 不過,我只用過一次非常專業的方式使用C++。 我沒有接受過正式的C++培訓,是的,我正在做一些有關這方面的工作,因爲當事情看起來與說我已經接受過正式培訓的Java完全不同時,會導致大量混亂。如何在C++中使用GDI庫

很多幫助我試圖找到最近已經非常具體,我沒有得到幾乎所有的問題,這裏是一個非常具體的問題:

我想做一個非常簡單的遊戲。我從來沒有具體顯示如何渲染圖形。我想使用最基本的庫來渲染它們,從我所知道的(在Windows中)是GDI。我發現此頁面:https://msdn.microsoft.com/en-us/library/d420az6e(v=vs.110).aspx

當我嘗試#include或使用命名空間時,類表示它們是其中的一部分,錯誤會像瘋了一樣彈出。

這是爲什麼?如何導入這些類以便我可以使用它們?

+0

該文檔適用於.Net版本。如果您使用C#或C++/CLI進行編碼,那麼這很好,但如果您正在編寫純C++,則完全沒有用處。 –

+0

也許你需要的只是一個windows sdk? – ardhitama

+2

@AlanStokes,看上你在這裏:)。 CAA14,你會希望GDI的C++ api版本叫做GDI +,它可以在這裏找到:https://msdn.microsoft.com/en-us/library/windows/desktop/ms533798%28v=vs.85 %29.aspx。這就是說,這是一個非常舊的API,我不想使用它或學習它的新發展。對於門的開發,你很可能會想看看Direct2D和類似的API。 –

回答

0

你有的鏈接是GDI +,而不是GDI。儘管名稱幾乎相同,但它們並不是一回事。 GDI通過C調用(無類或任何其他OO內容)提供對顯示的最基本訪問,並且可以追溯到Windows 2.0。 GDI +更現代化,並具有一些改進的功能,但它仍然有點過時。正如您對問題的評論中所述,該鏈接適用於.net API,如果您正在編寫本機C++應用程序,您將無法使用它。

有一個通過COM的GDI +本地接口。看看this link

+0

啊,我明白了。所以Windows支持GDI,但爲了開發它,你必須下載GDI +的SDK或庫。換句話說,由於Windows支持GDI和GDI +,因此最終用戶無需下載任何內容即可使用採用GDI +或GDI的應用程序。但是,我需要源代碼庫,因此我需要下載SDK。我對嗎? – CAA14

+0

不一定,您也可以只使用GDI調用,但它的工作量更多,並且一些「更新」的功能(如.jpg解碼)將不可用(我在此處使用引號,因爲GDI太舊了,JPEG可能會認爲它是新奇的)。但無論哪種情況,您都需要SDK頭文件和導出庫來將您的程序與GDI或GDI +入口點鏈接起來。儘管如此,沒有「真正的」源文件(即.c/.cpp)文件。 –

+0

對於裸機GDI調用,請查看https://msdn.microsoft.com/pt-br/library/windows/desktop/dd145203(v=vs.85).aspx並準備工作。 –