本工具可以根据输入文字快速生成适合小红书封面的高质量图片,支持渐变背景、网格背景、文字高亮、Emoji 添加以及动态字体大小调整。适合制作社交媒体封面、笔记封面和海报。
-
自动适配字体大小
根据图片尺寸和文字内容自动调整字体大小,保证文字完整显示。 -
多种背景类型
- 单色背景
- 渐变背景(水平或垂直渐变)
- 网格背景(类似笔记本风格)
-
文字高亮
可指定子文字进行高亮显示,支持半透明和圆角效果。 -
文字样式
- 支持加粗(通过描边模拟)
- 文本对齐:左对齐、居中、右对齐
- 自定义行间距
-
Emoji 支持
可在图片顶部或底部添加 Emoji,增强视觉效果。 -
灵活的内边距设置
支持统一 padding 或单独设置上下左右 padding。 -
输出格式
PNG 图片,支持透明度和高质量色彩。
-
克隆仓库:
git clone https://github.com/fgheng/xiaohongshu-wenzifengmian.git cd https://github.com/fgheng/xiaohongshu-wenzifengmian.git -
安装依赖:
pip install Pillow
-
准备字体:
- 下载一款你喜欢的中文字体(例如思源黑体)。
- 在项目根目录下创建一个
fonts文件夹,并将字体文件放入其中。 - 你可以根据需要组织字体文件,例如
fonts/thin/SmileySans-Oblique.otf。
python main.py "你的文字内容" --output outputs/my_image.png| 参数 | 说明 | 默认值 |
|---|---|---|
text |
要绘制的文字 | 必填 |
--output |
输出图片路径 | outputs/generated_image.png |
--font |
字体文件路径 (.ttf/.otf/.ttc) | fonts/BeiBanChuanSuiXinTi-2.ttf |
--width |
图片宽度 | 1080 |
--height |
图片高度 | 1920 |
--bg-color |
背景颜色:可传 1 个(纯色)或 2 个(渐变)。也支持单字符串用逗号分隔两色 | white |
--bg-direction |
渐变方向:vertical 或 horizontal |
vertical |
--text-color |
文字颜色 | #333333 |
--padding |
默认内边距 | 100 |
--padding-top / --padding-bottom / --padding-left / --padding-right |
单独设置边距 | 同 --padding |
--line-spacing |
行间距倍数 | 1.1 |
--align |
文本对齐方式:left / center / right |
center |
--max-font-size |
最大字体大小 | 500 |
--bold |
是否加粗 | False |
--grid |
是否启用网格背景 | False |
--grid-color |
网格线颜色 | #DDDDDD |
--grid-spacing |
网格间距 | 50 |
--highlight |
要高亮的文字(原文中的子串,支持跨行) | None |
--highlight-color |
高亮颜色 | #FFEB3B |
--emoji |
要添加的 Emoji(直接字符或普通文本) | None |
--emoji-code |
Emoji 的 Unicode 码点(如 1F913 或 U+1F913) |
None |
--emoji-position |
Emoji 位置:top 或 bottom |
top |
--emoji-font |
指定 Emoji 字体文件路径 | None |
--emoji-size-scale |
Emoji 字体大小相对 --max-font-size 的比例 |
0.8 |
- 单色背景封面
python main.py "今日分享" --bg-color "#FF6B6B" --text-color "#FFFFFF" --bold --output ./outputs/monochrome.png --width 360 --height 640 --padding-bottom 300- 渐变背景封面
python main.py "渐变封面" --bg-color "#0099ff" "#06acff" --bg-direction horizontal --text-color "#333333" --bold --width 360 --height 640 --padding-bottom 300 --output ./outputs/gradient_direction_test.png- 网格笔记风格
python main.py "笔记风格封面" --grid --grid-color "#CCCCCC" --grid-spacing 40 --text-color "#333333" --width 360 --height 640 --padding-bottom 200 --output ./outputs/grid.png- Emoji 码点输入与大小比例
python main.py "支持 Unicode 码点输入 🤓" --emoji-code "U+1F913" --emoji-size-scale 0.8 --emoji-position top --font fonts/thin/SmileySans-Oblique.otf --output ./outputs/emoji_nerd_codepoint.png --width 360 --height 640 --padding 60 --padding-bottom 120- 文字高亮
python main.py "小红书文字高亮" --highlight "文字高亮" --text-color "#333333" --bg-color "#FF6B6B" --width 360 --height 640 --padding-bottom 180 --padding-bottom 120 --padding 30 --output ./outputs/highlight.png注:示意图为占位图,实际生成图片以本工具输出为准。
| 背景类型 | 配色示例 | 文字颜色 |
|---|---|---|
| 单色 | #FF6B6B / #4ECDC4 / #1A535C |
白色 / 黑色 |
| 渐变 | #FFB347 → #FFCC33 |
深灰 #333333 |
| 渐变 | #6A82FB → #FC5C7D |
白色 #FFFFFF |
- 文字过长时字体会自动缩小,但可能仍无法完全显示,请适当增加图片尺寸。
- 高亮文字支持跨行,但需确保子文字在原文中存在。
- 文本支持
\n转义为换行(例如"第一行\n第二行")。 - Emoji 渲染依赖字体:macOS 优先使用
Apple Color Emoji.ttc,也可指定--emoji-font或使用项目内fonts/EmojiOneColor-SVGinOT.ttf以避免乱码。若字符输入仍显示为方块,可改用--emoji-code。 - 输出目录默认
outputs/,生成 PNG 图片。
欢迎通过提交 Pull Request 来为此项目做出贡献。
本项目采用 MIT 许可证。





