<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-57  評論-202  文章-17  trackbacks-0
    6.2 GIF文件格式

    6.2.1 簡介

    GIF(Graphics Interchange Format)是CompuServe公司開發的圖像文件存儲格式,1987年開發的GIF文件格式版本號是GIF87a,1989年進行了擴充,擴充后的版本號定義為GIF89a。

    GFI圖像文件以數據塊(block)為單位來存儲圖像的相關信息。一個GIF文件由表示圖形/圖像的數據塊、數據子塊以及顯示圖形/圖像的控制信息塊組成,稱為GIF數據流(Data Stream)。數據流中的所有控制信息塊和數據塊都必須在文件頭(Header)和文件結束塊(Trailer)之間。

    GIF文件格式采用了LZW(Lempel-Ziv Walch)壓縮算法來存儲圖像數據,定義了允許用戶為圖像設置背景的透明(transparency)屬性。此外,GIF文件格式可在一個文件中存放多幅彩色圖形/圖像。如果在GIF文件中存放有多幅圖,它們可以像演幻燈片那樣顯示或者像動畫那樣演示。

    6.2.2. 文件結構

    GIF文件結構的典型結構如圖6-01所示。為下文說明方便,在構件左邊加了編號。

    1

    Header

     

    GIF文件頭

     

    2

    Logical Screen Descriptor

     

    邏輯屏幕描述塊

     

    3

    Global Color Table

     

    全局彩色表

     
     

    … 擴展模塊(任選) …

         

    4

    Image Descriptor

     

    圖形描述塊

     

    5

    Local Color Table

     

    局部彩色表(可重復n次)

    6

    Table Based Image Data

     

    表式壓縮圖像數據

    7

    Graphic Control Extension

     

    圖像控制擴展塊

    8

    Plain Text Extension

     

    無格式文本擴展塊

    n

    9

    Comment Extension

     

    注釋擴展塊

    10

    Applicaton Extension

     

    應用程序擴展塊

     
     

    … 擴展模塊(任選) …

         

    11

    GIF Trailer

     

    GIF文件結束塊

     

    圖6-01 GIF文件結構

    數據塊可分成3類:控制塊(Control Block),圖形描繪塊(Graphic-Rendering Block)和專用塊(Special Purpose Block)。

    (1) 控制塊:控制塊包含有用來控制數據流(Data Stream)或者設置硬件參數的信息,其成員包括:

    • GIF文件頭(Header)
    • 邏輯屏幕描述塊(Logical Screen Descriptor)
    • 圖形控制擴展塊(Graphic Control Extension)
    • 文件結束塊(Trailer)

    (2) 圖形描繪塊:包含有用來描繪在顯示設備上顯示圖形的信息和數據,其成員包括:

    • 圖像描述塊(Image Descriptor)
    • 無格式文本擴展塊(Plain Text Extension)

    (3) 特殊用途數據塊;包含有與圖像處理無關的信息,其成員包括:

    • 注釋擴展塊(Comment Extension)
    • 應用擴展塊(Application Extension)

    除了在控制塊中的邏輯屏幕描述塊(Logical Screen Descriptor)和全局彩色表(Global Color Table)的作用范圍是整個數據流(Data Stream)之外, 所有其他控制塊僅控制跟在它們后面的圖形描繪塊。

    6.2.3 構件詳解

    1. GIF文件頭

    文件頭描述塊(Header)定義GIF數據流(GIF Data Stream),它的結構如圖6-02所示。文件頭描述塊(Header)由GIF標記域(Signature)和版本號(Version)域組成,是一個由6個固定字節組成的數據塊,它們用來說明使用的文件格式是GIF格式及當前所用的版本號。GIF標記域(Signature)存放的是“GIF”,版本號域存放的是1987年5月發布的“87a”或者1989年7月發布的“89a”,或者更加新的版本號。

    7

    6

    5

    4

    3

    2

    1

    0

    字節號

    域的名稱

    數據類型

     

    0

       

    Signature

    1

    GIF標記

    3 Bytes

     

    2

       
     

    3

       

    Version

    4

    版本號

    3 Bytes

     

    5

       

    圖6-02 標記/版本數據塊的結構

     

    2. 邏輯屏幕描述塊

    邏輯屏幕描述塊(Logical Screen Descriptor)包含定義圖像顯示區域的參數,包括背景顏色信息。這個數據塊中的坐標相對于虛擬屏幕的左上角,不一定是指顯示屏的絕對坐標,這就意味可以參照窗口軟件環境下的窗口坐標或者打印機坐標來設計圖像顯示程序。邏輯屏幕描述塊的結構如圖6-03所示:

    7

    6

    5

    4

    3

    2

    1

    0

    字節號

    域的名稱

    類型

    Logical Screen Width

    0

    邏輯屏幕寬度

    Unsigned

     

    1

    (以像素為定單位)

     

    Logical Screen Height

    2

    邏輯屏幕高度

    Unsigned

     

    3

    (以像素為定單位)

     

    G

    CR

    S

    Size

    4

    包裝域

    見圖6-04

    Background Color Index

    5

    背景顏色索引

    Byte

    Pixel Aspect Ratio

    6

    像素寬高比

    Byte

    圖6-03 屏幕描述塊的結構

    邏輯描述塊包含7個字節。字節0和字節1用來說明邏輯顯示屏的寬度,字節3和字節4用來說明邏輯顯示屏的高度,字節4用來描述彩色表的屬性,字節5用來指定背景顏色索引,字節6用來計算像素的寬高比。現作如下說明:

    (1) 屏幕描述塊中的第5個字節稱為包裝域(Packed Fields),它的位結構如圖6-04所示,它由4個子域組成:

    ① 全局彩色表標志(Global Color Table Flag )域G用來說明是否有全局彩色表存在。如果G=1,表示有一個全局彩色表(Global Color Table)將緊跟在這個邏輯屏幕描述塊(Logical Screen Descriptor)之后;這個標志也用來選擇背景顏色索引(Background Color Index)。如果G=1,背景顏色索引(Background Color Index)域中的值就用作背景顏色的索引。

    ② 彩色分辨率(Color Resolution)域CR用來表示原始圖像可用的每種基色的位數(實際值減1)。這個位數表示整個調色板的大小,而不是這幅圖像使用的實際的顏色數。例如,如果該域的值CR=3,說明原始圖像可用每個基色有4位的調色板來生成彩色圖像。

    ③ 彩色表排序標志(Sort Flag)域S用來表示全局彩色表(Global Color Table)中的顏色是否按重要性(或者稱使用率)排序。如果S=0,表示沒有重要性排序;如果S=1表示最重要的顏色排在前。這樣做的目的是輔助顏色數比較少的解碼器能夠選擇最好的顏色子集,在這種情況下解碼器就可選擇彩色表中開始段的彩色來顯示圖像。

    ④ 全局彩色表大小(Size of Global Color Table)域Size表示表示每個像素的位數,它用來計算全局彩色表(Global Color Table)中包含的字節數。在全局彩色表標志(Global Color Table Flag)域G=0時就不需要計算,G=1時就要計算彩色表的大小,具體計算見下文的“3. 全局彩色表”

    7

    6

    5

    4

    3

    2

    1

    0

    Global Color Table Flag

    Color Resolution

    Sort Flag

    Size of Global Color Table

    圖6-04 邏輯屏幕描述塊中的包裝域結構

    (2) 屏幕描述塊中的第6個字節是背景顏色索引(Background Color Index),它是彩色表的一個索引值,用來指定背景顏色。如果全局彩色表標志(Global Color Table Flag)域G=0,這個域的值也設置為0。

    (3) 像素寬高比(Pixel Aspect Ratio)域中的值是一個因數,是計算原始圖像像素的寬高比的一個近似值。如果該域的值范圍為1~255,如果不等于0,寬高比的近似值按下式計算:

    Aspect Ratio = (Pixel Aspect Ratio + 15) / 64
    像素寬高比(Pixel Aspect Ratio)定義成像素的寬度與高度之比,比值的范圍在4:1~1:4之間,其增量為1/64。

    3. 全局彩色表

    由于一個GIF文件可以包含多幅彩色圖像,每幅彩色圖像也許都包含適合自身特點的彩色表,所以一個GIF文件可以有好幾個彩色表。但歸納起來只有兩類:全局彩色表(Global Color Table)或局部彩色表(Local Color Table)。全局彩色表可用于圖像本身沒有帶彩色表的所有圖像和無格式文本擴展塊(Plain Text Extension),而局部彩色表只用于緊跟在它后面的一幅圖像。在處理全局彩色表和局部彩色表時需要注意下面一些規則。

    ① 如果GIF文件包含全局彩色表(Global Color Table),而且要顯示的圖像本身又帶有局部彩色表,那末顯示該幅彩色圖像時就用它自己的彩色表,而不用全局彩色表。在這種情況下,解碼器就首先保存全局彩色表(Global Color Table),然后使用局部彩色表(Local Color Table)來顯示圖像,最后再回復全局彩色表(Global Color Table)。

    ② 全局彩色表(Global Color Table)和局部彩色表(Local Color Table)都是可選擇的。由于這個原因,解碼器最好要保存全局彩色表(Global Color Table),一直到出現另一個全局彩色表(Global Color Table)為止。這樣做之后,對于包含完全沒有彩色表的一幅或者多幅彩色圖像的GIF文件就可以使用最后保存的全局彩色表(Global Color Table)進行處理。

    ③ 如果同類型的圖像能夠使用相同的彩色表來顯示,編碼器就要盡可能使用一個全局彩色表(Global Color Table);如果沒有彩色表可用,解碼器就可以使用計算機系統提供的彩色表或者解碼器自身的彩色表。

    ④ 全局彩色表(Global Color Table)存在與否由邏輯屏幕描述塊(Logical Screen Descriptor)中字節5的全局彩色表標志(Global Color Table Flag )域G的值確定。如果存在,彩色表就緊跟在邏輯屏幕描述塊(Logical Screen Descriptor)之后。彩色表的表項數目等于2(n +1),其中n=b2b1b0,每個表項由3個字節組成,分別代表R、G、B的相對強度,因此彩色表的字節數就等于3×2(n +1)。彩色表的結構如圖6-05所示。

    7 6 5 4 3 2 1 0

    字節號

    域的名稱

    數據類型

    red intensity

    0

    紅色索引 000

    Byte

    green intensity

    1

    綠色索引 000

    Byte

    blue intensity

    2

    藍色索引 000

    Byte

    red intensity

    3

    紅色索引 001

    Byte

    green intensity

    4

    綠色索引 001

    Byte

    blue intensity

    5

    藍色索引 001

    Byte

     

     

    red intensity

    745

    紅色索引 255

    Byte

    green intensity

    746

    綠色索引 255

    Byte

    blue intensity

    767

    藍色索引 255

    Byte

    圖6-05 彩色表結構

    局部彩色表與全局彩色表有相同的存儲格式。

    4. 圖像描述塊

    GIF圖像文件格式可包含數量不限的圖像,而且也沒有一個固定的存放順序,僅用一個字節的圖像分隔符(Image Separator)來判斷是不是圖像描述塊。每一幅圖像都由一個圖像描述塊(Image Descriptor)、可有可無的局部彩色表(Local Color Table)和圖像數據組成。每幅圖像必須要落在邏輯屏幕描述塊(Logical Screen Descriptor)中定義的邏輯屏(Logical Screen)尺寸范圍里。

    圖像描述塊(Image Descriptor)之前可以有一個或者多個控制塊,例如圖形控制擴展塊(Graphic Control Extension),其后可以跟著一個局部彩色表(Local Color Table)。無論前后是否有各種數據塊,圖像描述塊(Image Descriptor)總是帶有圖像數據。

    圖像描述塊(Image Descriptor)的結構如圖6-06所示。

    7

    6

    5

    4

    3

    2

    1

    0

    字節號

    域的名稱

    類型

    Image Separator

    0

    圖像分隔符

    Byte

    Image Left Position

    1

    圖像左邊位置

    Unsigned

     

    2

    (以像素為定單位)

     

    Image Top Position

    3

    圖像頂部位置

    Unsigned

     

    4

    (以像素為定單位)

     

    Image Width

    5

    圖像寬度

    Unsigned

     

    6

    (以像素為定單位)

     

    Image Height

    7

    圖像高度

    Unsigned

     

    8

    (以像素為定單位)

     
     

    9

    包裝域

    見圖6-07

    圖6-06 圖像描述塊的結構

    在圖6-06中,圖像分隔符(Image Separator)用來標識圖像描述塊的開始,該域包含固定的值:0x2C;圖像左邊位置(Image Left Position)是相對于邏輯屏幕(Logical Screen)最左邊的列號,邏輯屏幕最左邊的列好定義為0;圖像頂部位置(Image Top Position) 是相對于邏輯屏幕(Logical Screen)頂部的行號,邏輯屏幕頂部的行號定義為0。

    7

    6

    5

    4

    3

    2

    1

    0

    Local Color Table Flag

    Interlace Flag

    Sort Flag

    Reserved

    Size of Local Color Table

    圖6-07 圖像描述塊中的包裝域結構

    圖像描述塊(Image Descriptor)中的第9個字節稱為包裝域(Packed Fields)字節,它的位結構如圖6-07所示,它由5個子域組成:

    ① 局部彩色表標志(Local Color Table Flag )域L用來說明是否有局部彩色表存在。如果L=1,表示有一個局部彩色表(Local Color Table)將緊跟在這個圖像描述塊(Image Descriptor)之后;如果G=0,表示圖像描述塊(Image Descriptor)后面沒有局部彩色表(Local Color Table),該圖像要使用全局彩色表(Global Color Table)。

    ② 交插顯示標志(Interlace Flag)域I用來表示該圖像是不是交插圖像(Interlaced Images)。如果I=0,表示該圖像不是交插圖像,如果I=1表示該圖像是交插圖像。使用該位標志可知道圖像數據是如何存放的。GIF文件格式定義了兩種數據存儲方式:一種是按圖像行連續順序存儲,這個順序與顯示器上顯示行的順序相同;另一種按交插方式存儲。交插圖像按行分成如下所示的4組(Group):

    Group 1:每隔8行組成一組,從第0行開始顯示 /第1遍交插

    Group 2:每隔8行組成一組,從第4行開始顯示 /第2遍交插

    Group 3:每隔4行組成一組,從第2行開始顯示 /第3遍交插

    Group 4:每隔2行組成一組,從第1行開始顯示 /第4遍交插

    由于顯示圖像需要較長的時間,使用這種方法存放和顯示圖像數據,人們就可以在圖像顯示完成之前看到這幅圖像的概貌,而不覺得顯示時間長。圖6-08說明了這種交插圖像的存儲和顯示順序。

    行號

    像 點

    交插遍次

    0

    ……………………………………

    1

         

    1

    ……………………………………

         

    4

    2

    ……………………………………

       

    3

     

    3

    ……………………………………

         

    4

    4

    ……………………………………

     

    2

       

    5

    ……………………………………

         

    4

    6

    ……………………………………

       

    3

     

    7

    ……………………………………

         

    4

    8

    ……………………………………

    1

         

    9

    ……………………………………

         

    4

    10

    ……………………………………

       

    3

     

    11

    ……………………………………

         

    4

    12

    ……………………………………

     

    2

       

    13

    ……………………………………

         

    4

    14

    ……………………………………

       

    3

     

    15

    ……………………………………

         

    4

    16

    ……………………………………

    1

         

    17

    ……………………………………

         

    4

    18

    ……………………………………

       

    3

     

    19

    ……………………………………

         

    4

    圖6-08 交插圖像顯示順序

    ③ 彩色表排序標志(Sort Flag)域的含義與全局彩色表(Global Color Table)中(Sort Flag)域的含義相同。

    ④ 保留(Reserved)。

    ⑤ 局部彩色表大小(Size of Local Color Table)域的值用來計算局部彩色表(Global Color Table)中包含的字節數。

    5. 局部彩色表

    局部彩色表(Local Color Table)用于緊跟在它后面的圖像。彩色表是否存在取決于圖像描述塊(Image Descriptor)中局部彩色表標志(Local Color Table Flag)位的設置。彩色表的結構和大小與全局彩色表(Global Color Table)完全相同。

    6. 表基圖像數據

    GIF圖像采用了LZW算法對實際的圖像數據進行壓縮。為了提高壓縮編碼的效率,對LZW編碼器輸出的代碼采用可變長度碼VLC(variable-length-code),不是用位數高度的代碼來表示輸出,而且代表碼字的位數是可變的。

    表基圖像數據(Table Based Image Data)由LZW最小代碼長度(LZW Minimum Code Size)和圖像數據(Image Data)組成,如圖6-09所示。LZW最小代碼長度域的值用來確定圖像數據中LZW代碼使用的初始位數。圖像數據(Image Data)由數據子塊(Data Sub-blocks)序列組成。

    7

    6

    5

    4

    3

    2

    1

    0

     

    域的名稱

    類型

    LZW Minimum Code Size

     

    LZW最小代碼長度

    Byte

    Image Data

     

    圖像數據

    Data
    Sub-blocks

    圖6-09 圖像數據的存儲格式

    數據子塊(Data Sub-blocks)的結構如圖6-10所示,這是一個可變長度的數據塊,其長度由塊大小域(Block Size)域中的值確定,字節數在0~255之間。

    7 6 5 4 3 2 1 0

    字節號

    域的名稱

    數據類型

    Block Size

    0

    塊大小

    Byte

     

    1

     

    Byte

         

    Byte

    Data Values

     

    數值

    Byte

         

    Byte

     

     

     

     

         

    Byte

     

     

    Byte

     

     

    Byte

     

    255

     

    Byte

    圖6-10 數據子塊的結構

     

    7. 圖形控制擴展塊

    圖形控制擴展塊(Graphic Control Extension)包含處理圖形描繪塊時要使用的參數,它的結構如圖6-11所示?,F說明如下:

    (1) 擴展導入符Extension Introducer)用于識別擴展塊的開始,域中的值是一個數值等于0x21的固定值。

    (2) 圖形控制標簽(Graphic Control Label)用于標識當前塊是一個圖形控制擴展塊,域中的值是一個數值等于0xF9的固定值。

    (3) 塊大小(Block Size)用來說明該擴展塊所包含字節數,該字節數是從這個塊大小(Block Size)域之后到塊結束符之間的字節數。

    7

    6

    5

    4

    3

    2

    1

    0

    字節號

    域的名稱

    類型

    Extension Introducer

    0

    擴展導入符

    Byte

    Graphic Control Label

    1

    圖形擴展標簽

    Byte

           

    Block Size

    0

    塊大小

    Byte

    <Packed Fields>

    1

    包裝域

    See below

    Delay Time

    2

    延時時間

    Unsigned

           

    Transparent Color Index

    3

    透明彩色索引

    Byte

           

    Block Terminator

    0

    塊結束符

    Byte

    圖6-11 圖像描述塊的結構

    (4) 包裝域的結構如圖6-12所示。處理方法(Disposal Method)規定圖形顯示之后譯碼器要用表6-03中所述方法進行處理。

    表6-03 包裝域規定的處理方法

    域值

    處理方法

    0

    沒有指定要做任何處理

    1

    不處理,圖形留在原處

    2

    顯示圖形的區域必須要恢復成背景顏色

    3

    恢復成以前顯示的圖形

    4~7

    (未定義)

    用戶輸入標志(User Input Flag)域表示在繼續處理之前是否需要用戶輸入響應。在延時時間(Delay Time)和用戶輸入標志(User Input Flag)都設置為1的情況下,繼續處理的開始時間取決于用戶響應輸入在前還是延時時間結束在前。

    7

    6

    5

    4

    3

    2

    1

    0

    Reserved(保留)

    Disposal Method(處理方法)

    User Input Flag

    Transparent Color Flag

    圖6-12 圖形控制擴展塊的包裝結構

    (5) 透明(Transparency Flag)表示是否給出透明索引(transparency index)

    (6) 延時時間(Delay Time)用來指定在圖形顯示之后繼續處理數據流之前的等待時間,一百分之一秒為單位。

    (7) 當且僅當透明標志位設置為1時,透明索引(Transparency Index)用來指示處理程序是否要修改顯示設備上的相應象點。當且僅當透明標志位設置為1時,就要修改。

    (8) 塊結束符(Block Terminator)表示該圖形控制擴展塊(Graphic Control Extension)結束,它是由一個字節組成的數據塊,該域的值是一個固定的值:0x00,因此稱為零長度數據子塊(zero-length Data Sub-block)。

    8. 無格式文本擴展塊

    無格式文本擴展塊(Plain Text Extension)包含文本數據和描繪文本所須的參數。文本數據用7位的ASCII字符編碼并以圖形形式顯示。擴展塊的結構如圖6-13所示。

    7 6 5 4 3 2 1 0

    字節號

    域的名稱

    數據類型

    Extension Introducer (0x21)

    0

    擴展導入符

    Byte

    Plain Text Label (0x01)

    1

    無格式文本標簽

    Byte

    Block Size

    0

    塊大小

    Byte

    Text Grid Left Position

    1

    文本網格左列位置

    Unsigned

     

    2

       

    Text Grid Top Position

    3

    文本網格頂行位置

    Unsigned

     

    4

       

    Text Grid Width

    5

    文本網格寬度

    Unsigned

     

    6

       

    Text Grid Height

    7

    文本網格高度

    Unsigned

     

    8

       

    Character Cell Width

    9

    字符單元寬度

    Byte

    Character Cell Height

    10

    字符單元高度

    Byte

    Text Foreground Color Index

    11

    文本顏色索引

    Byte

    Text Background Color Index

    12

    文本背景顏色索引

    Byte

           

    Plain Text Data

     

    無格式文本數據

    Data Sub-blocks

           

    圖6-13 無格式文本擴展塊結構

     

    9. 注釋擴展塊

    注釋擴展塊(Comment Extension)域的內容用來說明圖形、作者或者其他任何非圖形數據和控制信息的文本信息。

    注釋擴展塊的結構如圖6-14所示。其中的注釋數據是序列數據子塊(Data Sub-blocks),每塊最多255個字節,最少1個字節。

    7 6 5 4 3 2 1 0

    字節號

    域的名稱

    數據類型

    Extension Introducer (0x21)

    0

    擴展導入符

    Byte

    Comment Label (0xFE)

    1

    注釋標簽

    Byte

    Comment Data

    0

    注釋數據

     
         

    Data Sub-blocks

     

       
     

    N-1

       

    Block Terminator

     

    塊結束符

    Byte

    圖6-14 注釋擴展塊

     

    10. 應用擴展塊

    應用擴展塊(Application Extension)包含制作該圖像文件的應用程序的相關信息,它的結構如圖6-15所示。

    7 6 5 4 3 2 1 0

    字節號

    域的名稱

    數據類型

    Extension Introducer (0x21)

    0

    擴展導入符

    Byte

    Extension Label (0xFF)

    1

    擴展標簽

    Byte

    Block Size

    0

    塊大小

    Byte

     

    1

       
     

    2

       
     

    3

       

    Application Identifier

    4

    應用程序標識符

    8 Bytes

     

    5

    (程序名稱)

     
     

    6

       
     

    7

       
     

    8

       
     

    9

       

    Appl. Authentication Code

    10

    應用程序識別碼

    3 Bytes

     

    11

       

           

    Application Data

     

    應用數據

    Data Sub-blocks

           

    Block Terminator

    0

     

    Byte

    圖6-15 應用擴展塊

     

    11. GIF文件結束塊

    結束塊(GIF Trailer)表示GIF文件的結尾,它包含一個固定的數值:0x3B。它具有如圖6-16所示的結構。

    7 6 5 4 3 2 1 0

    域的名稱

    數據類型

    GIF Trailer = 0x3B

    GFI文件結束塊

    Byte

    圖6-16 GIF文件結束塊

    6.2.4 速差表

    表6-04 GIF文件格式

    塊的名稱

    需要

    標簽

    擴展

    版本號.

    Application Extension(應用擴展)

    Opt. (*)

    0xFF (255)

    yes

    89a

    Comment Extension(注釋擴展)

    Opt. (*)

    0xFE (254)

    yes

    89a

    Global Color Table(全局彩色表)

    Opt. (1)

    none

    no

    87a

    Graphic Control Extension(圖形控制擴展)

    Opt. (*)

    0xF9 (249)

    yes

    89a

    Header(文件頭)

    Req. (1)

    none

    no

    N/A

    Image Descriptor(圖像描述)

    Opt. (*)

    0x2C (044)

    no

    87a (89a)

    Local Color Table(局部彩色表)

    Opt. (*)

    none

    no

    87a

    Logical Screen Descriptor(邏輯屏幕描述塊)

    Req. (1)

    none

    no

    87a (89a)

    Plain Text Extension(無格式文本擴展)

    Opt. (*)

    0x01 (001)

    yes

    89a

    Trailer(文件結束)

    Req. (1)

    0x3B (059)

    no

    87a

    Unlabeled Blocks(無標號塊)

    Header(文件頭)

    Req. (1)

    none

    no

    N/A

    Logical Screen Descriptor(邏輯屏幕描述塊)

    Req. (1)

    none

    no

    87a (89a)

    Global Color Table(全局彩色表)

    Opt. (1)

    none

    no

    87a

    Local Color Table(局部彩色表)

    Opt. (*)

    none

    no

    87a

    Graphic-Rendering Blocks(圖像描繪塊)

    Plain Text Extension(無格式文本擴展)

    Opt. (*)

    0x01 (001)

    yes

    89a

    Image Descriptor(圖像描述塊)

    Opt. (*)

    0x2C (044)

    no

    87a (89a)

    Control Blocks(控制塊)

    Graphic Control Extension(圖形控制擴展)

    Opt. (*)

    0xF9 (249)

    yes

    89a

    Special Purpose Blocks(專用塊)

    Trailer(結束)

    Req. (1)

    0x3B (059)

    no

    87a

    Comment Extension(注釋擴展)

    Opt. (*)

    0xFE (254)

    yes

    89a

    Application Extension(應用程序擴展)

    Opt. (*)

    0xFF (255)

    yes

    89a

    表中:Req. (1) 表示最多出現一次

    Opt. (*) 出現次數大于等于0

    posted on 2005-06-22 16:52 小米 閱讀(6971) 評論(0)  編輯  收藏 所屬分類: 其它
    主站蜘蛛池模板: 国产一级做a爱免费视频| 在线观看国产区亚洲一区成人 | a毛片成人免费全部播放| 亚洲线精品一区二区三区影音先锋| 99久久免费中文字幕精品| 在线观看亚洲AV日韩A∨| 久久精品国产亚洲Aⅴ蜜臀色欲| 亚洲成人免费电影| 日韩毛片在线免费观看| 亚洲AV无码码潮喷在线观看| 成全视频在线观看免费高清动漫视频下载| 牛牛在线精品观看免费正| 78成人精品电影在线播放日韩精品电影一区亚洲| 成人毛片视频免费网站观看| 你是我的城池营垒免费观看完整版| 中文字幕亚洲男人的天堂网络| 国产成人亚洲精品影院| 亚洲成在人线aⅴ免费毛片| 女人隐私秘视频黄www免费| 亚洲欧洲无卡二区视頻| 亚洲一区综合在线播放| vvvv99日韩精品亚洲| 三年片在线观看免费观看高清电影| a在线观看免费网址大全| 亚洲精品无码你懂的| 亚洲黄色在线视频| 久久亚洲国产精品123区| 免费无遮挡无码视频网站| 免费无遮挡无码永久视频| 2022免费国产精品福利在线| 亚洲午夜无码久久久久软件 | 亚洲欧美aⅴ在线资源| 亚洲日本va午夜中文字幕一区| 亚洲av午夜精品一区二区三区 | h视频在线观看免费完整版| xxxx日本在线播放免费不卡| 亚洲午夜无码久久久久软件| 亚洲春黄在线观看| 亚洲av福利无码无一区二区| 国产亚洲成人在线播放va| 全部免费a级毛片|