工具介绍
这个工具把图片按网格采样,测量每个格子的亮度,然后用一个从“看起来空”(空格、句号)到“看起来密”(@、#、实心方块)的字符梯度替换掉。默认情况下亮的区域对应更密的字符,暗的区域对应更稀疏的字符——因为输出是深色背景上的浅色文字,这样才能让照片里亮的部分看起来真的亮,暗的部分融进背景里。
这跟本站另一个ASCII艺术字生成器不一样,那个是把打出来的文字变成大号方块字母(FIGlet风格横幅)。这个工具方向相反——它接收的输入是真实的照片或图片文件,不是打出来的文字。
为什么使用它?
- 一键把任意照片变成可分享的纯文本ASCII艺术画。
- 输出宽度可调,3种字符集(细致灰阶梯度、简单7字符梯度、Unicode方块阴影)可选不同风格。
- 有反转选项,方便粘贴到浅色背景的场景里。
- 100%本地处理——canvas处理在本地完成,照片不会被上传。
- 免费、无需注册、无水印。
使用方法
- 点击上传区域或拖入JPG、PNG、WebP图片。
- 设置输出宽度(字符数)——数字越大细节越多,但结果也越宽。
- 选一个字符集:细致适合平滑渐变,简单或方块适合更粗犷的效果。
- 如果要粘贴到浅色背景的地方,打开反转选项。
- 点复制拿到纯文本结果。
示例
输入
一张黑色背景上有个亮白色圆形的照片,输出宽度100字符输出
边缘大部分是空白/空格字符,中间聚集着密集的@和#字符,勾勒出圆形的轮廓具体用什么字符取决于原图真实的明暗数值——这里描述的是效果模式,不是字面输出,因为每张源图片得到的结果都不一样。
实用技巧
- 高对比度的照片(主体清晰、背景简单)转换出来的效果比杂乱、低对比度的场景可辨认得多。
- 100-150个字符宽是大多数场景的甜点区间——够宽能保留真实细节,够窄能在普通屏幕上放得下。
- 如果输出效果跟预期正好相反(主体变成了浅色轮廓而不是深色),试试切换反转选项,而不是换一张图片。
- 在输出宽度很小的时候,“方块”字符集通常比“细致”效果更好辨认,因为少数几级阴影比几十种细字符更容易看清。
跟文字转ASCII艺术字有什么区别
如果你想用打出来的文字(项目名、一个词)做横幅,而不是转换照片,本站的ASCII艺术字生成器是干这个的——它用FIGlet字体画方块字母,完全不处理图片。
这两个工具经常搭配使用:用FIGlet横幅做标题,下面接一段用这个工具转换出来的图片当作视觉效果,两者都是纯文本,能安全粘贴进代码注释或纯文本README里。
→ ASCII艺术字生成器 · 图片压缩
常见问题
为什么我的ASCII艺术画看起来被压扁或拉长了?
等宽字体的字符格子高度大约是宽度的两倍,如果按1:1像素采样就会导致图片在竖直方向被压扁。这个工具已经按这个比例做了修正,采样的行数比1:1网格建议的要少——如果你粘贴到的地方看起来还是不对,可能是那个地方用的不是等宽字体。
字符集选择真的有影响吗?
有。“细致”用几十种字符做平滑渐变,远看或放大看效果最好。“简单”(7个字符)和“方块”(Unicode阴影方块)视觉上更粗犷,明暗层次之间的分界更明显——适合追求风格化效果而不是照片写实效果的场景。
什么时候该用反转?
默认情况下,照片里亮的区域会变成密集字符,暗的区域变成稀疏字符——这在深色背景(比如这个工具的输出框,浅色文字配深色背景)下看起来是对的。如果你要把结果粘贴到白色文档或浅色主题的应用里,打开反转,让图片暗的区域改为对应密集字符(深色墨迹配浅色纸张的逻辑),这样才能保持可辨认。
理想的输出宽度是多少?
100个字符是大多数场景下的合理默认值,在浏览器或终端里不用横向滚动就能看全。调高(200以上)能捕捉更多细节,但结果会比大多数屏幕都宽;调得太低(40以下)会丢失大部分可辨认的细节。
我的照片会被上传到哪里吗?
不会。图片的解码和采样全部用浏览器里的Canvas API直接完成,任何时候都不会发送到服务器。