ASCII 艺术生成器
将图片转换为精美的文本艺术
上传图片
点击或拖拽图片到此处
支持 JPG、PNG、GIF、WebP
选项
ASCII 艺术
上传图片以生成 ASCII 艺术...
ASCII 艺术把图片变成纯文本:每个像素的亮度被替换成一个字符,于是一张照片就能贴进终端、README 或代码注释里。这个生成器支持 JPG、PNG、GIF 和 WebP,全部在浏览器本地完成、绝不上传,还可以调节宽度、字符集和配色模式。
图片是怎么变成字符画的?
这门手艺比个人电脑还要老。在图形显示器出现之前,人们就用打字机和行式打印机靠叠打字符来“印”图片;后来它在 BBS 时代和邮件签名里大放异彩。背后的算法其实很优雅:第一步,把图片缩成一个小网格,比如 80 列宽;第二步,量出每格的平均亮度,映射到一串由深到浅排好序的字符上——暗处用 @ 或 #,中间调用 + 或 .,亮处用空格。字符越多,灰度过渡越平滑,所以 70 字符的详细模式画人脸,远比 10 字符的标准模式像样。
有个麻烦事:字符的高度大约是宽度的两倍,直接转换出来的图会被纵向拉长。生成器通过让行数少于列数来补偿,这也是为什么列数滑块是你最重要的调节手段——它同时决定分辨率和画面比例。
如何使用
- 选择图片: 从设备里挑一张 JPG、PNG、GIF 或 WebP,处理全程在本地进行。
- 调整设置: 设定输出宽度(列数),挑选字符集(标准、详细或方块),需要的话再打开反色或彩色输出。
- 实时预览: 每改一项设置,字符画立即重新渲染。
- 复制成果: 复制文本,贴到任何用等宽字体的地方。
功能特性
- 基于 Canvas API 纯本地处理,图片不离开设备
- 三种字符集:标准(10 字符)、详细(70 字符)、Unicode 方块
- 输出宽度可调,自动补偿高宽比
- 支持灰度和彩色输出,还有适合深色背景的反色选项
- 兼容 JPG、PNG、GIF、WebP
实用技巧
优先选构图简单、对比度高的图:logo、纯色背景的人像,效果远好于细节满满的风景照。人脸一般要 100 列以上才能认出来。如果成品要放在深色终端背景上,记得开反色,让暗部变成密字符。最后一点:一定要在等宽字体下查看,非等宽的比例字体会把网格彻底毁掉。
使用场景
- 终端与 README: 给命令行工具和 GitHub 项目加个字符画横幅。
- 代码注释: 在源文件里埋个彩蛋。
- 复古整活: 在消息和签名里重现 BBS 年代的美学。
相关工具
常见问题
我的图片会被上传到服务器吗?
不会。所有图像处理都在你的浏览器里通过 Canvas API 本地完成,图片不会离开你的设备,也不会被存储或传输到任何地方。
应该选择哪个字符集?
标准模式用 10 个简单字符,适合小尺寸输出;详细模式用 70 个字符,细节表现好得多;方块模式用 Unicode 块字符,质感完全不同。建议都试一遍,看哪种风格更合心意。
支持哪些图片格式?
支持 JPG、PNG、GIF 和 WebP。想效果好,尽量选对比度高、构图简单的图,细节繁杂的照片效果一般。
为什么生成的 ASCII 艺术看起来被拉长了?
因为字符本身是窄高的。生成器已经通过减少行数做了补偿,你还可以拖动列数滑块,找到适合展示场景的比例。