在使用 Code::Blocks v10.05 的 C++ 中,如何在控制台屏幕上绘制单个像素?这很容易吗,还是只画一个矩形会更容易?如何给它上色?
很抱歉,我无法从 SOF、HF 甚至 cplusplus.com 获取任何代码来工作。这是屏幕上的 super 马里奥世界人物。我认为是16位的游戏,适用于SNES系统。 C::B 说我需要 C::B 的 SDK。它说“afxwin.h”不存在。可以下载吗?
这就是我想要做的:
最佳答案
这取决于您的操作系统。我想你是在 Windows 平台上编程,所以你可以使用 SetPixel但是你必须使用“windows.h”来获取控制台句柄,所以这里有一个绘制 cos() 函数的例子:
#include<windows.h>
#include<iostream>
#include <cmath>
using namespace std;
#define PI 3.14
int main()
{
//Get a console handle
HWND myconsole = GetConsoleWindow();
//Get a handle to device context
HDC mydc = GetDC(myconsole);
int pixel =0;
//Choose any color
COLORREF COLOR= RGB(255,255,255);
//Draw pixels
for(double i = 0; i < PI * 4; i += 0.05)
{
SetPixel(mydc,pixel,(int)(50+25*cos(i)),COLOR);
pixel+=1;
}
ReleaseDC(myconsole, mydc);
cin.ignore();
return 0;
}
您还可以使用其他一些库,例如:conio.h allegro.h sdl 等。
关于控制台窗口中的 C++ 像素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12378642/