1

我正在尝试编写一个在控制台屏幕上绘制特定形状的程序。我想尝试使用控制台屏幕外的坐标点来指定形状的点,将其存储在数组中,并在控制台屏幕上清楚地显示为白色(或任何颜色)闭合图形。我基本上想知道是否可以在控制台屏幕上设置笛卡尔平面,以便我可以根据我提供的程序的 (x,y) 坐标创建形状和图形。

我不完全了解 Windows GDI 的工作原理,我听说的唯一可以做到这一点的库是“curse.h”或“ncurse.h”库。此外,我在 Internet 上没有找到关于如何在我的 Visual C++ 2010 Express Edition 编译器中安装这些不同库的单一参考资料。感谢@john,我能够查找 Windows 应用程序的控制台功能。我是编码初学者,所以请耐心等待,这是我根据充满错误的程序编写的程序(至少这是构建者所说的):

#include <WinCon.h>
using namespace std;

int main()
{
   char string[] = "#";
   char recString[5] = {'\0'};
   COORD coordinates;
   coordinates.X = 15;
   coordinates.Y = 10;
   SetConsoleCursorPosition(GENERIC_READ, coordinates);
   WriteConsole(GENERIC_WRITE, string, 1, recString, NULL);
   char response;
   cin >> response;
   return 0;
}
4

2 回答 2

1

Windows 控制台 API 应该为您提供所需的一切http://msdn.microsoft.com/en-us/library/windows/desktop/ms682073%28v=vs.85%29.aspx

编辑:我对这个库没有太多经验,但我可以看到上面的代码有一些问题。像这样的事情更像是你应该做的

HANDLE console_out = GetStdHandle(STD_OUTPUT_HANDLE); 
...
SetConsoleCursorPosition(console_out, coordinates); 
...
WriteConsole(console_out, string, 5, recString, NULL);

此页面有一些示例http://msdn.microsoft.com/en-us/library/windows/desktop/ms686971%28v=vs.85%29.aspx

于 2012-08-01T13:26:37.673 回答
1

请参阅本教程,了解如何使用带有SDL_gfx附加库的简单 DirectMedia 层(SDL) 库来绘制原始形状。这将在控制台窗口之外的窗口上绘制(AFAIK,不可能直接在 Windows 控制台内逐像素绘制图形)。

如果您只是在寻找一种生成带有几何形状的绘图的方法,并且您已经熟悉 Matlab(或其免费克隆Octave),那么您应该考虑使用出色的geom2d Matlab 库。

于 2012-08-01T14:46:05.870 回答