gif有哪几种形式

 我来答
清宁时光17
2022-06-03 · TA获得超过1.4万个赞
知道大有可为答主
回答量:7008
采纳率:100%
帮助的人:40万
展开全部

  GIF文件的数据,是一种基于LZW算法的连续色调的无损压缩格式,那么你对GIF了解多少呢?下面就让我来给你科普一下什么是gif。

  gif的历史

  在早期,GIF所用的LZW压缩算法是Compuserv所开发的一种免费算法。然而令很多软件开发商感到意外的是,GIF文件所采用的压缩算法忽然成了Unisys公司的专利。据Unisys公司称,他们已注册了LZW算法中的W部分。如果要开发生成(或显示)GIF文件的程序,则需向该公司支付版税。由此,人们开始寻求一种新技术,以减少开发成本。PNG(Portable Network Graphics,便携网络图形)标准就在这个背景下应运而生了。它一方面满足了市场对更少的法规限制的需要,另一方面也带来了更少的技术上的限制,如颜色的数量等。

  在2003年6月20日,LZW算法在美国的专利权已到期而失效。在欧洲、日本及加拿大的专利权亦已分别在2004年的6月18日、6月20日和7月7日到期失效。尽管如此,PNG文件格式凭着其技术上的优势,已然跻身于网络上第三广泛应用格式。与GIF相关的专利于2006年8月11日过期。

  gif的分类

  GIF分为静态GIF和动画GIF两种,扩展名为.gif,是一种压缩位图格式,支持透明背景图像,适用于多种操作系统,“体型”很小,网上很多小动画都是GIF格式。其实GIF是将多幅图像保存为一个图像文件,从而形成动画,最常见的就是通过一帧帧的动画串联起来的搞笑gif图,所以归根到底GIF仍然是图片文件格式。但GIF只能显示256色。和jpg格式一样,这是一种在网络上非常流行的图形文件格式。

  GIF主要分为两个版本,即GIF 89a和GIF 87a

  GIF 87a:是在1987年制定的版本

  GIF 89a:是1989年制定的版本。在这个版本中,为GIF文档扩充了图形控制区块、备注、说明、应用程序编程接口等四个区块,并提供了对透明色和多帧动画的支持

  gif的语法格式

  语法是用来表达序列的一种符号形式,并用这个表达序列中的一些对象来形成更大的对象。语法也用于表达在给定的位置出现对象的数目。在此给出的语法用来说明形成gif数据流的块序列,用一些规则列表来表达。下面列出用于gif语法的符号定义。

  图例: <> 语法词

  ::= 符号定义

  * 0个或更多的事件发生

  + 1个或更多的事件发生

  | 替代元素

  [] 可选元素

  gif语法的符号定义:

  <GIF数据流> ::= 头部 <;逻辑视屏> <;数据>* 尾记录

  这个规则将<Gif 数据流>;实体定义如下。它必须以头部开始,头部后面接一个逻辑视屏实体,该实体要用其他规则来定义。最后,数据实体接结束符。数据实体后面的*表示数据实体可以在此位置出现0或多次。

  <Gif 数据流> ::= 头部 <;逻辑视屏> <;数据>* 尾记录

  <;逻辑视屏> ::= 逻辑视屏描述块 [全局色表]

  <;数据> ::= <;成象块> |<;特殊用途块>

  <;成象块> ::= [图象控制扩充] <;成象块>

  <;成象块> ::= <;基于表的图象> |纯文本扩充

  <;基于表的图象> ::= 图象描述符 [局部色表] 图象数据

  <;特殊用途块> ::= 应用扩充 |注释扩充

  gif数据流中的数据块可以分为三组:控制块、成象块和特殊用途块。

  控制块,如:头部、逻辑视屏描述块、图像控制扩充和尾记录,包含用于控制处理数据流或设置硬件参数的信息。

  成像块,如:图像描述符和纯文本扩充,包含用于在显示设备上成像的信息和数据。

  特殊用途块,如:注释扩充和应用扩充,包含那些既不用于处理数据流也不用于在显示设备上成象的信息。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式