表情包拖进麻雀看图,停在第一帧。浏览器里明明会动。先别重装解码器:很多「.gif」其实是单帧,或被微信压成静图还留着 GIF 后缀。
先确认是不是真动图
很多「.gif」是单帧,或被微信压成静图还留着 GIF 后缀。属性里 320×240、体积 15KB,多半静的。用十六进制看:真 GIF 以 GIF89a 开头;聊天软件另存有时给你一张 JPEG 改了后缀,照片应用会报「文件已损坏」。
麻雀看图对 GIF 动画和动态 WebP 按帧播。APNG 不要按完整动画来预期。F5 幻灯片切的是文件不是帧,开着幻灯片看表情包会把动画打断。
NETSCAPE 2.0 扩展块里循环次数 0 表示无限。缺这个块的 GIF 有的播放器只播一轮。这不是麻雀看图「不会循环」。
文件头应是 GIF87a 或 GIF89a。FF D8 开头的是 JPEG 封面。微信、QQ 另存经常只给你封面静图,扩展名还叫 .gif。先核对头再怪播放。
用记事本或十六进制看头 6 个字符:GIF87a、GIF89a 才是 GIF。FF D8 是 JPEG 封面,RIFF 可能是 WebP。微信 dat 转出来的、QQ「另存为」点到预览图,都经常只留下封面。属性「帧数」很多时候不写,以看图窗口会不会动为准。转 JPG/PNG 会冻住当前帧,这不是成功「优化」,是丢掉了时间轴。发给对方前自己先打开副本确认循环。缺 NETSCAPE 2.0 扩展块的 GIF 在有的播放器只播一轮,换系统「照片」对照,别先重装解码器。
- 能播但不顺:帧间隔写成 0,软件会钳到最小间隔。
- 循环三次就停:文件头 Netscape 循环次数会被尊重。
- 超大分辨率 GIF 是视频硬转,内存会冲,用播放器看视频版。
聊天软件另存经常只留下封面
微信、QQ 缓存里常有 *_thumb 一类小图。你另存的是封面,原链接用浏览器打开仍在动。到「文档WeChat Files…FileStorage」按日期翻体积更大的那份。
透明 GIF 在看图棋盘背景上正常,贴进只认 JPG 的 PPT 会铺底。转 JPG 只会留下当前帧,对方拿到呆住的脸,不是「压缩成功」。
微信 dat 转出来的图可能已经不是 GIF。看文件头 GIF89a 还是 FF D8。不对就别怪解码器。
转格式会冻住,别当成功
要保留循环,转 GIF 给旧环境,或让对方用浏览器打开动态 WebP。GIF 256 色,渐变会脏。转视频不是看图软件的范围。WebP 能动、GIF 不能,两套解码,分别查文件是不是真动画,不要用能否播放判断软件坏了。
动态 WebP 的 ANIM 块在 RIFF 里。另存 JPG 后 ANIM 没了。发给对方前自己先打开副本确认会不会动。
转成 JPG/PNG 会冻在某一帧。动图要给人,保持 GIF 或动态 WebP。自己先打开副本确认会动,再发出去。
微信再转发一次 GIF,对方另存后文件头经常变成 JPEG。让他把另存文件发回给你看头六个字符,再决定要不要重转。不要连续转 GIF→JPG→GIF 指望循环回来。
幻灯片切的是文件,转 JPG 会冻住当前帧
F5 幻灯片切的是下一张文件,不是 GIF 的下一帧,开着幻灯片看表情包会把动画打断。另存 JPG 或 PNG 只会留下当前这一帧,循环和帧时长都丢掉。对方说不会动时,让他把另存文件发回来看头六个字符是 GIF89a 还是 FF D8,不要连续转 GIF→JPG→GIF 指望循环回来。
属性里 320×240、体积 15KB 的「GIF」多半是静图。真文件以 GIF87a 或 GIF89a 开头;聊天软件另存有时给你 JPEG 改了后缀。帧间隔写成 0 时软件会钳到最小间隔,看起来不顺。循环三次就停是文件头 Netscape 次数,要无限循环得源文件这么写。超大分辨率 GIF 是视频硬转,内存会冲。
常见问题
WebP 能动 GIF 不能? 两套解码。分别查文件是不是真动画。不要用能否播放判断软件坏了。
循环三次就停? 文件头里的循环次数会被尊重。要无限循环得源文件这么写。