之前淘宝也有,感觉很有意思,不知道怎么生成的?
这个叫ASCII Art——等宽字形的字符画,用ASCII范围内的字符,模拟每个像素的深浅。
这是一门古老的艺术。比较近的历史时期举一个例子:随着Shareware共享软件时代的火爆,相应的破解、注册机也同时风行。在很多破解软件里都会附带一个.nfo
文件,其中就是ASCII Art拼的底图,图中间写破解组织的说明文字。
另外还有,例如现在GameFAQs网站的纯文本游戏攻略,仍然很流行把游戏的标题用ASCII Art拼一下。例如:
_____ _ _ _
/ ____| | | (_) /\ (_)
| | __ _ _ __ | |_ __ _ _ _ __ / \ _ __ ___ ___ _ __ _ ___ __ _
| | / _` | '_ \| __/ _` | | '_ \ / /\ \ | '_ ` _ \ / _ \ '__| |/ __/ _` |
| |___| (_| | |_) | || (_| | | | | | / ____ \| | | | | | __/ | | | (_| (_| |
\_____\__,_| .__/ \__\__,_|_|_| |_| /_/ \_\_| |_| |_|\___|_| |_|\___\__,_|
| |
|_|
and
dMMMMMMP dMP dMP dMMMMMP
dMP dMP dMP dMP
dMP dMMMMMP dMMMP
dMP dMP dMP dMP
dMP dMP dMP dMMMMMP
.aMMMb dMP dMP dMMMMMP dMMMMb .aMMMMP dMMMMMP dMMMMb .dMMMb
dMP"dMP dMP dMP dMP dMP dMP dMP" dMP dMP.dMP dMP" VP
dMMMMMP dMP dMP dMMMP dMP dMP dMP MMP"dMMMP dMMMMK" VMMMb
dMP dMP YMvAP" dMP dMP dMP dMP.dMP dMP dMP"AMF dP .dMP
dMP dMP VP" dMMMMMP dMP dMP VMMMP" dMMMMMP dMP dMP VMMMP"
来自红白机上尉密令/美国队长与复仇者联盟 Captain America & The Avengers 攻略
不做具体推荐,请搜“ASCII Art Generator”,在线的离线的不一而足,随意选用。
个人觉得,是遍历一张图片(ImageColorAt)像素,转换为灰度值(PS通道),设置阀值以便滤除噪点,再给每个灰度值设置相对应的字母,如色彩度小的可以为“.”或是“:”,色彩度大的可以为“M”或是“B”,再循环输出就的出来这个了
8 回答4.7k 阅读✓ 已解决
6 回答3.4k 阅读✓ 已解决
5 回答2.8k 阅读✓ 已解决
5 回答6.3k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
送你两篇文章:
基于 canvas 将图片转化成字符画
国庆节到了,献给 sf 社区的礼物
具体思路很简单,就是:
扫描图片相应位置的像素点,再计算出其灰度值,根据灰度值的大小,分别用字符 #*+“ 和空格来填充。
在第二个链接(国庆节到了,献给 sf 社区的礼物)中,我又对第一个 ANSII 图进行了升级,不仅仅显示出了 SF 字样,而且这个字样还是一个可以直接运行的 javascript 代码,代码的运行结果会输出 segmentfault。