在 C++ 中逐像素绘制

Jef*_*eff 3 c++ graphics drawing pixel

几年前,我曾经用汇编语言为 MS-DOS 编程。可用的方法之一是告诉 BIOS 一个x坐标,一个y坐标和一个颜色(以整数表示),然后调用一个函数,BIOS 会立即执行此操作。

当然,这是非常艰苦的工作并且非常耗时,但代价是您在您想要的时间准确地得到了您想要的东西。

我多年来尝试编写 MacOS API,但发现这要么很困难,要么不可能,因为根本没有任何文档记录。(NSNumber 到底是什么?为什么所有控件都返回一个无用的对象?)

我现在确实没有任何具体的项目,但我希望能够编写可以以相同方式绘制像素的 C++。也许我疯了,但我想要那种控制。

在我能够克服这个问题之前,我只能通过打印文本并在屏幕填满时向上滚动来编写在控制台中运行的程序。

Kil*_*Kid 5

您可以尝试使用Windows GDI

#include <windows.h>

int main()
{
    HDC hdc = GetDC(GetConsoleWindow());
    for (int x = 0; x < 256; ++x)
        for (int y = 0; y < 256; ++y)
            SetPixel(hdc, x, y, RGB(127, x, y));
}
Run Code Online (Sandbox Code Playgroud)

正如您从上面的示例中看到的那样,绘制一些东西非常容易(如果这就是您所要求的)。