TGA編碼

TGA格式是Truevision公司設計並負責解釋的圖像格式。TGA也包含了多種變體,TGA檔案的第三個位元組用來區別不是TGA的檔案。

基本介紹

  • 中文名:TGA格式
  • 性質圖像格式
  • 單位:Truevision公司
  • 特徵:多種變體
該位元組的值(二進制整數)及對應的檔案類型如下。
l 0:檔案中沒有圖像數據。
l 1:未壓縮的,顏色表圖像。
l 2:未壓縮的,RGB圖像。
l 3:未壓縮的,黑白圖像。
l 9:遊程長度(Runlength)編碼的顏色表圖像
l 10:遊程長度(Runlength)編碼的RGB圖像。
l 11:壓縮的,黑白圖像。
l 32:使用Huffman、Delta和Runlength編碼的顏色表圖像。
l 33:使用Huffman、Delta和Runlength編碼的顏色映射圖像,四叉樹類型處理
1. 數據類型1:未壓縮的顏色表(color-mapped)圖像TGA未壓縮顏色表圖像格式的說明如表1.1所示。
表1.1 TGA未壓縮顏色表圖像格式說明
偏移(位元組)
長度(位元組)
描述
0
1
圖像信息欄位(見本子表的後面)的字元數。本欄位是1位元組無符號整型,指出了圖像格式區別欄位長度,其取值範圍是0到255,當它為0時表示沒有圖像的信息欄位
1
1
顏色表的類型。該欄位為表示對應格式1的圖像而包含一個二進制1
2
1
圖像類型碼。該欄位總為1,這也是此類型為格式1的原因
3
5
顏色表規格,顏色表首址
3
2
顏色表首元表項的整型(低位-高位)索引
5
2
顏色表的長度。顏色表的表項總數,整型(低位-高位)
7
1
顏色表表項的位(bit)數。16代表16位TGA、24代表24位TGA、32代表32位TGA
8
10
圖像規格
8
2
圖像X坐標的起始位置。圖像左下角X坐標的整型(低位-高位)值
10
2
圖像Y坐標的起始位置。圖像左下角Y坐標的整型(低位-高位)值
12
2
圖像寬度。以像素為單位,圖像寬度的整型(低位-高位)值
14
2
圖像高度。以像素為單位,圖像高度的整型(低位-高位)值
16
1
圖像每像素存儲占用位(bit)數
17
1
圖像描述符位元組
bits 3~0:每像素的屬性位(bit)數
bit 4:保留,必須為0
bit 5:螢幕起始位置標誌
0:原點在左下角
1:原點在左上角
Truevision圖像必須為0bits 7~6:交叉數據存儲標誌
00:無交叉
01:兩路奇/偶交叉
10:四路交叉
11:保留
18
可變
圖像信息欄位。包含一個自由格式的,長度是圖像記錄塊偏移0處的位元組中的值。它常常被忽略(即偏移0處值為0),其最大可以含有255個字元。如果需要存儲更多信息,可以放在圖像數據之後
(續表)
偏移(位元組)
長度(位元組)
描述
可變
可變
顏色表數據。起始位置由前一個欄位的大小決定;其長度由單項數據大小和數據項數目決定(在前面相應的說明欄位中給出),每項是2位元組、3位元組或4位元組,位元組中沒有使用的位(bit)被認為是屬性位
(1)4位元組表項中,位元組1表示BLUE,位元組2表示GREEN,位元組3表示RED,位元組4表示屬性
(2)3位元組表項中各位元組依次對應BLUE、GREEN、RED
(3)2位元組表項中,兩個位元組分解成如下形式:arrrrrgg gggbbbbb,但是,由於低位在前,高位在後的存儲順序,從檔案中讀出表項時,將先讀入gggbbbbb而後讀入arrrrrgg,a表示屬性位
可變
可變
圖像數據欄位。該欄位給出了(高度)×(寬度)個顏色表項索引,每個索引以整數個位元組的形式存儲(典型的例子如1或2個位元組)所有的數據都沒有符號,對於2位元組表項而言,低位位元組是先存儲的
2. 數據類型2:未壓縮的無顏色表RGB圖像TGA未壓縮的無顏色表RGB圖像格式的說明如表1.2所示。
表1.2 TGA未壓縮的無顏色表RGB圖像格式說明
偏移(位元組)
長度(位元組)
描述
0
1
圖像信息欄位(見本子表的後面)的字元數。本欄位是1位元組無符號整型,指出了圖像格式區別欄位的長度,其取值範圍是0到255,當它為0時表示沒有圖像的信息欄位
1
1
顏色表類型。該欄位的內容或者為0或者為1;0表示沒有顏色表,1表示顏色表存在。由於本格式是無顏色表的,因此此項通常被忽略
2
1
圖像類型碼。該欄位總為2,這也是此類型為格式2的原因
3
5
顏色表規格。如果顏色表類型欄位為0則被忽略;否則描述如下
3
2
顏色表首址。顏色表首元入口的整型(低位-高位)索引
5
2
顏色表的長度。顏色表的表項總數,整型(低位-高位)
7
1
顏色表表項的位(bit)數。16代表16位TGA、24代表24位TGA、32代表32位TGA
8
10
圖像規格
8
2
圖像X坐標起始位置。圖像左下角X坐標的整型(低位-高位)值
10
2
圖像Y坐標起始位置。圖像左下角Y坐標的整型(低位-高位)值
12
2
圖像寬度。以像素為單位,圖像寬度的整型(低位-高位)值
14
2
圖像高度。以像素為單位,圖像高度的整型(低位-高位)值
16
1
圖像每像素存儲占用位(bit)數。它的值為16、24或32等,決定了該圖像是TGA 16、TGA24、TGA 32等
(續表)
偏移(位元組)
長度(位元組)
描述
17
1
圖像描述符位元組
bits 3~0:每像素對應的屬性位的位數;對於TGA 16,該值為0或1;對於TGA 24,該值為0;對於TGA 32,該值為8bit 4:保留,必須為0bit 5:螢幕起始位置標誌
0:原點在左下角
1:原點在左上角
Truevision圖像必須為0bits 7~6:交叉數據存儲標誌
00:無交叉
01:兩路奇/偶交叉
10:四路交叉
11:保留
18
可變
圖像信息欄位。包含一個自由格式的,長度是圖像記錄塊偏移0處的位元組中的值。它常常被忽略(即偏移0處值為0),注意其最大可以含有255個字元。如果需要存儲更多信息,可以放在圖像數據之後
可變
可變
顏色表數據。如果顏色表類型為0,則該域不存在,否則越過該域直接讀取,圖像顏色表規格中描述了每項的位元組數,為2、3、4之一
可變
可變
圖像數據域。這裡存儲了(寬度)×(高度)個像素,每個像素中的rgb色值;該色值包含整數個位元組
(1)3位元組表項中各位元組依次對應BLUE、GREEN、RED。
(2)2位元組表項中,兩個位元組分解成如下形式:arrrrrgg gggbbbbb,但是,由於低位在前,高位在後的存儲順序,從檔案中讀出表項時,將先讀入gggbbbbb而後讀入arrrrrgg;a表示屬性位
(3)4位元組表項包含了分別代表blue、green、red及屬性的四個位元組。
(由於硬體上的原因)有的時候TGA 24類型的圖像也像TGA 32類型的圖像那樣存儲
3. 數據類型9:帶顏色表的遊程長度(Runlength)編碼圖像帶顏色表的遊程長度編碼TGA圖像格式的說明如表1.3所示。
表1.3 帶顏色表的遊程長度編碼TGA圖像格式說明
偏移(位元組)
長度(位元組)
描述
0
1
圖像信息欄位(見本子表的後面)的字元數。本欄位是1位元組無符號整型,指出了圖像格式區別欄位長度,其取值範圍是0到255,當它為0時表示沒有圖像的信息欄位
1
1
顏色表的類型。該欄位為表示對應帶顏色表的圖像而總為1
2
1
圖像類型碼。本類型該欄位為二進制9
(續表)
偏移(位元組)
長度(位元組)
描述
3
5
顏色表規格。如果顏色表類型欄位為0則被忽略;否則描述如下
3
2
顏色表首址。顏色表首元入口的整型(低位-高位)索引
5
2
顏色表的長度。顏色表的表項總數,整型(低位-高位)
7
1
顏色表表項的位(bit)數。16代表16位TGA、24代表24位TGA、32代表32位TGA
8
10
圖像規格
8
2
圖像X坐標起始位置。圖像左下角X坐標的整型(低位-高位)值
10
2
圖像Y坐標起始位置。圖像左下角Y坐標的整型(低位-高位)值
12
2
圖像寬度。以像素為單位,圖像寬度的整型(低位-高位)值
14
2
圖像高度。以像素為單位,圖像高度的整型(低位-高位)值
16
1
圖像每像素存儲占用位(bit)數
17
1
圖像描述符位元組
bits 3~0:每像素的屬性位(bit)數
bit 4:保留,必須為0
bit 5:螢幕起始位置標誌
0:原點在左下角
1:原點在左上角
Truevision圖像必須為0
bits 7~6:交叉數據存儲標誌
00:無交叉
01:兩路奇/偶交叉
10:四路交叉
11:保留
18
可變
圖像信息欄位。包含一個自由格式的,長度是圖像記錄塊偏移0處的位元組中的值。它常常被忽略(即偏移0處值為0),其最大可以含有255個字元。如果需要存儲更多信息,可以放在圖像數據之後
可變
可變
顏色表數據。起始位置由前一個欄位的大小決定;其長度由單項數據大小和數據項數目決定(在前面相應的說明欄位中給出),每項是2位元組、3位元組或4位元組,位元組中沒有使用的位(bit)被認為是屬性位。
(1)4位元組表項中,位元組1表示BLUE、位元組2表示GREEN、位元組3表示RED、位元組4表示屬性。
(2)3位元組表項中各位元組依次對應BLUE、GREEN、RED。(3)2位元組表項中,兩個位元組分解成如下形式:arrrrrgg gggbbbbb,但是,由於低位在前,高位在後的存儲順序,從檔案中讀出表項時,將先讀入gggbbbbb而後讀入arrrrrgg,a表示屬性位
(續表)
偏移(位元組)
長度(位元組)
描述
可變
可變
圖像數據域。本區域給出了(寬度)×(高度)個顏色表索引,這些索引存放在數據包中;有兩種類型的數據包:run-length數據包以及未加工的數據包。每種類型的數據包含有1位元組的頭信息(其中指出了數據包類型和數目),其後是可變長度的數據域,頭信息中最高位為1表示run-length類型的數據包,當它為0時,表示未加工的數據包。
對於run-length數據包,頭信息含義如下。
1 bit id:7位的重複記數減1。由於7位表示的最大值為127,故最大的運行大小為128。
1:c c c c c c c。
對於未加工的數據包,頭信息的含義如下。
1 bit id:7位的像素個數減1。由於7位表示的最大值為127,故該類型的一個數據包中像素個數不能大於128。
0:n  n  n  n  n  n  n。
對於run-length數據包而言,頭信息之後是一個簡單的顏色索引,且假定該索引被重複頭信息中低7位表示的次數,run-length數據包也許會跨越掃描線(掃描線起始於某行結束於下一行);對於未加工的數據包,頭信息之後是顏色索引(數值由頭信息給出),該類型的數據包也可能跨越掃描線
4. 數據類型10:遊程長度(Runlength)編碼的RGB圖像遊程長度編碼的RGB TGA圖像格式說明如表1.4所示。
表1.4 遊程長度編碼的RGB TGA圖像格式說明
偏移(位元組)
長度(位元組)
描述
0
1
圖像信息欄位(見本子表的後面)的字元數。本欄位是1位元組無符號整型,指出了圖像格式區別欄位長度,其取值範圍是0到255,當它為0時表示沒有圖像的信息欄位
1
1
該欄位的內容或者為0或者為1;0表示沒有顏色表,1表示顏色表存在。由於本格式是無顏色表的,因此此項通常被忽略
2
1
圖像類型代碼。本類型該欄位為二進制10
3
5
顏色表規格。如果顏色表類型欄位為0則被忽略;否則描述如下
3
2
顏色表首址。顏色表首元入口的整型(低位-高位)索引
5
2
顏色表的長度。顏色表的表項總數,整型(低位-高位)
7
1
顏色表表項的位(bit)數。16代表16位TGA、24代表24位TGA、32代表32位TGA
8
10
圖像規格
8
2
圖像X坐標起始位置。圖像左下角X坐標的整型(低位-高位)值
(續表)
偏移(位元組)
長度(位元組)
描述
10
2
圖像Y坐標起始位置。圖像左下角Y坐標的整型(低位-高位)值
12
2
圖像寬度。以像素為單位,圖像寬度的整型(低位-高位)值
14
2
圖像高度。以像素為單位,圖像寬度的整型(低位-高位)值
16
1
圖像每像素存儲占用位(bit)數
17
1
圖像描述符位元組
bits 3~0:每像素的屬性位(bit)數;bit 4:保留,必須為0;bit 5:螢幕起始位置標誌;0:原點在左下角;1:原點在左上角;Truevision圖像必須為0;bits 7~6:交叉數據存儲標誌;00:無交叉;01:兩路奇/偶交叉;10:四路交叉;11:保留
18
可變
圖像信息欄位。包含一個自由格式的,長度是圖像記錄塊偏移0處的位元組中的值。它常常被忽略(即偏移0處值為0),其最大可以含有255個字元。如果需要存儲更多信息,可以放在圖像數據之後
可變
可變
顏色表數據。如果顏色表類型為0,則該域不存在,否則越過該域直接讀取;圖像顏色表規格中描述了每項的位元組數,為2、3、4之一
可變
可變
圖像數據域。本區域給出了(寬度)×(高度)個顏色表索引,這些索引存放在數據包中;有兩種類型的數據包:run-length數據包以及未加工的數據包,每種類型的數據包含有1位元組的頭信息(其中指出了數據包類型和數目),其後是可變長度的數據域,頭信息中最高位為1表示run-length類型的數據包,當它為0時,表示未加工的數據包。
對於run-length數據包,頭信息含義如下。
1 bit id:7位的重複記數減1。由於7位表示的最大值為127,故最大的運行大小為128。
1:c  c  c  c   c  c  c。
對於未加工數據包,頭信息的含義如下。
1 bit id:7位的像素個數減1。由於7位表示的最大值為127,故該類型的一個數據包中像素個數不能大於128。
0:n  n  n  n  n  n  n。
對於run length數據包,頭信息之後是一個簡單顏色值,且假定該值重複的次數為頭信息中記錄的數,run-length數據包也許會跨越掃描線(掃描線起始於某行結束於下一行);對於未加工的數據包,頭信息之後是顏色值(數目由頭信息指出)。顏色表項自身有2位元組、3位元組或4位元組。
(1)3位元組表項中各位元組依次對應BLUE、GREEN、RED。
(2)2位元組表項中,兩個位元組分解成如下形式:arrrrrgg gggbbbbb,但是,由於低位在前,高位在後的存儲順序,從檔案中讀出表項時,將先讀入gggbbbbb而後讀入arrrrrgg;a表示屬性位。
(3)4位元組表項包含了分別代表blue、green、red及屬性的4個位元組。
(由於硬體上的原因)有的時候TGA 24類型的圖像也像TGA 32類型的圖像那樣存儲

相關詞條

熱門詞條

聯絡我們