⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gif格式详解 - dotnet男孩社区-aspxboy_com-提供大量_net技术文章,dotnet技术讨论区 - powered by huobazi~.htm

📁 非常好的GIF格式分析.中文版的,我也是因为需要学习有关于GIF解码,找了很久才找到的
💻 HTM
📖 第 1 页 / 共 5 页
字号:
        <TR>
          <TD align=middle>6</TD>
          <TD align=middle bgColor=#bdcb85 colSpan=8><SMALL>索引2的蓝色值</SMALL> 
</TD>
          <TD></TD></TR>
        <TR>
          <TD align=middle>7</TD>
          <TD align=middle bgColor=#bdcb85 colSpan=8>...</TD>
          <TD>    
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                   </TD></TR></TBODY></TABLE>
      <P><SMALL>图象标识符(Image Descriptor)</SMALL> <BR><FONT 
      color=#ff0000><SMALL>~~~~~~~~~~~~~~~~~~~~~~~~~</SMALL> 
      </FONT><BR><SMALL>一个GIF文件内可以包含多幅图象,一幅图象结束之后紧接着下是一幅图象的标识符,图象标识符以0x2C(',')字符开始,定义紧接着它的图象的性质,包括图象相对于逻辑屏幕边界的偏移量、图象大小以及有无局部颜色列表和颜色列表大小,由10个字节组成:</SMALL> 
      </P>
      <TABLE cellPadding=0 width=550 border=0>
        <TBODY>
        <TR>
          <TD align=middle>BYTE</TD>
          <TD align=middle>7</TD>
          <TD align=middle>6</TD>
          <TD align=middle>5</TD>
          <TD align=middle>4</TD>
          <TD align=middle>3</TD>
          <TD align=middle>2</TD>
          <TD align=middle>1</TD>
          <TD>0</TD>
          <TD>BIT</TD>
          <TD></TD></TR>
        <TR>
          <TD align=middle>1</TD>
          <TD align=middle bgColor=#bdcb85>0</TD>
          <TD align=middle bgColor=#bdcb85>0</TD>
          <TD align=middle bgColor=#bdcb85>1</TD>
          <TD align=middle bgColor=#bdcb85>0</TD>
          <TD align=middle bgColor=#bdcb85>1</TD>
          <TD align=middle bgColor=#bdcb85>1</TD>
          <TD align=middle bgColor=#bdcb85>0</TD>
          <TD bgColor=#bdcb85>0</TD>
          <TD colSpan=2><SMALL>图象标识符开始,固定值为','</SMALL> </TD></TR>
        <TR>
          <TD align=middle>2</TD>
          <TD align=middle bgColor=#bdcb85 colSpan=8 
            rowSpan=2><SMALL>X方向偏移量</SMALL> </TD>
          <TD colSpan=2 rowSpan=8><SMALL>必须限定在逻辑屏幕尺寸范围内</SMALL> </TD></TR>
        <TR>
          <TD align=middle>3</TD></TR>
        <TR>
          <TD align=middle>4</TD>
          <TD align=middle bgColor=#bdcb85 colSpan=8 
            rowSpan=2><SMALL>Y方向偏移量</SMALL> </TD></TR>
        <TR>
          <TD align=middle>5</TD></TR>
        <TR>
          <TD align=middle>6</TD>
          <TD align=middle bgColor=#bdcb85 colSpan=8 
            rowSpan=2><SMALL>图象宽度</SMALL> </TD></TR>
        <TR>
          <TD align=middle>7</TD></TR>
        <TR>
          <TD align=middle>8</TD>
          <TD align=middle bgColor=#bdcb85 colSpan=8 
            rowSpan=2><SMALL>图象高度</SMALL> </TD></TR>
        <TR>
          <TD align=middle>9</TD></TR>
        <TR>
          <TD align=middle>10</TD>
          <TD align=middle bgColor=#bdcb85><SMALL>m</SMALL> </TD>
          <TD align=middle bgColor=#bdcb85><SMALL>i</SMALL> </TD>
          <TD align=middle bgColor=#bdcb85><SMALL>s</SMALL> </TD>
          <TD align=middle bgColor=#bdcb85 colSpan=2><SMALL>r</SMALL> </TD>
          <TD align=middle bgColor=#bdcb85 colSpan=3><SMALL>pixel</SMALL> </TD>
          <TD colSpan=2><SMALL>m - 局部颜色列表标志(Local Color Table Flag)</SMALL> 
        </TD></TR>
        <TR>
          <TD align=middle></TD>
          <TD align=middle></TD>
          <TD align=middle></TD>
          <TD align=middle></TD>
          <TD align=middle></TD>
          <TD align=middle></TD>
          <TD align=middle colSpan=3></TD>
          <TD 
            colSpan=2><SMALL>置位时标识紧接在图象标识符之后有一个局部颜色列表,供紧跟在它之后的一幅图象使用;值否时使用全局颜色列表,忽略pixel值。</SMALL> 
            <BR><SMALL>i - <A name=交织标志>交织标志</A>(Interlace 
            Flag),置位时图象数据使用交织方式排列(<A 
            href="http://asp.6to23.com/iseesoft/devdoc/imgdoc/gif.htm#连续的和交织的">详细描述...</A>),否则使用顺序排列。</SMALL> 
            <BR>s - <SMALL>分类标志(Sort Flag),如果置位表示紧跟着的局部颜色列表分类排列.</SMALL><BR>r 
            -<SMALL> 保留,必须初始化为0</SMALL>.<BR><SMALL>pixel - 局部颜色列表大小(Size of 
            Local Color Table),pixel+1就为颜色列表的位数</SMALL></TD></TR></TBODY></TABLE>
      <P><SMALL>局部颜色列表(Local Color Table)</SMALL> <BR><FONT 
      color=#ff0000>~~~~~~~~~~~~~~~~~~~~~~~~~~</FONT> 
      <BR><SMALL>如果上面的局部颜色列表标志置位的话,则需要在这里(紧跟在图象标识符之后)定义一个局部颜色列表以供紧接着它的图象使用,注意使用前应线保存原来的颜色列表,使用结束之后回复原来保存的全局颜色列表。如果一个GIF文件即没有提供全局颜色列表,也没有提供局部颜色列表,可以自己创建一个颜色列表,或使用系统的颜色列表。局部颜色列表的排列方式和全局颜色列表一样:RGBRGB......</SMALL> 
      </P>
      <P><SMALL>基于颜色列表的图象数据(Table-Based Image Data)</SMALL> <BR><FONT 
      color=#ff0000>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</FONT> 
      <BR><SMALL>由两部分组成:LZW编码长度(LZW Minimum Code Size)和图象数据(Image Data)。</SMALL> 
      </P>
      <TABLE cellPadding=0 width=550 border=0>
        <TBODY>
        <TR>
          <TD align=right><SMALL>BYTE</SMALL> </TD>
          <TD align=middle><SMALL>7</SMALL> </TD>
          <TD align=middle><SMALL>6</SMALL> </TD>
          <TD align=middle><SMALL>5</SMALL> </TD>
          <TD align=middle><SMALL>4</SMALL> </TD>
          <TD align=middle><SMALL>3</SMALL> </TD>
          <TD align=middle><SMALL>2</SMALL> </TD>
          <TD align=middle><SMALL>1</SMALL> </TD>
          <TD align=middle><SMALL>0</SMALL> </TD>
          <TD><SMALL>BIT</SMALL> </TD></TR>
        <TR>
          <TD align=right><SMALL>1</SMALL> </TD>
          <TD align=middle bgColor=#bdcb85 colSpan=8><SMALL>LZW编码长度</SMALL> 
