🔡
免费图片转 ASCII 艺术转换器
将任意图片转为 ASCII 艺术,适用于聊天、README、终端或提交消息。多种字符集,包括块字符和 emoji。
加载后可离线使用
将文件拖放到此处,或点击浏览
JPG, PNG, WebP, GIF, HEIC, HEIF · 在你的设备上处理
或按 Ctrl+V 从剪贴板粘贴
提示:可以用 Ctrl+V 粘贴截图
你的文件永远不会离开你的设备。所有处理都在你的浏览器中本地进行。
常见用途
- 为README文件制作ASCII艺术为GitHub README创建基于文本的徽标和横幅,在等宽字体中呈现。
- 终端和MOTD艺术为终端欢迎消息、SSH横幅或motd文件生成ASCII艺术。
- 提交消息中的ASCII艺术将难忘的ASCII艺术添加到发布说明、提交消息或标签描述中。
- 聊天和Discord的ASCII艺术创建ASCII memes和艺术,在Discord、Slack或IRC频道中分享。
- 海报和打印的ASCII艺术为海报、打印品或网络hero部分生成大规模ASCII艺术。
工作原理
转换完全在你的浏览器中使用 Canvas API 运行——没有服务器、不上传。工具将图片绘制到按目标列宽缩放的离屏画布上,通过 getImageData 读取每个像素的 RGB 值,并将每个像素的感知亮度映射为你所选查找字符串中的一个字符。
- 1Canvas 缩放图片你的图片被绘制到一个尺寸与输出网格完全一致的隐藏画布上——默认通常为 80 列宽,高度自动调整以保持图片宽高比(等宽字体高大于宽,因此高度减半)。
- 2逐像素亮度采样工具调用 getImageData 读取每个单元格的原始 RGBA 字节。它使用 ITU-R 感知公式(0.299R + 0.587G + 0.114B)将每个像素转换为单一亮度值,然后应用你设置的亮度偏移、对比度倍数和伽马曲线。
- 3亮度映射为字符调整后的亮度(0–1)乘以所选字符串的长度——标准( .:-=+*#%@)、70 字形精细、方块元素、二进制或你输入的自定义字符集——并将该索引处的字符放入输出网格。
- 4导出为纯文本、PNG 或 HTML完成的网格拼接为纯文本字符串,用于复制或下载。导出 PNG 时,每个字符以 12px 等宽字体通过 fillText 渲染到第二个画布上。彩色模式读取每个像素的原始 RGB,并将每个字符包裹在带内联样式的 span 元素中,可导出为独立的 HTML 文件。
你的图片由浏览器的 Canvas API 直接读取,绝不会离开你的设备——任何时候都不会向服务器发送数据。