我正在寻找一种在控制台窗口内绘制图像的方法。与我如何调用Console.Write("this will display in the console window");
类似。我不确定这是否可行。
我玩了一点没有运气(可能是因为.NET希望你使用winforms进行图形编程)。
以下是我正在尝试做的事情的片段:
using System;
using System.Drawing;
namespace DisplayImage
{
class Program
{
static void Main(string[] args)
{
using (var bmp = new Bitmap(100, 100))
using (var gr = Graphics.FromImage(bmp))
{
gr.FillRectangle(Brushes.Orange, new Rectangle(0, 0, bmp.Width, bmp.Height));
Console.WriteLine("draw image");
gr.DrawImage(bmp, 1, 1);
Console.WriteLine("drew image");
}
}
}
}
有办法做到这一点吗?
有没有办法操控控制台应用中的像素?也许我可以手动读取图像中的像素,并在控制台中绘制每个像素。
这只是为了好玩,顺便说一句。不是一个实际的项目,只是一个练习/探索项目。我们破解控制台: - )
答案 0 :(得分:2)
没有。无法绘制到控制台窗口。它仅支持文本。最接近的是ASCII艺术!我会推荐用于图形的WPF应用程序
答案 1 :(得分:1)
实际上,答案是“是的,有点像”。请查看Drawing in a Win32 Console on C++?以获取在控制台窗口顶部绘制的本机代码。
要使用C#执行此操作,您很可能需要调用本机代码才能完成实际工作。
你不会真正在控制台窗口中绘制,只能在它上面绘制一个窗口(一个微妙但可能很重要的区别)。
答案 2 :(得分:0)