如何绘制一个像素
How to draw one pixel
我的问题是,如何使用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类。
相关文章:
- 如何在不产生任何垃圾的情况下获得C中的像素
- 选择基于另一个垫子的非零像素的cv::Mat的一部分?
- 计算另一个图像像素满足条件的像素值的平均值
- 访问和更改基于另一个图像的像素颜色-opencv c++
- 我想知道像素/片段的原始模板值.零还是一个?如果可能的话,以获取哪些特定操作会修改模板值
- OPENCV C .在for循环中在不同的图像像素上绘制一个圆圈(应在每个循环运行时将图像打开)
- 根据OPENCV中一个通道中的一个值,查找最大颜色像素
- 将垫子的每个像素设置为某个值,如果它低于一个值?
- 像这样在堆栈上创建一个小的像素图可以吗
- 内存中一个像素图像数据的表示形式
- 在屏幕上绘制一个像素
- 如果新图像中的原始像素为黑色,则Qt绘制一个蓝色像素
- 如何绘制一个像素
- 我需要从一个图像文件中生成一个像素矩阵
- OpenCV用另一个值替换特定的像素值
- 将cv::Scalar的值设置为opencv中cv::Mat中的一个像素的正确(最佳)方法是什么?
- TTF_RenderTextSolid()返回一个每像素1字节的曲面
- 使用OpenCV点击图像中的一个点来访问像素值
- 从一个倾斜的蒙版上沿着几条线获取像素值
- 在c++中使用OpenCV设置一个给定中心像素值的矩形ROI