如何将图像转换为 ASCII 艺术文本
将图像编码为 Base64 字符串后提交,设置宽度和可选的亮度反转,即可获得 ASCII 艺术文本及其尺寸信息。空的图像数据会处理失败。
先了解输入与转换方式
这款工具用于把图像数据转换为 ASCII 艺术文本,适合在纯文本环境中查看图像的大致轮廓和明暗关系。它接收的是经过 Base64 编码的图像数据字符串,而不是图像网址、文件路径或任意二进制对象。转换时,图像会先转为灰度,再按指定宽度调整大小,并依据亮度映射为 ASCII 字符。
操作步骤:将图像转换为 ASCII 文本
- 准备一张可读取的图像,并将其编码为 Base64 字符串。不要直接填写图片地址、文件路径或未编码的二进制内容。
- 将 Base64 字符串填入图像数据输入框。这个输入虽然可以省略,但空值会导致处理失败,因此应提供实际图像数据。
- 设置输出宽度。未填写时使用 80;如需调整字符画的横向细节,可根据阅读区域选择合适的宽度。未提供的宽度范围或特殊宽度行为没有经过确认,不宜据此作出保证。
- 根据需要启用亮度反转。默认不反转;启用后,明暗对应的字符顺序会反向,适合尝试不同的视觉效果。
- 提交处理并查看返回内容。成功时会同时得到 ASCII 文本、请求的宽度、计算出的高度,以及根据换行数量得到的行数。文本按行输出,每一行末尾都会追加换行符。
如何理解转换结果
返回的 ASCII 文本不是原图的像素级副本,而是灰度亮度经过字符化后的文本表示。图像会按原始宽高比计算高度,同时应用垂直方向的比例调整并截取为整数,因此改变宽度通常也会改变输出高度。亮度会映射到一组固定的十个字符,从暗到亮排列;启用反转后,这个排列会倒置。
检查结果时,先确认文本是否按预期换行,再核对返回的宽度、高度和行数。行数来自文本中的换行数量,所以它可用于判断输出是否包含完整的行结构。若处理失败,可能与未提供图像数据、数据无法解码或图像无法打开、转换、调整大小或生成文本有关;这类失败不能说明图像一定能被成功转换。
使用示例
一名用户希望把一张 640×480 的 PNG 图像转换成适合终端查看的 ASCII 文本。
提交一张 640×480 PNG 图像对应的 Base64 字符串,使用默认宽度 80,并保持亮度反转关闭。
返回包含 ASCII 文本、width 为 80、height 为 33、line_count 为 33 的结果;文本由 33 行组成,每行末尾带换行符。
使用限制
- 输出是经过灰度化、缩放和亮度字符映射后的文本表示,不保留原图的完整色彩与像素细节;无法解码、打开或处理的图像可能会失败。
常见错误
- 常见原因是把图片地址或空字符串当作图像数据提交。请改用实际图像的 Base64 字符串,并确认其内容可以被正确解码和打开。
常见问题
可以直接输入图片网址或文件路径吗?
输入应为经过 Base64 编码的图像数据字符串;当前记录的输入能力不包括直接读取图片网址、文件路径或任意二进制对象。
不填写宽度时会输出多宽?
未设置宽度时使用 80。工具会依据原图宽高比计算输出高度,并进行垂直方向的比例调整后取整数。
亮度反转有什么作用?
未启用反转时按默认字符顺序映射亮度;启用反转后,明暗对应的字符顺序会反向。