hCo*_*Con 13 c++ console codeblocks pixels
在使用Code :: Blocks v10.05的C++中,如何在控制台屏幕上绘制单个像素?这很容易,还是只绘制一个矩形会更容易?我该如何着色?对不起,但是我无法从SOF,HF甚至cplusplus.com获得任何代码.这是一个超级马里奥世界的人物在屏幕上.我认为这个游戏是16位的,适用于SNES系统.C :: B说我需要C :: B的SDK.它说"afxwin.h"不存在.可能下载?这就是我想要做的:

Fac*_*res 16
这取决于您的操作系统.我想你是在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;
}
Run Code Online (Sandbox Code Playgroud)
您还可以使用其他一些库:conio.h allegro.h sdl等.
dan*_*n04 13
如果您愿意让图像看起来很块,您可以利用控制台代码页中的块字符.
? ='\ xDB'= U + 2588 FULL BLOCK? ='\ xDC'= U + 2584 LOWER HALF BLOCK? ='\ xDF'= U + 2580 UPPER HALF BLOCK通过将半块与彩色文本结合使用,您可以将80×25控制台窗口转换为80×50 16色显示屏.(这是NBbles的QBasic版本使用的方法.)
然后,您只需将图像转换为16色调色板,并且尺寸相当小.
