用途:为 Slack 创建优化过的动图 GIF,提供约束规范、校验工具和动画概念。
主要能力: 尺寸要求:表情 GIF 建议 128x128,消息 GIF 为 480x480。 参数:帧率 10-30(越低文件越小),颜色 48-128(越少文件越小),表情 GIF 时长建议 3 秒以内。 工具组成:GIFBuilder(core.gif_builder)用于组装帧并优化;校验器(core.validators)validate_gif 与 is_slack_ready 检查是否符合 Slack 要求;缓动函数(core.easing)interpolate 支持 linear、ease_in、ease_out、ease_in_out、bounce_out、elastic_out、back_out;帧辅助(core.frame_composer)提供 create_blank_frame、create_gradient_background、draw_circle、draw_text、draw_star。
使用方式: 核心流程为先创建 builder,再用 PIL 生成帧并添加,最后保存优化。示例: from core.gif_builder import GIFBuilder from PIL import Image, ImageDraw builder = GIFBuilder(width=128, height=128, fps=10) for i in range(12): frame = Image.new('RGB', (128, 128), (240, 248, 255)) draw = ImageDraw.Draw(frame) builder.add_frame(frame) builder.save('output.gif', num_colors=48, optimize_for_emoji=True) 用 PIL ImageDraw 绘制圆形、多边形、线条、矩形等;用户上传图片可用 PIL 加载后直接使用或作为风格参考。
适用场景与动画概念:抖动、脉冲心跳、弹跳、旋转、淡入淡出、滑动、缩放、粒子爆裂等。建议加粗线条、渐变背景、多层形状、对比色,使画面更精致。
限制:不提供固定动画模板或预制图形库,不使用 emoji 字体(跨平台不可靠);仅在被要求缩小文件时才进行优化。依赖:pip install pillow imageio numpy。
其他事实(如收费、平台支持细节)暂未提供。