|
希望能上传能支持gif动图
Gitee DiscuzX issues
@popcorner 2 months ago
这个以前我们不是讨论过嘛。目前现有的 HTML5 图片裁剪方案似乎就没有支持这种功能的,因为不好做。
gif这种图像格式很特殊,它跟主流的图片格式可以说没有什么共同之处。
其他老牌图像格式,如 png jpg 都是静态图片
新兴的图像格式,比如 webp,虽然支持动态图片,但实质上是封装了一个视频流了
唯一比较接近的是apng,但是这东西支持情况可能还不如 gif。
我研究过 gif 标准协议,gif 是基于逐帧绘制逻辑的,可以根据上一副画面使用不同的指令绘制出下一帧,这方面可能仅此一家。
简单的裁剪图像是行不通的,必须专门针对 gif 格式做解析,得到真实的逐帧画面,然后裁剪,并原样反向编码回去。
做这个功能简单的地方在于,gif 这东西的协议是真的不算复杂,或者可以说是主流格式里最简洁清晰的一种也不为过。考虑到上个世纪80年代成型的 gif 标准,那时候的计算机性能注定了它不可能太复杂,用最简单的逻辑实现了相当多的功能。但复杂的地方在于,gif 为了照顾当时的硬件做出了过大的取舍,完全不支持真彩色,全靠索引色表编码,意味着想要把现代图片体系编码成 gif 就必须以有损的方式舍弃掉大量颜色信息,还要保持图片尽量还原,难度是真的不低。 |
|