</TD>
          <TD><SMALL>LZW编码初始码表大小的位数,详细描述见LZW编码...</SMALL> </TD></TR>
        <TR>
          <TD align=right rowSpan=3><SMALL>  
            <P></P></SMALL> </TD>
          <TD align=middle bgColor=#bdcb85 colSpan=8><BR>...<BR></TD>
          <TD rowSpan=3><SMALL>图象数据,由一个或几个数据块(</SMALL> <A 
            href="http://asp.6to23.com/iseesoft/devdoc/imgdoc/gif.htm#数据块"><FONT 
            size=2>Data Sub-blocks</FONT> </A><SMALL>)组成</SMALL> </TD></TR>
        <TR>
          <TD align=middle bgColor=#bdcb85 colSpan=8><BR><SMALL>数据块</SMALL> 
            <BR></TD></TR>
        <TR>
          <TD align=middle bgColor=#bdcb85 colSpan=8><BR><SMALL>...</SMALL> 
            <BR></TD></TR></TBODY></TABLE>
      <P><SMALL>GIF图象数据使用了LZW压缩算法(详细介绍请看后面的<A 
      href="http://asp.6to23.com/iseesoft/devdoc/imgdoc/gif.htm#2.lzw算法和gif数据压缩">『LZW算法和GIF数据压缩』</A>),大大减小了图象数据的大小。图象数据在压缩前有两种排列格式:<A 
      name=连续的和交织的>连续的和交织的</A>(由图象标识符的<A 
      href="http://asp.6to23.com/iseesoft/devdoc/imgdoc/gif.htm#交织标志">交织标志</A>控制)。连续方式按从左到右、从上到下的顺序排列图象的光栅数据;交织图象按下面的方法处理光栅数据:</SMALL> 
      </P>
      <P><SMALL>创建四个通道(pass)保存数据,每个通道提取不同行的数据:</SMALL> <BR><SMALL>第一通道(Pass 
      1)提取从第0行开始每隔8行的数据;</SMALL> <BR><SMALL>第二通道(Pass 2)提取从第4行开始每隔8行的数据;</SMALL> 
      <BR><SMALL>第三通道(Pass 3)提取从第2行开始每隔4行的数据;</SMALL> <BR><SMALL>第四通道(Pass 
      4)提取从第1行开始每隔2行的数据;</SMALL> </P>
      <P><SMALL>下面的例子演示了提取交织图象数据的顺序:</SMALL> </P>
      <TABLE cellSpacing=0 cellPadding=0 width=550 border=0>
        <TBODY>
        <TR>
          <TD align=middle><SMALL>行</SMALL> </TD>
          <TD align=middle><SMALL> 通道1 </SMALL> </TD>
          <TD align=middle><SMALL> 通道2 </SMALL> </TD>
          <TD align=middle><SMALL> 通道3 </SMALL> </TD>
          <TD align=middle><SMALL> 通道4 </SMALL> </TD>
          <TD align=middle></TD></TR>
        <TR>
          <TD align=middle><SMALL>0&nbsp; 
            --------------------------------------------------------</SMALL> </TD>
          <TD align=middle>1</TD>
          <TD align=middle></TD>
          <TD align=middle></TD>
          <TD align=middle></TD>
          <TD align=middle></TD></TR>
        <TR>
          <TD 
            align=middle><SMALL>1&nbsp;--------------------------------------------------------</SMALL> 
          </TD>
          <TD align=middle></TD>
          <TD align=middle></TD>
          <TD align=middle></TD>
          <TD align=middle>4</TD>
          <TD align=middle></TD></TR>
        <TR>
          <TD align=middle><SMALL>2&nbsp; 
            --------------------------------------------------------</SMALL> </TD>
          <TD align=middle></TD>
          <TD align=middle></TD>
          <TD align=middle>3</TD>
          <TD align=middle></TD>
          <TD align=middle></TD></TR>
        <TR>
          <TD align=middle><SMALL>3&nbsp; 
            --------------------------------------------------------</SMALL> </TD>
          <TD align=middle></TD>
          <TD align=middle></TD>
          <TD align=middle></TD>
          <TD align=middle>4</TD>
          <TD align=middle></TD></TR>
        <TR>
          <TD align=middle><SMALL>4&nbsp; 
            --------------------------------------------------------</SMALL> </TD>
          <TD align=middle></TD>
          <TD align=middle>2</TD>
          <TD align=middle></TD>
          <TD align=middle></TD>
          <TD align=middle></TD></TR>
        <TR>
          <TD align=middle><SMALL>5&nbsp; 
            --------------------------------------------------------</SMALL> </TD>
          <TD align=middle></TD>
          <TD align=middle></TD>
          <TD align=middle></TD>
          <TD align=middle>4</TD>
          <TD align=middle></TD></TR>
        <TR>
          <TD align=middle><SMALL>6&nbsp; 
            --------------------------------------------------------</SMALL> </TD>
          <TD align=middle></TD>
          <TD align=middle></TD>
          <TD align=middle>3</TD>
          <TD align=middle></TD>
          <TD align=middle></TD></TR>
        <TR>
          <TD align=middle><SMALL>7&nbsp; 
            --------------------------------------------------------</SMALL> </TD>
          <TD align=middle></TD>
          <TD align=middle></TD>
          <TD align=middle></TD>
          <TD align=middle>4</TD>
          <TD align=middle></TD></TR>
        <TR>
          <TD align=middle><SMALL>8&nbsp; 
            --------------------------------------------------------</SMALL> </TD>
          <TD align=middle>1</TD>
          <TD align=middle></TD>
          <TD align=middle></TD>
          <TD align=middle></TD>
          <TD align=middle></TD></TR>
        <TR>
          <TD align=middle><SMALL>9&nbsp; 
            --------------------------------------------------------</SMALL> </TD>
          <TD align=middle></TD>
          <TD align=middle></TD>
          <TD align=middle></TD>
          <TD align=middle>4</TD>
          <TD align=middle></TD></TR>
        <TR>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -