GIF解析

作者: JetLu | 来源:发表于2016-03-01 11:53 被阅读546次

前言


不知道出于某种原因,让我突然冒出想用JavaScript解析GIF的念头。于是我花费了数天的时间去研究这玩意儿,好在最后还是得到了我要的结果。特作此文以记之。

GIF格式解析


这是第一步。其实这个是很简单就可以实现的,只要你细心一点,具体怎么解析就不详述了。下面附上几个关于GIF文件格式的解释。

LZW解码


如果你已经看过上面两个链接的内容,那么你就会知道GIF的颜色索引值是被LZW编码过的。至于这个LZW的算法实现我也是似懂非懂的,先附上相关链接。

下面来说说我的理解。

比如当读取的索引数据:

[0, 151, 9 ...]

LZW的编码长度是8

那么初始读取9位数据,如何读取这9位呢?将索引数据转成2进制。

00000000 10010111 00001001

那么就是按每个字节的低位到高位开始读取。

100000000 011001011 ...000010

Github


相关文章

  • Cocos Creator如何加载gif

    creator 不支持加载 GIF,可以自己自定义一个。1、去网上找GIF解析库来解析GIF,2、通过解析出来的数...

  • 实现动画方式深度解析

    实现动画方式深度解析(一) —— 播放GIF动画(一)实现动画方式深度解析(二) —— 播放GIF动画之框架FLA...

  • GIF格式解析

    前言 本文参考gif 格式图片详细解析。加入了一些自己的理解和解析方面的示例。 GIF格式解析 图像互换格式(GI...

  • 使用 Gif Lib 加载 Gif 图

    一、GIF 的文件格式 What's a GIF 文章 GIF 格式解析 GIF 实际是一种压缩文件,采用 LZW...

  • 使用OpenCV+C++将Gif文件分解并且转换为视频文件

    原文链接 目标: 认识 Gif 利用 FreeImage 将Gif解析为 Mat; 利用 FreeImage 获取...

  • GIF

    imageIO介绍image解压缩图片帧延迟设置bridge gif生成 gif解析

  • GIF调研之FLAnimatedImage

    总体思路: FLAnimatedImage就是负责gif数据解析,用imageIO解码,根据gif大小制定缓存策略...

  • GIF解析

    前言 不知道出于某种原因,让我突然冒出想用JavaScript解析GIF的念头。于是我花费了数天的时间去研究这玩意...

  • GIF 的 DelayTime&UnclampedDel

    最近要做 GIF 的显示, 在解析 GIF 源文件的时候发现 GIF 的图片时间控制有两个 DelayTime&U...

  • swift常用第三方库

    1、html/xml解析 --- Ji(戟) 2、gif图片加载 --- SwiftGifOrigin ...

网友评论

      本文标题:GIF解析

      本文链接:https://www.haomeiwen.com/subject/vyogkttx.html