发出去的 GIF 不动被压成静态图了
现象
在工具里导出是动图,但发到微信/QQ/微博后变成了静态图——只有第一帧,不动了。
根本原因
文件太大。几乎所有聊天平台都对 GIF 有体积限制,超过阈值后自动压成静态图(取第一帧或中间某帧)。不同平台的阈值不一样:
| 平台 | 大致限制 |
|---|---|
| 微信表情栏 | ~2MB |
| 微信文件传输 | ~10MB(但可能自动压缩) |
| QQ 表情 | ~2MB |
| Discord 免费用户 | ~10MB |
| 微博 | ~5MB |
解决步骤
第一步:先测体积
在手机/电脑上看一下导出的 GIF 文件有多大。如果超过 2MB,微信/QQ 表情栏大概率会把它压成静态。
第二步:重新导出,调小参数
按影响程度从大到小调:
- output size:从 256px → 128px(像素量减四分之三)
- speed:降低 5-10(帧数减少)
- squish:降低 10(每帧更简单,压缩率更高)
先调第一项试一次,还不行再加第二项,以此类推。
第三步:还是太大?
128px + 中等 speed + 中等 squish 组合下,大多数 GIF 应该在 500KB-1.5MB 之间。如果还超,可能是素材本身颜色太复杂(彩色照片):
- 换一张颜色简单的素材(PNG 卡通头像)
- 或者用第三方 GIF 压缩工具再压一下(可能损失一些颜色和帧)
养成习惯:发之前自测
导出后先给自己发一份(比如微信文件传输助手),确认还在动、体积没问题再发出去。多花 10 秒,但能避免"我以为是动的结果大家都看到的是静态"的尴尬。