ANSI Art 是什么?与 ASCII Art 的区别及入门创作方法
更新时间
ANSI Art 是用 ANSI 转义序列控制字符颜色、背景和光标位置,在文本终端或 BBS 上呈现的彩色文本画。它和 ASCII Art 共用“用字符拼图”的底层思路,但多了颜色与版面控制,因此更像“用字符当像素作画”。适合想了解 BBS 时代视觉文化、或想尝试纯文本媒介创作的人;如果你要的是现代图形设计,它并不是高效工具。
ANSI Art 的基本构成
ANSI Art 的画面由两部分叠加而成:
- 字符层:字母、数字、符号、制表符、块状字符(如 █ ▓ ▒ ░)等,负责形状和明暗。
- 控制层:ANSI 转义序列,负责前景色、背景色、光标定位、清屏等。典型形式以 ESC 字符(
\x1b或^[)开头,后接参数和指令字母。
例如在兼容 ANSI 的终端中,\x1b[31m 把前景切到红色,\x1b[0m 重置样式。光标定位指令可以让创作者“跳到”某行某列再输出字符,从而在纯文本界面上排版出标题、边框和插图。颜色数量取决于终端支持的调色板:经典 BBS 环境通常是 16 色,现代终端可能支持 256 色或真彩色,但作品能否按原样显示,取决于观看端。
与 ASCII Art 的核心区别
| 维度 | ASCII Art | ANSI Art |
|---|---|---|
| 色彩 | 通常单色,靠字符密度表现明暗 | 使用转义码着色,可有多色前景/背景 |
| 字符集 | 以 ASCII 字符为主 | 常用扩展字符、块状字符和制表符 |
| 显示环境 | 任何等宽字体环境基本可读 | 需要支持 ANSI 的终端、BBS 客户端或专用查看器 |
| 典型用途 | 签名、标题、简单插图 | BBS 欢迎屏、场景组介绍画面、艺术包(artpack) |
| 文件形态 | 多为纯文本 | 常含控制码,直接打开可能显示乱码 |
关键差别不在“谁更难”,而在控制码是否参与画面。ANSI Art 一旦脱离兼容环境,颜色和排版会丢失,剩下的只是夹杂转义字符的文本。
在 BBS 与地下艺术场景中的角色
Roy/SAC 的站点资料显示,他本人是 ASCII/ANSI 文本艺术家、BBS 站长(sysop)、demoscene 参与者,也是地下艺术场景组织 Superior Art Creations(SAC)的创始人和前负责人,1999 年卸任负责人、2001 年退出 SAC 成员身份。该站同时作为 SAC 官方站点,提供全部 SAC artpack 下载和在线浏览。
这段背景说明 ANSI Art 的典型生态:BBS 是展示和交流的场所,艺术组以 artpack 形式集体发布作品,画面常用于欢迎屏、组介绍和 NFO 文件。想研究这种风格,直接看历史 artpack 比看二手描述更有效;Roy/SAC 站点还设有 ASCII Art Academy 和视频区,包含与文本艺术相关的教程和纪录片资源,可作为入门参考。
入门创作的基本流程
- 确认显示环境:先确定作品给谁看——经典 16 色 BBS、现代终端,还是网页查看器。环境决定可用颜色和字符。
- 选工具类型:一类是带画布和调色板的 ANSI 编辑器,能直接放置字符和颜色;另一类是文本编辑器手写转义码,适合学习控制码原理。前者上手快,后者理解深。
- 定画布尺寸:传统 BBS 画面常按 80 列宽设计,这是经典终端宽度。先定宽高,再排版。
- 分层绘制:先放块状字符铺大色块和明暗,再补细节字符,最后加边框和文字。
- 保存与验证:保存为含控制码的文本文件,在目标终端或查看器中打开,检查颜色、对齐和换行是否符合预期。
预期结果是:在兼容环境中看到彩色画面;在不兼容环境中至少不破坏结构。若做不到后者,考虑同时提供一份去控制码的纯文本版本。
常见卡点与排查方向
- 颜色不显示、出现
[31m之类字符:查看端未解释转义序列。换支持 ANSI 的终端或专用查看器,确认文件未被当普通文本渲染。 - 排版错位:多为字体不是等宽字体,或终端宽度与设计宽度不一致。统一使用等宽字体,并按目标列宽设计。
- 换行与制表符异常:不同系统对换行符和制表符宽度处理不同,跨平台分享时优先用空格对齐,避免依赖制表符。
- 颜色数量不符:作品用了 256 色,但观看端只支持 16 色。发布前在最低目标环境里预览,或注明所需环境。
- 文件被编辑器改写:部分编辑器会转换或剥离控制字符,保存时确认使用纯文本模式且不自动清理特殊字符。
入门阶段最值得先做的一件事,是找几份经典 artpack 在兼容查看器里打开,观察颜色和光标控制如何组合成画面,再动手模仿一个小尺寸作品。