假设我有一个VB.net或C#控制台程序将其数据输出到控制台。有没有办法改变像素的颜色?例如,我的分辨率是1600x900。我可以画像素(800,600)红色吗?我是否可以对活动窗口执行相同操作(如果控制台为400x400,则使用相对于控制台的坐标绘制像素(300,300))?我想做的是制作一些表达的情节。我有多个点和他们的坐标,我想通过绘制像素在控制台中绘制它们。我真的很困惑如何做到这一点。任何建议和帮助都非常感谢。
答案 0 :(得分:0)
您可以在写入控制台时更改前景色和背景色,但就是这样。您需要使用Winforms来完成您想要的任务。
答案 1 :(得分:0)
您无法绘制像素,但可以使用彩色伪图。您可以通过p /调用它们来使用WriteConsoleOutput
之类的Win32函数。例如,请参阅Advanced Console IO in .NET。
答案 2 :(得分:0)
我知道这个答案有点晚了,但如果你仍然想要它,需要它,或者如果其他人想要它,我在堆栈溢出中找到了一些教程和其他东西,这让我找到了答案。这是:
[DllImport("kernel32.dll", EntryPoint = "GetConsoleWindow", SetLastError = true)]
private static extern IntPtr GetConsoleHandle();
IntPtr handler;
Bitmap mainMap;
void FinalDraw()
{
using (var graphics = Graphics.FromHwnd(handler))
graphics.DrawImage(mainMap, new PointF(0, 0));
}
现在只需使用 mainMap.SetPixel(Color) 更改 Bitmap mainMap 内的像素,然后设置所有设置,只需调用 FinalDraw,就可以了。您需要将 mainMap 设置为新的 Bitmap 并设置分辨率。最后确保从 Visual Studios 的 Manage NuGet 窗口安装 System.Drawing.Common。以及使用 System.Drawing 添加;您可能还需要添加项目引用。祝你好运,玩得开心!