松哥拆管理 · 封面生成
0. 两种尺寸(先问清楚再动手)
| 用途 | 尺寸 | 说明 |
|---|---|---|
| 公众号封面 | 2.35:1,交付 2100×900 高清版(后台会压缩,源图宁大勿小) | 后台单独上传;严禁做成竖版(用户踩过坑) |
| 视频号封面 | 上传版 1080×1264 竖版(视频号展示位,songge-video-c/scripts/finalize.py 自动出);横版 1920×1080 仅用于片头内嵌 |
时长徽章(如"75秒")放右下角 |
1. 视觉规范(系列统一,勿改)
- 底色:藏青 (28,45,75)
- 主标题:白字特大,加粗,居中或左对齐
- 点睛字:金色 (238,178,70),选标题里最扎心的 1-2 个字(如"练""贡献")
- 辅助元素:细金线分隔、系列名"松哥拆管理"小字置顶
- 人物:松哥形象放右侧,留出安全区,不压字
- 字体层级:主标题最大 → 副标 40% → 系列名 25%
2. 制作方式
- 纯文字版:PIL 直接绘制(推荐,可控性最高)
- 带底图版:Kolors 出黑白线稿底图(
songge-video-c的 gen_images.py)+ 藏青蒙层 + 烧字
3. 历史踩坑(必查)
- 横竖搞反:先确认用途再定尺寸
- 旧集数横幅残留:复用旧封面底图先裁掉顶部旧横幅(C6 曾裁 150px)
- 字压人物脸:文字与人物分区,重叠区加暗蒙层
- 金色不够跳:金色只给 1-2 个字,多了就不金了
- 小图预览检查:生成后缩到 300px 宽看一遍——读者刷到时就是这么大
- 文件名禁止 + & 空格
- 大字后面接小字,基线会飘(11-01 第 15 篇 B 版):PIL 的
text()定位是顶部,不是基线。用"1966"300 号接一行 88 号小字时,两个 y 值不能凭感觉给,要用textbbox()取大字实际底边再减小字高度。
python bb = d.textbbox((x, y), "1966", font=big) d.text((bb[2] + 40, bb[3] - 100), "年写的书,", font=small, fill=GREY) - 最后一行会压到底部落款(11-01 第 15 篇 B 版):主标占满上半部、落款固定在 y=800 时,第三行大字极易贴上去。定稿前算一遍:
最后一行 y + 字高 < 800 - 20,不够就降字号(190→110 这种不能一次降太多,重排一次再算)。 - 别急着交第一版:这次 B 版连调两轮才对(先飘、再压字)。出图后自己先看一眼,别把有问题的图给用户挑——用户看到的就是"你给的选项",坏的那个也在里面。
4. 交付
公众号封面-第N篇-关键词.png/视频号封面-CN-关键词.png- 命名含集数/关键词,方便后台对应上传
- 交付名一律
<篇号>-封面头图-2.35x1.png(与第 10/11/12/15 篇一致) - 两版以上让人挑时,源图另存
第N篇封面-方案A-xxx.png、方案B-xxx.png,选定的再拷成标准名——不要让用户自己去重命名