【问题标题】:How to draw graphics on screen without using any framework or library?如何在不使用任何框架或库的情况下在屏幕上绘制图形?
【发布时间】:2016-06-27 13:11:37
【问题描述】:

我想手动绘制图形,这意味着不使用任何库或框架,如 QT、directX、whindow.h .... 就像向屏幕上的每个像素发出命令以显示不同的特定颜色时间。每个机构都提供基于这些库或它们所称的任何内容的教程。我想要的是制作我自己的 GUI。据我所知,这将非常复杂,难以学习和理解,混乱且耗时,但我已经准备好了。我需要一些资源来理解这一点。

是的,我知道 C++,所以如果我必须使用这种语言会更好,但如果需要,我会学习其他语言,只是我想知道我应该学习哪种语言。

【问题讨论】:

  • 什么操作系统?
  • 您可以在 PC 上使用 DOSBox 并对模拟的 x86 PC 硬件进行编程。
  • 看看这是不是你想要的:stackoverflow.com/questions/4996777/…
  • windows vista or xp or 7
  • 没有 lib 你现在甚至不能创建一个应用程序,除了旧的 MSDOS 程序(不要与控制台应用程序混淆),所以在这种情况下,唯一的可能性是 DOS/DOSBOX 和直接访问 EGA/VGA 见display array of colors in C/C++ 或在控制台应用程序中使用 ASCII art ... 否则您需要使用 gfx 库(C/C++ 没有 gfx api)

标签: c++ graphics


【解决方案1】:

在过去,您可以直接写入视频内存而无需操作系统/ROM 的帮助。今天,在当前的硬件上,您必须通过操作系统才能写入屏幕。这意味着使用单独的库(如 Qt)或使用操作系统功能(windows.h)。您可以使用 directX 或其他东西并获得对视频内存的更多原始访问权限,但这仍在使用库/框架。

【讨论】:

    【解决方案2】:

    如果你想使用 C++ 和原生 Windows API(没有 DirectX),你应该使用 GDI(Microsoft 图形设备接口)+ MFC(Microsoft 基础类)这是 Windows GUI 的经典实现,如果你想要带有着色器的复杂图形你需要 DirectX/OpenGL 毫不犹豫。同时,如果您想要更高的编程框架,您可以使用 C#(CSHARP) 或 Java。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-17
      • 1970-01-01
      • 2013-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多