HandyTools Hub

ASCII 艺术生成器

将图片转换为精美的文本艺术

上传图片

点击或拖拽图片到此处

支持 JPG、PNG、GIF、WebP

选项

ASCII 艺术

上传图片以生成 ASCII 艺术...

ASCII 艺术把图片变成纯文本:每个像素的亮度被替换成一个字符,于是一张照片就能贴进终端、README 或代码注释里。这个生成器支持 JPG、PNG、GIF 和 WebP,全部在浏览器本地完成、绝不上传,还可以调节宽度、字符集和配色模式。

图片是怎么变成字符画的?

这门手艺比个人电脑还要老。在图形显示器出现之前,人们就用打字机和行式打印机靠叠打字符来“印”图片;后来它在 BBS 时代和邮件签名里大放异彩。背后的算法其实很优雅:第一步,把图片缩成一个小网格,比如 80 列宽;第二步,量出每格的平均亮度,映射到一串由深到浅排好序的字符上——暗处用 @ 或 #,中间调用 + 或 .,亮处用空格。字符越多,灰度过渡越平滑,所以 70 字符的详细模式画人脸,远比 10 字符的标准模式像样。

有个麻烦事:字符的高度大约是宽度的两倍,直接转换出来的图会被纵向拉长。生成器通过让行数少于列数来补偿,这也是为什么列数滑块是你最重要的调节手段——它同时决定分辨率和画面比例。

如何使用

  1. 选择图片: 从设备里挑一张 JPG、PNG、GIF 或 WebP,处理全程在本地进行。
  2. 调整设置: 设定输出宽度(列数),挑选字符集(标准、详细或方块),需要的话再打开反色或彩色输出。
  3. 实时预览: 每改一项设置,字符画立即重新渲染。
  4. 复制成果: 复制文本,贴到任何用等宽字体的地方。

功能特性

  • 基于 Canvas API 纯本地处理,图片不离开设备
  • 三种字符集:标准(10 字符)、详细(70 字符)、Unicode 方块
  • 输出宽度可调,自动补偿高宽比
  • 支持灰度和彩色输出,还有适合深色背景的反色选项
  • 兼容 JPG、PNG、GIF、WebP

实用技巧

优先选构图简单、对比度高的图:logo、纯色背景的人像,效果远好于细节满满的风景照。人脸一般要 100 列以上才能认出来。如果成品要放在深色终端背景上,记得开反色,让暗部变成密字符。最后一点:一定要在等宽字体下查看,非等宽的比例字体会把网格彻底毁掉。

使用场景

  • 终端与 README: 给命令行工具和 GitHub 项目加个字符画横幅。
  • 代码注释: 在源文件里埋个彩蛋。
  • 复古整活: 在消息和签名里重现 BBS 年代的美学。

相关工具

常见问题

我的图片会被上传到服务器吗?

不会。所有图像处理都在你的浏览器里通过 Canvas API 本地完成,图片不会离开你的设备,也不会被存储或传输到任何地方。

应该选择哪个字符集?

标准模式用 10 个简单字符,适合小尺寸输出;详细模式用 70 个字符,细节表现好得多;方块模式用 Unicode 块字符,质感完全不同。建议都试一遍,看哪种风格更合心意。

支持哪些图片格式?

支持 JPG、PNG、GIF 和 WebP。想效果好,尽量选对比度高、构图简单的图,细节繁杂的照片效果一般。

为什么生成的 ASCII 艺术看起来被拉长了?

因为字符本身是窄高的。生成器已经通过减少行数做了补偿,你还可以拖动列数滑块,找到适合展示场景的比例。