标准版本: almanac-image-standard.md V3
适用范围: 每日黄历图片生成
输出规格: 3 页 PNG 图片(1080x1400 像素)
最新版本: V3.0.3 抖音优化版(2026-04-18)
本技能用于按照标准化流程制作每日黄历图片(V3 紧凑版),包含:
适用于今日头条(三图轮播)、抖音/小红书(单图发布)等平台。
抖音算法适配优化:
紧急修复: 干支计算错误(月柱/日柱)
更新项说明🔧 月柱修复根据节气计算月柱(修复 lunar-python 农历月问题)🔧 日柱修复使用 Solar.fromYmd 转换(修复 Lunar.fromYmd 农历日期问题)✅ 向后兼容完全兼容 V3.0.1,建议所有用户升级
问题说明:
Lunar.fromYmd() 导致日期转换错误getMonthInGanZhi() 返回农历月干支,不是节气月干支紧急修复: Lunar.fromYmd 把公历日期当农历解析,导致日期越界
更新项说明🔧 API 误用修复Lunar.fromYmd(y,m,d) 的参数是 农历 年月日,不是公历🔧 正确用法公历→农历转换必须用 Solar.fromYmd(y,m,d).getLunar()🔧 影响范围脚本中 2 处误用(年柱获取 + 宜忌获取)✅ 向后兼容完全兼容 V3.0.1,建议所有用户升级
问题说明:
Lunar.fromYmd(2026, 5, 30) 被解析为"农历 2026 年 5 月 30 日"Solar.fromYmd().getLunar() 正确转换教训: lunar-python 的 API 命名容易混淆,公历→农历一律用 Solar.fromYmd().getLunar()
使用示例:
bash
# 单日生成
python generate_almanac.py --date 2026-04-12
# 批量生成 7 天
python generate_almanac.py --batch 7 --start-date 2026-04-12
# 指定配置文件
python generate_almanac.py --date 2026-04-12 --config my_config.yaml
更新项说明✅ 字体全面加大栏目题 55→60px,正文 45→48px,故事/养生正文 40→44px✅ 行间距优化1.3→1.4,提升阅读舒适度✅ 间距调整栏目/内容/分隔线间距加大 2-3px✅ 可读性提升整体可读性提升约 15%,中老年用户友好✅ 无需分页保持 3 页完整布局,内容不裁剪
更新项说明✅ 集成 lunar-python使用 lunar-python(lunar-java 的 Python 版本)✅ 干支计算升级使用 lunar-python 准确计算(替代 100+ 行映射表)✅ 宜忌准确性提升使用 lunar-python 传统算法(替代本地池)✅ 5 套模板轮换传统/现代/喜庆/典雅/清新,每日自动轮换✅ 24 节气故事故事池从 4 个扩展到 24 个(按季节分类)✅ 输出目录修复支持多用户、跨平台,智能路径检测✅ 生肖黑榜修复智能检测重复,确保红黑榜无冲突✅ 传统元素支持彭祖百忌、纳音、星宿、建除十二值星、九星✅ 代码优化减少 150+ 行硬编码,更易维护
更新项说明✅ 生肖运势基于六合三合相冲相害计算,吉凶正确✅ 吉时查询使用十二神值时(青龙明堂等)✅ 财神方位根据日干准确计算方位
更新项说明✅ 紧凑布局全局段间距离缩小 10-15px✅ 完整干支第 1 页增加年柱 + 月柱 + 日柱✅ 吉时查询第 2 页增加时辰吉凶(仅地支名称)✅ 穿衣建议第 3 页增加五行颜色搭配
参数值说明宽度1080 像素适配手机竖屏高度1400 像素内容舒展不拥挤比例9:12.96接近 9:13 竖版格式PNG高质量无损压缩质量95平衡文件大小与质量文件大小150-250 KB/页适合网络传播
python
# 背景色
BACKGROUND_COLOR = '#F8F0E6' # 温暖的米黄色(宣纸质感)
# 双层边框
外层边框:8px 中国红 (#8B0000)
内层边框:2px 金色 (#D4AF37)
边距:外层 10px,内层 22px
用途字号颜色示例主标题90px#8B0000每日黄历副标题65px#2C2C2C2026 年 4 月 8 日 星期三栏目题55px#8B0000今日宜/生肖运势正文45px#2C2C2C宜忌内容小字38px#999999底部信息
python
# 优先使用 Windows 黑体
font = ImageFont.truetype('C:/Windows/Fonts/simhei.ttf', size)
# Mac/Linux 备选
font = ImageFont.truetype('/System/Library/Fonts/PingFang.ttc', size)
font = ImageFont.truetype('/usr/share/fonts/noto-cjk/NotoSansCJK-Regular.ttc', size)
颜色色值用途中国红#8B0000标题、边框、重点信息亮红色#C41E3A宜/红榜/强调内容墨黑色#2C2C2C正文、日期、常规信息金色#D4AF37边框、分隔线、装饰米黄色#F8F0E6背景色浅灰色#999999底部信息、辅助说明
获取当日黄历信息:
数据来源:
https://api.qingyunke.com/api.php?key=free&appid=01&msg=今日黄历使用脚本生成 3 页图片:
bash
# 方法 1:使用整合脚本(推荐)
python scripts/generate_almanac.py --date 2026-04-08
# 方法 2:分页面生成
python scripts/generate_almanac_page1.py --date 2026-04-08
python scripts/generate_almanac_page2.py --date 2026-04-08
python scripts/generate_almanac_page3.py --date 2026-04-08
视觉检查清单:
内容检查清单:
今日头条文案:
text
标题:【{日期}】{农历} 每日黄历
正文:
今日黄历已更新!
📅 公历:{日期}
🌙 农历:{农历}
✅ 宜:{宜内容}
❌ 忌:{忌内容}
🏆 红榜:{红榜生肖}
⚠️ 黑榜:{黑榜生肖}
更多详情见图👆
#每日黄历 #传统文化 #生肖运势
抖音/小红书文案:
text
【{日期}黄历】{节气信息}✨
今日红榜生肖:{红榜}
黑榜生肖:{黑榜}
财神在{财神方位},记得朝这个方向求财哦💰
#黄历 #每日运势 #传统文化
平台发布时间使用图片文案今日头条12:00-14:003 页轮播完整版抖音18:00-21:00第 1 页精简版小红书20:00-22:00第 1 页精简版
text
{日期}_黄历 [_页面].png
示例:
- 2026-04-08_黄历.png (第 1 页)
- 2026-04-08_黄历_养生.png (第 2 页)
- 2026-04-08_黄历_故事.png (第 3 页)
详见 references/almanac-image-standard.md
bash
# 使用方法
python scripts/generate_almanac.py --date 2026-04-08
# 参数说明
--date: 日期(YYYY-MM-DD 格式)
--pages: 生成页数(1/2/3,默认 3)
--output: 输出目录(默认 reports/)
python
def draw_centered_text(draw, text, y, font, color):
"""居中绘制文字"""
bbox = draw.textbbox((0, 0), text, font=font)
text_width = bbox[2] - bbox[0]
x = (WIDTH - text_width) // 2
draw.text((x, y), text, fill=color, font=font)
return y + (bbox[3] - bbox[1])
def draw_double_border(draw, width, height):
"""绘制双层边框"""
draw.rectangle([10, 10, width-10, height-10],
outline='#8B0000', width=8)
draw.rectangle([22, 22, width-22, height-22],
outline='#D4AF37', width=2)
版本日期改进内容V12026-04-07 18:27初始版本(单页 1080x1920)V1-Full2026-04-07 18:33完整版(3 页 1080x1920)V1-Opt2026-04-07 18:39优化版(3 页 1080x1280)V22026-04-07 18:42最终版(3 页 1080x1400)Skill2026-04-08 11:23技能化封装V2.0.02026-04-09 15:25紧凑版 + 干支 + 吉时 + 穿衣 ⭐V2.2.02026-04-10 23:505 套模板 + lunar-python + 24 节气 ⭐⭐⭐V2.3.02026-04-11 18:53大字体优化(可读性 +15%) ⭐⭐⭐⭐⭐V2.3.12026-04-11 19:30季节故事修复(不再春季贴秋膘) ⭐⭐⭐⭐⭐V3.0.12026-04-12通用化版(lunar-python 干支修复) ⭐⭐⭐⭐⭐V3.0.22026-05-22lunar-python API 修复(Solar.fromYmd vs Lunar.fromYmd) ⭐⭐⭐⭐⭐
最后更新:2026-05-22 09:55
数字化专班 - 商业航天数字化转型