name: ascii-image-to-ascii description: 将图像转换为ASCII艺术(可读优先和细节优先两种变体,宽度和字符集控制,可选ANSI彩色),用于终端预览和纯文本“图像替代”。 license: 完整条款在LICENSE.txt中 dependencies:
- python>=3.8
- pillow
何时使用此技能
关键触发规则
- 仅当用户明确提及确切技能名称:
ascii-image-to-ascii时,才使用此技能。
触发短语包括:
- “ascii-image-to-ascii”
- “use ascii-image-to-ascii”
- “用 ascii-image-to-ascii 把图片转字符画”
- “使用 ascii-image-to-ascii 生成可读优先/细节优先两版”
边界
- 默认输出仅为ASCII;ANSI彩色是可选的。
- 捆绑脚本仅用于本地转换/验证。不要代表用户获取/上传图像。
- 在生成最终ASCII艺术之前,始终给出预处理建议(裁剪主题、提高对比度、简化背景)。
如何使用此技能
输入
- imagePath(本地路径,必需)
- width(默认100;常用:80/100/120)
- charset(默认
.:-=+*#%@,从浅到深) - mode(readable | detail;如果输出两者,可以忽略)
- background(light | dark | unknown,默认unknown)
- colorMode(none | ansi256,默认none)
输出(必需)
- asciiReadable: 可读优先(较少噪音,清晰轮廓)
- asciiDetail: 细节优先(更多层次,丰富纹理)
- paramsGuide: 推荐宽度/字符集 + 预处理提示
- pitfalls: 3-5种常见失败模式及修复方法
步骤
- 预处理建议(必需):
- 裁剪主题,移除无关背景
- 增加对比度以减少梯度噪音
- 目标宽度通常80–120列
- 字符集 + 映射方向:
- 空格是最亮的,
@是最暗的(或一致反转)
- 空格是最亮的,
- 生成两种变体:
- 可读版:较少层次(较少噪音)
- 细节版:更多层次(更多纹理)
- 可选ANSI:
- 仅使用颜色作为提示;保持轮廓可读
- 始终提供无颜色备用版
脚本
scripts/image_to_ascii.py- 需要Python + Pillow(
pip install pillow) - 支持:可读/细节变体,可选
--ansi256
- 需要Python + Pillow(
示例
examples/readable-vs-detail.md
质量检查清单
- 行一致且
<= width - 可读变体必须保留主要轮廓
- 无尾随空格(复制/粘贴安全)
关键词
英语: ascii-image-to-ascii, image to ascii, ascii art, terminal preview, charset, grayscale, dithering, ansi 中文: ascii-image-to-ascii, 图片转字符画, ASCII 字符画, 终端预览, 字符集, 灰度映射, 降噪, ANSI 彩色