工具介绍
图片转字符画工具可以将上传的图片转换为字符组成的文本画或彩色HTML字符画,支持调整输出宽度和对比度,适合制作个性文本头像、ASCII艺术等用途。
使用方法
- 点击「选择图片」上传一张需要转换的图片(支持JPG、PNG、GIF等常见格式)。
- 设置输出宽度(单位为字符个数,范围10-300,宽度越大字符画越清晰但文件越大)。
- 调整对比度,数值范围-100到100,可以改善明暗对比不明显的图片效果。
- 选择输出类型:纯文本输出适合复制到文本编辑器,彩色HTML输出保留原图颜色。
- 点击「生成字符画」即可查看结果,点击「复制结果」可以复制字符画内容。
转换原理
转换过程分为以下几个步骤:
- 图片缩放:将上传图片按指定宽度等比例缩放到Canvas画布,高度考虑字符宽高比做了补偿。
- 灰度计算:对每个像素计算灰度值,公式为:
灰度 = 0.299×R + 0.587×G + 0.114×B - 对比度调整:使用对比度公式调整像素灰度:
新灰度 = ((259 × (对比度 + 255)) / (255 × (259 - 对比度))) × (原灰度 - 128) + 128 - 字符映射:按灰度从暗到亮映射到字符集
@%#*+=-:.,越暗的像素使用越复杂占空间大的字符,越亮的像素使用越简单的字符。 - 输出:纯文本输出直接输出多行字符,彩色HTML输出给每个字符保留原像素颜色,用HTML排版输出。
注意事项
- 建议使用对比度适中、主体清晰的图片,转换效果更好。
- 字符画的显示效果依赖于展示环境的字体大小和行高,复制到不同编辑器可能需要调整显示。
- 本工具仅在浏览器本地处理图片,不会上传到服务器,隐私有保障。