如何绘制一个像素

How to draw one pixel

本文关键字:像素 一个 绘制 何绘制      更新时间:2023-10-16

我的问题是,如何使用c++本地库和函数在屏幕上绘制单个像素?我的意思是不要使用外部函数或库。这怎么可能?

像这样:

int rgb = {255,150,113};
nativeLibrary.drawPixel(0,1, rgb);

你不能。c++还没有任何原生图形或GUI库。

c++可能最终会在标准中添加图形(他们正在考虑),但是现在,c++标准还不包含图形。

不过,您可以利用其他标准来向屏幕写入一个像素。如果你在Linux上,已经有答案了。

如果你使用VGA,你可以直接写VGA缓冲区(警告:方式过时像"意味着DOS"过时)。您可能会使用c++的内联程序集来设置呈现模式,而不是页面使用的任何内容,然后使用常规的unsigned char*而不是"far"指针来访问它。尽管您可能不使用VGA并且可能不想使用汇编(特别是内联汇编)。

那么你在那之外做什么呢?没什么,真的。你需要使用一个外部库来渲染,所以可能是OpenGL或DirectX或一些库使用。

和前面的答案一样,没有本地库来处理图像。然而,如果你在Windows API中工作,特别是MFC,你可以使用CBitmap类。