以 skill 自身的术语
一个用于创建符合 Slack 尺寸和大小要求的动画 GIF 的工具包。提供用于组装帧的 GIFBuilder、用于检查 Slack 合规性的验证器、用于流畅运动的缓动函数,以及用于常见绘制任务的帧辅助工具。专为表情符号 GIF(128×128,3 秒以内)和消息 GIF(480×480)设计。
使用 PIL ImageDraw 原语从零创建图形,或处理用户上传的图片。包含弹跳、脈动、旋转、渐隐和粒子爆发等动画概念。注重打造具有恰当线宽、视觉深度和色彩对比的精良创意图形,而非基础占位形状。
工作方式
- 01创建一个 GIFBuilder
以目标尺寸(表情符号为 128×128,消息为 480×480)和 10-30 FPS 之间的帧率进行初始化,较低的帧率会产生更小的文件大小。
- 02使用 PIL 原语生成帧
使用 PIL 的 ImageDraw 椭圆、多边形、线条和矩形绘制每一帧。
- 03应用缓动函数实现流畅运动
使用带有 ease_out、bounce_out、elastic_out 或 back_out 等缓动曲线的 interpolate,而非线性运动,以创建自然流畅的动画。
- 04将帧添加到 Builder
对每个 PIL Image 调用 add_frame,或对列表调用 add_frames。Builder 会在导出前累积所有帧。
- 05以 Slack 优化方式保存
以 num_colors 介于 48-128(颜色越少文件越小)导出,optimize_for_emoji=True 以自动优化,remove_duplicates=True 以消除冗余帧。
- 06对照 Slack 要求进行验证
使用 validate_gif 获取详细反馈,或使用 is_slack_ready 进行快速通过/失败检查,以确认该 GIF 是否满足尺寸、大小和参数约束。