繁体   English   中英

我如何获取和使用头文件<graphics.h>在我的 C++ 程序中?

[英]How I can get and use the header file <graphics.h> in my C++ program?

我一直在寻找头文件<graphics.h>及其相关库的源代码,以便将其与我的 C++ 程序集成。

同时,我对那些适用于多个编译器的跨平台库感兴趣。 更明确地说,我说的是那些用于在 C++ 中绘制形状、线条和曲线的库。

<graphics.h>是一个非常古老的库。 最好使用新的东西

下面是一些用于 C/C++ 的 2D 库(平台无关)

SDL

GTK+

Qt

还有一个免费的非常强大的 C++ 3D 开源图形库

食人魔

<graphics.h>不是标准标题。 最常见的是它指的是用于 DOS 的 Borland 的 BGI API 的标头,并且充其量是过时的。

然而,它非常简单; 有一个名为WinBGIm的 BGI 接口的 Win32 实现。 它是使用 Win32 GDI 调用实现的 - 最低级别的 Windows 图形界面。 由于它是作为源代码提供的,因此它可能是理解 GDI 工作原理的一种简单方法。

然而,WinBGIm 绝不是跨平台的。 如果您只需要简单的图形基元,那么大多数更高级别的 GUI 库(例如 wxWidgets 和 Qt)也都支持。 在评论中提到的可能的重复答案中建议了更简单的库。

这个 Turbo C 图形界面有一个现代端口,称为WinBGIM ,它在 MinGW/GCC 下模拟 BGI 图形。

我还没有尝试过,但看起来很有希望。 例如initgraph创建一个窗口,从这一点开始,您可以使用旧函数绘制到该窗口中,最后closegraph删除该窗口。 它还具有一些更高级的扩展(例如鼠标处理和双缓冲)。

当我第一次从 DOS 编程转向 Windows 时,我没有互联网,我乞求像这样简单的东西。 但最后我必须从 Windows SDK 的离线帮助中学习如何创建窗口以及如何处理事件和使用设备上下文。

graphics.h似乎是 90 年代曾与 Borland 和/或 Turbo C++ 捆绑在一起的东西。

http://www.daniweb.com/software-development/cpp/threads/17709/88149#post88149

您不太可能使用现代编译器找到对该文件的任何支持。 对于其他图形库,请检查“相关”问题列表(与此相关的问题)。 例如, “一个用于 c 或 c++ 的简单的 2d 跨平台图形库?” .

Borland 图形接口,即由 graphics.h 头文件前端的库,已在SDL之上重新实现。 这带来了对现代硬件和操作系统的支持(实际上是多个操作系统,因为 SDL 是相当可移植的)。

它可以在此处下载,为各种常见的桌面目标预先构建。

或者,如果您希望(或必须)从源代码构建它,这里是一个 github 镜像

请注意,它是一个非常古老的软件库的移植版,将在现代工具上运行,因此如果您打算将其用于课堂作业,则应与教师确认。 作业失败会令人恼火,因为您使用了需要现代编译器支持的习语,并且发现它们不能在 1980 年代的标记系统上编译。

您可能会发现使用标记系统的虚拟机克隆进行开发和开发会更好,以防止出现令人讨厌的意外。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM