Pack Camo

图片转 ASCII

把照片变成 ASCII 字符画,黑白或全彩均可。 所有处理都在本地完成,不会上传任何内容。

输入
PNG · JPEG · WebP · GIF · BMP · SVG
输出
Text · PNG · TXT

拖入图片,将其转换为 ASCII

支持 PNG、JPEG、WebP、GIF、BMP 或 SVG。也可以粘贴图片。不会上传任何内容。

由字符组成的图片

ASCII 字符画只用字符来绘制图像:画面较暗处用 @ 和 # 这样的密集字符,较亮处用点和空格这样的稀疏字符。放入一张照片,转换器就会把它变成文本,你可以粘贴到终端、README 或代码注释中,也可以下载为图片分享。

转换的原理

  • 每个单元格一个字符。图片会被缩小成宽度等于所选列数的网格,每个单元格取其覆盖像素的平均颜色。
  • 亮度决定字符。字符集按从最密到最疏的顺序排列,每个单元格选取与其亮度匹配的字符。字符集中的字符越多,明暗过渡越平滑。
  • 字符是偏高的。字符的高度大约是宽度的两倍,所以要保持相同比例,网格的行数要少于列数。这个比例是根据字体测得的,因此结果不会被拉伸。
  • 浅色或深色背景。在浅色页面上,较暗的区域使用密集字符;在深色页面(如终端)上,则是较亮的区域使用密集字符。请选择与字符画展示位置相符的一项。
  • 颜色可选。开启颜色后,每个字符都会保留其单元格的颜色。复制的文本不带颜色,所以颜色只出现在下载的 PNG 中。

常见问题

如何把图片转换成 ASCII 字符画?
把图片拖到工作区,或按 Ctrl+V 或 Cmd+V 粘贴。ASCII 版本会立即出现;调整列数和字符集直到满意,然后复制文本或下载。
为什么我的 ASCII 字符画看起来被压扁或拉长了?
ASCII 字符画只有在等宽字体且没有额外行距时才能保持比例。请把它粘贴到代码块、终端或使用等宽字体的文本编辑器中,或下载按正确间距绘制的 PNG。
应该用多少列?
大约 80 到 120 列适合终端或 README。下载图片时可用更多列来保留细节,想粘贴到聊天或代码注释里的小图则用更少的列。
可以保留原图的颜色吗?
可以。开启颜色后,每个字符都会采用它所代表的那部分图像的颜色。纯文本无法携带颜色,所以请下载 PNG 来保留。
我的图片会被上传吗?
不会。图片在你的浏览器中读取和转换,绝不会离开你的设备。