Skip to content

EAloo/meme-generator

 
 

Repository files navigation

logo征集中,假装有图片

meme-generator

✨ 表情包生成器,用于制作各种沙雕表情包 ✨

license Python pypi qq group

表情列表

表情详细信息、表情预览等可以在 --> 表情列表 <-- 查看

安装

使用 pip 安装

pip install meme_generator

图片下载

由于表情包图片体积较大,meme-generator 包含的表情中的图片并不随代码一起打包,需要在安装后手动执行下载命令:

meme download

也可以调用 meme_generator/download.py 中的 check_resources 函数进行下载

字体安装

为确保表情包中的文字生成正常,需要自行安装字体

字体安装后若文字仍显示不正常,可删掉 matplotlib 字体缓存文件重新运行程序

缓存文件位置:

  • Windows: C:\Users\<username>\.matplotlib\fontlist-xxx.json
  • Linux: ~/.cache/matplotlib/fontlist-xxx.json
  • Mac: ~/Library/Caches/matplotlib/fontlist-xxx.json

中文字体 和 emoji字体 安装

根据系统的不同,推荐安装的字体如下:

  • Windows:

大部分 Windows 系统自带 微软雅黑 中文字体 和 Segoe UI Emoji emoji 字体,一般情况下无需额外安装

  • Linux:

部分系统可能自带 文泉驿微米黑 中文字体;

对于 Ubuntu 系统,推荐安装 Noto Sans CJK 和 Noto Color Emoji:

sudo apt install fonts-noto-cjk fonts-noto-color-emoji

为避免 Noto Sans CJK 中部分中文显示为异体(日文)字形,可以将简体中文设置为默认语言(详见 ArchWiki):

sudo locale-gen zh_CN zh_CN.UTF-8
sudo update-locale LC_ALL=zh_CN.UTF-8 LANG=zh_CN.UTF-8
fc-cache -fv

其他 Linux 系统可以自行下载字体文件安装:

思源黑体:https://github.com/adobe-fonts/source-han-sans

NotoSansSC:https://fonts.google.com/noto/specimen/Noto+Sans+SC

Noto Color Emoji:https://github.com/googlefonts/noto-emoji

  • Mac:

苹果系统一般自带 "PingFang SC" 中文字体 与 "Apple Color Emoji" emoji 字体

其他字体安装

某些表情包需要用到一些额外字体,存放于仓库中 resources/fonts,需要自行下载安装

具体字体及对应的表情如下:

字体名 字体文件名 用到该字体的表情 备注
Consolas consola.ttf charpic
FZXS14 FZXS14.ttf nokia 方正像素14
FZSJ-QINGCRJ FZSJ-QINGCRJ.ttf psyduck 方正手迹-青春日记
FZShaoEr-M11S FZSEJW.ttf raise_sign 方正少儿
NotoSansSC NotoSansSC-Regular.otf 5000choyen
NotoSerifSC NotoSerifSC-Regular.otf 5000choyen

字体安装方式

不同系统的字体安装方式:

  • Windows:

    • 双击通过字体查看器安装
    • 复制到字体文件夹:C:\Windows\Fonts
  • Linux:

/usr/share/fonts 目录下新建文件夹,如 myfonts,将字体文件复制到该路径下;

运行如下命令建立字体缓存:

fc-cache -fv
  • Mac:

使用字体册打开字体文件安装

使用

通过 python 程序调用

参考 docs/examples/test_meme.py

通过命令行使用

meme -h/--help
  • meme list (ls) 列出所有已加载的表情

  • meme info (show) KEY 查看某个表情的详细信息,如:meme info petpet

  • meme preview KEY 使用默认(随机)参数生成预览结果,如:meme preview petpet

  • meme generate (make) KEY -t/--text TEXTS -i/--images IMAGES ... 制作表情,如:meme generate petpet -i avatar.jpg

    部分表情有额外的参数,可通过 -h/--help 查看,如:meme generate petpet --help

  • meme run (start) 启动 web server,可通过 api 方式调用

  • meme download 下载内置的表情包所需的图片

通过 api 方式使用

执行 meme run 可以启动 web 服务器

web 框架用的是 FastApi , 可查看自动生成的交互式 API 文档(访问 http://127.0.0.1:2233/docs

可以调用 api 接口使用,python 调用方式可参考 docs/examples/test_api.py

配置

默认配置文件位置:

  • Windows: C:\Users\<username>\AppData\Roaming\meme_generator\config.toml
  • Linux: ~/.config/meme_generator/config.toml
  • Mac: ~/Library/Application Support/meme_generator/config.toml

默认配置:

[meme]
load_builtin_memes = true  # 是否加载内置表情包
meme_dirs = []  # 加载其他位置的表情包,填写文件夹路径
meme_disabled_list = []  # 禁用的表情包列表,填写表情的 `key`

[resource]
resource_url = "https://ghproxy.com/https://raw.githubusercontent.com/MeetWq/meme-generator"  # 下载内置表情包图片时的资源链接

[gif]
gif_max_size = 10.0  # 限制生成的 gif 文件大小,单位为 Mb
gif_max_frames = 100  # 限制生成的 gif 文件帧数

[translate]
baidu_trans_appid = ""  # 百度翻译api相关,表情包 `dianzhongdian` 需要使用
baidu_trans_apikey = ""  # 可在 百度翻译开放平台 (http://api.fanyi.baidu.com) 申请

[server]
host = "127.0.0.1"  # web server 监听地址
port = 2233  # web server 端口

开发

如果希望编写、贡献新的表情,可以参考 --> 新表情编写指北 <--

对于一些不适合放在主仓库的表情,可以提交至 meme-generator-contrib 额外表情仓库

声明

本仓库的表情素材等均来自网络,如有侵权请联系作者删除

鸣谢

本仓库的表情整合自原 nonebot-plugin-petpetnonebot-plugin-memes 仓库

感谢以下开发者作出的贡献:

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%