ASCII Art 图片转换插件
版本为:1.4.3
- 这是一个尝试为 AstrBot 开发的插件,可以将用户发送的图片转换为 ASCII 或其它字符形式。
功能
- 将图片转换为 ASCII (或中文)字符画
- 支持自定义某些参数
- 通过清晰度倍数控制输出质量
- 自动调整输出尺寸以保持图像比例
- 支持最大输出尺寸限制,防止生成过大的图片
- 支持在配置面板自定义一些参数
使用方法
- 引用该图片并发送命令
/ascii - 等待插件处理并返回转换后的 ASCII 图片
参数说明
/ascii --scale 1.5- 提高清晰度(1.5倍)/ascii --scale 0.5- 降低清晰度(0.5倍)/ascii --charset @#$- 自定义字符集/ascii --chinese- 使用中文字符
可以组合使用多个参数,例如:/ascii --scale 2.0 --chinese
参数应该都是可以自定义触发词的
- 注意,若要@用户使用用户头像(QQ下),你需要将@用户的操作放在最后
- 例如
/ascii --scale 1.5 @xxx
配置说明
你可以在 AstrBot 的配置面板中自定义以下参数:
- 清晰度倍数参数名(默认: --scale)
- 字符集参数名(默认: --charset)
- 中文模式参数名(默认: --chinese)
- 默认清晰度倍数(默认: 1.0)
- 默认英文字符集
- 默认中文字符集
- 最小/最大清晰度倍数限制
- 输出图片最大尺寸限制(默认: 4096像素)
- 帮助信息文本
- 开启或关闭自动适配最大放大倍数的开关
注意事项
- 插件会在处理完成后自动清理临时文件(目录在
data\plugin_data\ascii_art_plugin) - 转换质量取决于原图的清晰度和设定的清晰度倍数
- 较大的清晰度倍数会"非常"增加处理时间和资源消耗
- 大尺寸图片需要更长时间处理
- 输出图片有最大总像素数限制(默认40964096,硬编码上限约54775477)
- 支持自动调整放大倍数:当用户指定的放大倍数过大时,可选择自动使用最大允许的放大倍数(开启的情况)或返回建议值(关闭的情况)
说明
插件使用 Pillow 库进行图像处理,通过灰度化和字符映射的方式生成 ASCII 图,并最终将结果保存为图片发送回用户。
版本历史
v1.4.3
- 尝试优化使用体验
- 尝试新增放大倍数自动适配/转换的功能
v1.4.2
- 按照某人要求尝试新增艾特用户获取用户头像图片的方法
- 调整了部分内容
v1.3.1
- 回滚到以前的机制,略微增加高清晰度下的图片细节
v1.3
- "清晰度参数"替代宽度设置
- 在提升输出清晰度的同时保持图像比例稳定
- 添加输出图片最大尺寸限制
v1.2
- 删除了自定义宽度设置
- 略微调整代码
v1.1
- 尝试修复了配置面板设置的最大最小宽度不起作用的问题
- 改进字符画比例计算,减少图像变形