使用C#生成ASCII艺术

6

我曾经参加了一次编程工作的测试,其中涉及使用C#制作ASCii艺术。由于我在C#或任何编程知识方面都缺乏经验和了解,因此我在这方面做得不太好。

是否有任何.NET资源或课程值得了解和练习?


你的意思是用C#程序将图像转换为ASCII艺术吗? - Ashley Grenon
你需要定义一下你所说的ASCII艺术是什么。如果你只需要渲染1位图像,或者可以使用24位颜色来着色每个字符,那么回答会更简单。如果你必须使用较小的调色板来表示24位彩色图像,或者必须使用一种颜色来表示灰度,那么问题可能会更加复杂,你可能需要采用其他人已经给出的答案。你需要哪种情况的回答? - Merlyn Morgan-Graham
我认为那是一个相当愚蠢的面试问题...它并不能真正证明你的技能。所以如果你没有得到这份工作,不要感到太难过 ;) - Thomas Levesque
4个回答

12

ASCII艺术很普遍,但如果您想制作ASCII横幅或标题,则可以将受欢迎的FIGlet字体生成移植到.NET中:

https://github.com/drewnoakes/figgle

它非常易于使用,并且在几乎所有版本的.NET上都可用(netstandard1.3及以上版本,因此包括.NET Framework和.NET Core、Xamarin等)。

            _ _          __    __           _     _   _ 
  /\  /\___| | | ___    / / /\ \ \___  _ __| | __| | / \
 / /_/ / _ \ | |/ _ \   \ \/  \/ / _ \| '__| |/ _` |/  /
/ __  /  __/ | | (_) |   \  /\  / (_) | |  | | (_| /\_/ 
\/ /_/ \___|_|_|\___( )   \/  \/ \___/|_|  |_|\__,_\/   
                    |/       

制作方式:

Console.WriteLine( 
    FiggleFonts.Ogre.Render("Hello, World!"));

3

1
oOOoo,我看到了那个代码项目......非常棒。:) - Ashley Grenon

3

在进行了一些研究后,我发现最好的方法是这样的:

1. 进入文本转ASCII艺术生成器(TAAG)

2. 输入您的文本。

3. 更改设置以使文本看起来合适。

输入图像描述

4. 单击“选择并复制”

输入图像描述

5. 在C#代码中键入以下内容:

string text = @"// Your copied ASCII code";
Console.WriteLine(text);

确保在引号前面添加@符号,这样格式保持不变,否则编辑器会给出很多错误。


1
要了解完整的ASCII“光谱”,就应该了解ASCII图表,也称为ASCII表。

http://www.asciitable.com/

知道这一点,有人可以在codeproject链接中找到的代码基础上创造出“独特”的东西。 :-)

如果你仔细想想,它只是一个“查找”表,你可以从中提取一个值并进行任何操作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接