用途:为 Slack 创建经过优化的动画 GIF,提供 Slack 的规格约束、校验工具与动画概念知识。
主要能力:GIFBuilder 负责组装帧并按 Slack 需求优化保存;validators 提供 validate_gif 与 is_slack_ready 校验;easing 提供 linear、ease_in、ease_out、ease_in_out、bounce_out、elastic_out、back_out 等缓动;frame_composer 提供 create_blank_frame、create_gradient_background、draw_circle、draw_text、draw_star 等辅助函数。
Slack 要求:表情 GIF 建议 128x128,消息 GIF 为 480x480;FPS 10-30,颜色 48-128,表情 GIF 时长控制在 3 秒以内。
使用方式:安装依赖 pip install pillow imageio numpy;用 GIFBuilder(width=128, height=128, fps=10) 创建构建器,逐帧用 PIL 的 ImageDraw 绘制并 add_frame,最后 builder.save('output.gif', num_colors=48, optimize_for_emoji=True)。可用 validate_gif('my.gif', is_emoji=True, verbose=True) 校验。
动画概念:抖动、脉冲、弹跳、旋转、淡入淡出、滑动、缩放、粒子爆发等,可组合使用。
限制:不提供固定动画模板或预制图形库,不使用 emoji 字体渲染;用户上传图片可用 PIL 加载,按其意图直接使用或仅作参考。仅在要求减小文件体积时再实施降帧率、减颜色、缩小尺寸、去重等优化。