2016-01-31 28 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并准备工作。 –