代码之家  ›  专栏  ›  技术社区  ›  Martin Konecny

解码GIF问题

  •  1
  • Martin Konecny  · 技术社区  · 14 年前

    对于个人项目,我正在创建一个静态gif解码器。到目前为止,一切都很好,只是我很难理解规范中的一个概念:

    必须有一个图像描述符 数据流中每个图像都存在。无限数量的图像 可能存在于每个数据流中。 (Spec)

    每个数据流有无限的图像?可以有多个?我假设他们不是指动画GIF,因为在同一个规范中,他们声明,他们不建议将GIF用于动画。

    我读过很多其他记录gif格式的网站,它们都说明了类似的东西。这是另一个 link

    GIF中可能存在无限数量的图像。

    2 回复  |  直到 14 年前
        1
  •  1
  •   Egor Skriptunoff    9 年前


    这个想法是分解(为了更好的总压缩比)大图片成几个矩形子图片绘制在一个共同的画布最初充满背景色。每个子图片都有自己的x、y、宽度、高度和调色板。例如,如果你正在绘制天文图片:地球和月球,这两个物体可以表示为两个小的子图片在共同的大黑色画布。它不是动画:两个子画面同时可见。

    从GIF89a开始,这些子画面被转换成动画帧。

        2
  •  0
  •   Therealstubot    14 年前

    一个GIF文件中可以有多个图像。是的,GIF文件可以执行粗糙的动画,但它通常不好看。