c ++是否支持自己绘制图形?

时间:2015-02-23 10:52:20

标签: c++ graphics

在过去(Borland的那些)你可以使用c和c ++中的graphics.h头文件来绘制线条,正方形或圆形图形。这得到了turbo c ++的支持。

如今,我猜推荐绘制图形的方法是使用OpenGL或DirectX。

我只想知道是否仍然存在一种在c ++中绘制线条等基本图形的方法,类似于我们以前在tc ++中的做法。如果是,怎么样?

为什么:这一切都始于我无法在竞赛中解决问题,要求我使用c ++绘制一些曲线。他们使用tc ++(!?!)并期望我们使用graphics.h头文件。

我不知道这样做,因为我没想到我需要以c ++(过时)方式绘制图形。无论如何,我仍然试图找到一个解决方案,我使用现代编译器,如gcc(g ++),仍然绕过OpenGL。我不想回到tc ++。

BTW我正在使用Ubuntu和gcc。我在c / c ++中编程的方法是在文本编辑器中编写代码,然后使用CLI编译它。

3 个答案:

答案 0 :(得分:5)

简而言之,没有。 Though Herb Sutter is pushing for it,基于Cairo的C ++知识。 graphics.h从未成为标准C ++的一部分。

正如sp2danny在评论中所提到的,SDL是另一个非常广泛使用的跨平台库,您可能需要查看。 (虽然因为它是一个C库,我个人发现它在C ++中使用它有点笨拙,但完全可行。)

答案 1 :(得分:2)

C ++ 11不支持图形(以标准方式,没有外部库)。

如果您使用的是Linux(例如Ubuntu),那么可以使用C或C ++进行图形处理。请注意,大多数Linux桌面都高于X11(将来可以替换,例如Wayland)。您可以使用Qt(及其graphics framework),libsdlGtk等等...

您通常会围绕event loop(例如Qt)提供的toolkit来构建您的程序。

如果你只是想绘制一些曲线或图形,你可以考虑popen(3) - 一些外部程序,如gnuplotgraphviz等......(或生成一些{{3}和/或HTML ...)

答案 2 :(得分:0)

检查一下,它可能会有所帮助:Basic Graphics library for gcc/g++ on par with graphics.h。我提出的答案。

但对于那些想要BGI类型界面的人,我已经知道它会是什么样子。

它将具有基于套接字或共享内存的软件图形引擎接口,可以完成所有窗口/渲染和填充。它当然是开源的,并带有坚如磐石的Windows安装程序。从绘制一些2D线到编写下一个Xbox游戏,你所要做的就是为它提供命令。

所以,让我们说你是一个像我一样的毛茸茸的GCC人(CLI'摇滚!)。你只需下载这个Windows程序,一个PDF手册,告诉你用什么管道拍摄什么(可能包括管道......聪明,没有?),有点像VRML。但它的构建易于学习,你可以从字面上打开一个套接字或其他任何东西并开始与之交谈。它只显示您发送的任何内容。