一组为 MemeCrafters/meme-generator 编写的轻量自定义表情模板。
目前包含两个模板:
| key | 功能 | 输入 | 触发词 |
|---|---|---|---|
apng_two_frame |
将两张图片合成两帧 APNG,第一帧短暂显示,第二帧长时间定格 | 2 张图片 | apng两帧、两帧动图、apng |
szb_os_holdsign |
在欧丝举牌底图上绘制自定义文字 | 1 段文字 | 欧丝举牌、欧斯举牌、os举牌 |
.
├── apng_two_frame/
│ └── __init__.py
└── szb_os_holdsign/
├── __init__.py
└── images/
└── 0.png
先按照上游文档安装并配置 meme-generator,然后克隆本仓库:
git clone https://github.com/DNAlec/memes.git在 meme-generator 配置文件中,将本仓库的绝对路径加入 meme_dirs:
[meme]
meme_dirs = ["/absolute/path/to/memes"]重启 meme-generator 后,它会自动扫描每个子目录中的 __init__.py 并注册模板。更多信息参见上游的加载其他表情文档。
这些模板没有在 meme-generator 之外引入额外的第三方依赖,主要使用:
meme-generatorpil-utils- Pillow
struct、zlib、datetime、io 和 pathlib 均为 Python 标准库。
szb_os_holdsign 优先使用 FZShaoEr-M11S 字体。当运行环境未安装该字体时,pil-utils 会尝试使用思源黑体、Noto Sans CJK SC、微软雅黑等后备字体。图片通常仍能生成,但字形、字宽和换行可能不同。
如果需要稳定一致的排版,请在部署环境安装同一字体,并在 Linux 上刷新字体缓存:
fc-cache -f
fc-match "FZShaoEr-M11S"请自行确认所使用字体的授权条款;本仓库不包含该字体文件。
- 输出画布尺寸以第二张图为准。
- 第一张图会等比缩小并居中,留白区域使用白色填充。
- 第二张图不缩放、不裁切。
- 第一帧延迟为 10 ms,第二帧延迟为 999 s,并使用无限循环。
- 生成过程会在内存中处理完整图片,建议由上层服务限制用户上传图片的尺寸和像素数。
- 仅接受 1 段文字。
- 默认文字为
500。 - 文字会自动换行并缩小以适应举牌区域;超过可排版范围时会返回文字过长错误。
表情素材来自网络,仅供学习与交流使用。如有侵权,请提交 Issue 联系删除。
本项目的代码使用 MIT License 开源。网络素材和字体不因本仓库的 MIT 许可而改变其原有权利归属。