c++自己支持画图吗?
Does c++ support drawing graphics by itself?
在过去(Borland 的那些日子),您可以使用 c 和 c++ 中的 graphics.h 头文件来绘制线条、正方形或圆形等图形。这是由 turbo c++ 支持的。
现在,我想推荐的绘图方式是使用 OpenGL 或 DirectX。
我只是想知道是否还有一种方法可以在c++中绘制像线一样的基本图形,类似于我们以前在tc++中所做的方式。如果是,如何?
为什么: 这一切都开始于我无法在要求我使用 c++ 绘制一些曲线的比赛中解决问题。他们正在使用 tc++(!?!) 并希望我们使用 graphics.h 头文件。
我不知道这样做,因为我没想到我会需要用这种(过时的)方式在 C++ 中绘制图形。无论如何,我仍在尝试找到一种解决方案,我使用像 gcc(g++) 这样的现代编译器并仍然绕过 OpenGL。我不想回到tc++。
顺便说一句,我正在使用 Ubuntu 和 gcc。我在 c/c++ 中的编程方式是在文本编辑器中编写代码,然后使用 CLI 进行编译。
简而言之,没有。 Though Herb Sutter is pushing for it, based on a C++ification of Cairo。 graphics.h
从来都不是标准 C++ 的一部分。
正如 sp2danny 在评论中提到的,SDL 是您可能想要查看的另一个使用非常广泛的跨平台库。 (虽然因为它是一个 C 库,我个人觉得从 C++ 中使用它有点笨拙,但完全可行。)
C++11 不支持图形(以标准方式,没有外部库)。
如果您使用的是 Linux(例如 Ubuntu),在 C 或 C++ 中有很多方法可以做图形。请注意,大多数 Linux 桌面都在 X11 (which could be replaced, e.g. by Wayland, in the future). You could use Qt (with its graphics framework), libsdl, Gtk 以上,等等......
您通常会围绕一些 event loop provided by your toolkit(例如 Qt)构建您的程序。
如果你只是想绘制一些曲线或图表,你可以考虑popen(3)-ing some external program like gnuplot, graphviz etc... (or generate some SVG and/or HTML ...)
看看这个,它可能有帮助:Basic Graphics library for gcc/g++ on par with graphics.h。我输入的答案。
但对于那些想要 BGI 类型接口的人,我已经知道它会是什么样子了。
它将有一个基于套接字或共享内存的接口,连接到软件图形引擎,该引擎将执行所有 windowing/rendering 和其他操作。它当然是开源的,并带有一个坚如磐石的 Windows 安装程序。从绘制几条 2D 线到为下一款 Xbox 游戏编程,您所要做的就是向其提供命令。
假设您像我一样是个十足的 GCC 人(CLI 太棒了!)。您只需下载这个 Windows 程序,这是一份 PDF 手册,告诉您在您使用的任何管道上拍摄什么(可能包括管道……聪明,不是吗?),有点像 VRML。但它的构建是为了易于学习,您可以从字面上打开一个套接字或其他任何东西并开始与它交谈。它只显示您发送的任何内容。
在过去(Borland 的那些日子),您可以使用 c 和 c++ 中的 graphics.h 头文件来绘制线条、正方形或圆形等图形。这是由 turbo c++ 支持的。
现在,我想推荐的绘图方式是使用 OpenGL 或 DirectX。
我只是想知道是否还有一种方法可以在c++中绘制像线一样的基本图形,类似于我们以前在tc++中所做的方式。如果是,如何?
为什么: 这一切都开始于我无法在要求我使用 c++ 绘制一些曲线的比赛中解决问题。他们正在使用 tc++(!?!) 并希望我们使用 graphics.h 头文件。
我不知道这样做,因为我没想到我会需要用这种(过时的)方式在 C++ 中绘制图形。无论如何,我仍在尝试找到一种解决方案,我使用像 gcc(g++) 这样的现代编译器并仍然绕过 OpenGL。我不想回到tc++。
顺便说一句,我正在使用 Ubuntu 和 gcc。我在 c/c++ 中的编程方式是在文本编辑器中编写代码,然后使用 CLI 进行编译。
简而言之,没有。 Though Herb Sutter is pushing for it, based on a C++ification of Cairo。 graphics.h
从来都不是标准 C++ 的一部分。
正如 sp2danny 在评论中提到的,SDL 是您可能想要查看的另一个使用非常广泛的跨平台库。 (虽然因为它是一个 C 库,我个人觉得从 C++ 中使用它有点笨拙,但完全可行。)
C++11 不支持图形(以标准方式,没有外部库)。
如果您使用的是 Linux(例如 Ubuntu),在 C 或 C++ 中有很多方法可以做图形。请注意,大多数 Linux 桌面都在 X11 (which could be replaced, e.g. by Wayland, in the future). You could use Qt (with its graphics framework), libsdl, Gtk 以上,等等......
您通常会围绕一些 event loop provided by your toolkit(例如 Qt)构建您的程序。
如果你只是想绘制一些曲线或图表,你可以考虑popen(3)-ing some external program like gnuplot, graphviz etc... (or generate some SVG and/or HTML ...)
看看这个,它可能有帮助:Basic Graphics library for gcc/g++ on par with graphics.h。我输入的答案。
但对于那些想要 BGI 类型接口的人,我已经知道它会是什么样子了。
它将有一个基于套接字或共享内存的接口,连接到软件图形引擎,该引擎将执行所有 windowing/rendering 和其他操作。它当然是开源的,并带有一个坚如磐石的 Windows 安装程序。从绘制几条 2D 线到为下一款 Xbox 游戏编程,您所要做的就是向其提供命令。
假设您像我一样是个十足的 GCC 人(CLI 太棒了!)。您只需下载这个 Windows 程序,这是一份 PDF 手册,告诉您在您使用的任何管道上拍摄什么(可能包括管道……聪明,不是吗?),有点像 VRML。但它的构建是为了易于学习,您可以从字面上打开一个套接字或其他任何东西并开始与它交谈。它只显示您发送的任何内容。