【问题标题】:C++ Graphics in Visual Studio 2017Visual Studio 2017 中的 C++ 图形
【发布时间】:2017-07-15 14:23:30
【问题描述】:

如何在不使用 BGI 库的情况下在 Visual Studio 2017 (C++) 中使用图形函数?使用什么头文件?我想用这些函数来做一些事情,比如画一个圆。

【问题讨论】:

  • 只需使用以下之一:opengl+glut、vulkan api、direct3d、qt 和一些绘图插件。
  • 对于简单的东西,只需使用 GDI。
  • 嗯,已经有头文件了吗?我的意思是,Visual Studio 2017 (c++) 有头文件来执行图形功能吗?

标签: visual-c++ graphics c++14 visual-studio-2017 header-files


【解决方案1】:

头文件<windows.h> 允许您将 Windows API 用于许多功能,包括但不限于您将用于自己绘制图形的功能,例如SetPixelGetPixel 以及您可以看到的许多其他功能 repository 中的代码,其中包含各种圆绘制算法的 C++ 实现。

【讨论】:

  • 你能用 创建一个像 Rapid Roll 这样的简单游戏吗?
  • 如果您的意思类似于here,我认为不使用任何其他库会很困难,因为windows.h 对动画没有帮助,因此您需要自己实现所有内容。
  • 谢谢,你也可以回答-stackoverflow.com/questions/44994926/…这是Turbo C++,但我想知道原因。
  • 很遗憾,我对 Turbo C++ 一无所知。
【解决方案2】:

你有很多选择:

  • Windows API - 很难使用,但运行速度非常快。这可能是最困难的选择,因为它非常复杂且无需手持。
  • MFC - Microsoft 的 C++ 图形工具。不太容易使用,但肯定比 WinAPI 更容易。很多人不喜欢使用它,因为它有点旧,而且还有更好的东西。
  • OpenGL/Vulkan/DirextX - 这三个是非常相似的技术。它们基于使用您的图形卡进行绘图,使用称为“着色器”的小程序,可以即时编辑和编译。大多数游戏都使用其中一种,而且运行速度非常快。 DirectX 仅适用于 Windows,而 Vulkan 非常低级。我会推荐这三个中的 OpenGL。
  • 外部库 - 您可以使用许多库,例如 Qt、wxWidgets 或 SFML。所有这些都有自己的优缺点,但它们都是第三方库,它们弥合了“画圈”等命令与表面下进行的 Windows 调用之间的差距。
  • Chromium Embedded Framework - CEF 允许您使用 C++ 编写程序的核心代码,然后使用 HTML5 和 Javascript 创建 GUI。本质上,它是一个连接到 C++ 后端的 Web 浏览器。看起来确实不错,但有些人批评它的资源使用量比其他产品大得多。

我建议远离 WinAPI 和 MFC,使用第三方库(用于简单的 GUI)或 OpenGL(用于复杂的渲染,即游戏)。如果您对 Web 编程有信心,那么您可以选择 CEF。

【讨论】:

  • 网站解释不多,请您简要介绍一下如何将 HTML 5/JavaScript 文件链接到 C++ 文件(我是初学者)?一个人创建什么样的 GUI 以及如何创建?稍微解释一下就可以了。
  • @ParamahamsanNallathambi CEF 允许您在 C++ 程序中运行 Chromium Web 浏览器的一个版本。本质上,它是一个带有特殊 JavaScript 绑定的 Web 浏览器,可以连接到 C++ 后端。浏览器也由 C++ 程序管理和控制。
  • 谢谢,你也可以回答-stackoverflow.com/questions/44994926/…这是Turbo C++,但我只想知道答案。
  • @ParamahamsanNallathambi 我对 Turbo C++ 一无所知。再说了,这个问题和这个无关。
猜你喜欢
  • 1970-01-01
  • 2018-04-15
  • 1970-01-01
  • 2018-08-29
  • 2018-06-13
  • 2017-11-02
  • 2019-02-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多