WMW

ASCII 艺术生成器

Free

将输入的文字或上传的图片转换为 ASCII 艺术字。选择字体样式或字符渐变,保留颜色,并导出为纯文本或 PNG。

一切都在您的浏览器中运行。文字和图片绝不会上传到服务器。


            
        

最近活动

所有人可见。所有访客的最近 20 次使用记录,最新的在前。

暂无活动记录。快来成为第一个吧。

评论 (0)

觉得这个工具有用吗?留下评论、分享一个小技巧,或者告诉我们如何改进它。

访客评论在发布前会经过审核。 登录 即可立即发布。

暂无评论,快来抢沙发分享您的想法吧!

此工具的功能

ASCII 艺术字生成器可以将输入的文字或上传的图片转换为完全由普通字符组成的文字艺术。输入一个词即可获得一个大型的艺术化横幅(适合用于 README 文件、终端启动信息或论坛签名),或上传一张照片,以字体样式、字符集和可选颜色得到它的经典字符版渲染效果。

工作原理

文字和图片由同一引擎转换:来源(渲染后的文字或照片)从 HTML 画布中逐像素读取,然后被划分为一个单元格网格 -- 列数即您用"宽度"滑块设置的值,行数计算公式为 行数 = round((来源高度 / 来源宽度) × 列数 × 0.55),其中 0.55 用于修正等宽字符高于宽的特点,从而让最终作品保持正确的比例。

单元格内的每个像素都会使用 亮度 = 0.299 × 红 + 0.587 × 绿 + 0.114 × 蓝(这是衡量颜色在人眼中呈现亮度的标准公式)转换为一个亮度值,然后在整个单元格内取平均。这个从 0(黑)到 255(白)的平均亮度会从所选渐变中选取一个字符:索引 = round((亮度 ÷ 255) × (渐变长度 − 1)),因此黑色单元格得到最密集的字符,白色单元格得到最浅的字符(若开启"反转"则相反)。

解决的问题

常见问题

›将图片或文字转换为 ASCII 艺术字到底是如何实现的?

该工具会将您的文字(使用真实的浏览器字体)或图片绘制到一个隐藏的画布上,读取每个像素的颜色,然后将画布划分为一个由小方块组成的网格,每个输出字符对应一个方块。每个方块的平均亮度会从一个由"最密集"到"最浅"排列的渐变中选取一个字符 -- 深色方块得到 @ 或 # 这样密集的字符,浅色方块得到 . 或空格这样稀疏的字符。

›为什么"块状""斜体""3D 阴影"等样式只适用于文字模式?

这些样式改变的是您输入的文字在被采样为字符之前的绘制方式 -- 块状使用更粗的字重,斜体使用倾斜字体,3D 阴影会叠加一层偏移的重复图层,轮廓则只画出未填充的边线。上传的图片没有可以应用样式的"字体",所以图片模式始终按照原样对照片进行采样。

›"保留颜色"有什么作用?如果我把结果粘贴到别处,颜色还能保留吗?

开启"保留颜色"后,屏幕上的每个字符都会被着色以匹配其来源方块的平均颜色,这样作品在页面上看起来就和原始图片或彩色文字一样。纯文本导出(复制、下载 .txt)始终是单一颜色,因为纯文本无法为每个字符单独着色 -- 只有页面预览和 PNG 下载会保留颜色。

›什么是字符渐变?我可以使用自己的渐变吗?

渐变是从最深/最密集到最浅/最稀疏排列的一组字符,例如经典风格的 "@%#*+=-:. ",或者使用块状字符如 "█▓▒░" 来获得更干净、更实心的效果。选择"自定义",按从密集到稀疏的任意顺序输入您自己的字符,即可设计专属风格。

›我的图片会被上传到其他地方吗?

不会。文字和图片的转换完全在您的浏览器中通过 canvas API 完成。不会向任何服务器发送任何内容,除非您自己选择下载或复制结果,否则也不会保存任何内容。

相关工具