#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;
}
6条答案
按热度按时间vwkv1x7d1#
这取决于你的操作系统。我假设你是在Windows平台上编程,因此你可以使用SetPixel,但你必须使用“windows.h”来获取控制台句柄,所以这里有一个绘制cos()函数的例子:
字符串
您也可以使用其他一些库,如:conio.h allegro.h sdl等。
ioekq8ef2#
如果你想让图像看起来像块,你可以利用console code page的块字符。
█
= '\xDB' = U+2588完整数据块▄
= '\xDC' = U+2584下半块▀
= '\xDF' = U+2580上半块通过将半块与colored text结合使用,您可以将80×25的控制台窗口变成80×50的16色显示(这是QBasic版本的Nibbles所使用的方法)。
然后,您只需将图像转换为16色调色板和合理的小尺寸。
的数据
6qftjkof3#
windows.h
提供了一个函数SetPixel()
,用于在窗口的指定位置打印一个像素。该函数的一般形式为字符串
其中,x和y是要显示的像素的坐标,颜色是像素的颜色。
重要:要使用Code::blocks IDE在您的机器上打印像素,请在链接器设置中添加链接库
libgdi32.a
(通常在MinGW\lib
内部)。f0ofjuux4#
控制台是一个文本设备,所以一般来说你不会写到单个像素。你可以创建一个特殊的字体,并选择它作为控制台的字体,但它将是单色的。有一些库可以简化控制台UI的编写(例如Curses),但我相信你也有更多的游戏功能,而不仅仅是显示一个精灵。
如果你想写一个游戏,我建议你看看一些图形/游戏框架/库,例如SDL
n3ipq98p5#
我在code::blocks中使用windows.h绘制了直线。我不能详细解释它,但我可以提供一个代码和过程来编译它。
1.进入设置菜单并选择编译器和调试器。
1.点击链接器选项卡,并添加一个链接库libgdi32.a,它位于C:\Program Files\CodeBlocks\MinGW\lib目录。
现在编译这个程序
字符串
在这个程序中我使用了DDA直线绘制算法。像素绘制任务是通过setPixel(ROUND(x),ROUND(y))函数来完成的。这是windows编程,你可以学习详细的here
c6ubokkw6#
在CodeBlocks中使用我发现了这个(你必须添加一个链接器选项
-lgdi32
):字符串
我忘了:你必须在包含
windows.h
之前加上这个:型
整个余弦代码。准备编译:
型