一、 介紹
TIFF全名 tag image file format,是一種基于標(biāo)志域的圖形。
TIFF圖像是靠指針連接來(lái)組織數(shù)據(jù)的,文件頭和數(shù)據(jù)可以任意數(shù)據(jù)的存儲(chǔ)。TIFF由四種類型:TIFF-B,二色;TIFF-G,黑白灰度;TIFF-P,帶調(diào)色板的彩色圖形;TIFF-R,適合RGB色彩的圖形。
二、 組成
TIFF一般來(lái)說(shuō)由四部分組成:文件頭、文件目錄、目錄內(nèi)容、圖像數(shù)據(jù);如下圖,下面具體說(shuō)明。

三、 具體格式
1. 文件頭部分
文件頭部分有8個(gè)字節(jié),格式為:
0 2 4
II/MM(表示字節(jié)序) |
42(版本號(hào)) |
文件目錄在整個(gè)文件的偏移量,是一個(gè)指針,指向IFD的開(kāi)始部分 |
5 8
注意這里的值不一定就是緊接頭后的0A地址,可以是任意的。
2. 文件目錄部分
0 2 14
IFD的總項(xiàng)數(shù) |
項(xiàng)1(12個(gè)字節(jié)) |
項(xiàng)2。。。。(12個(gè)字節(jié)) |
下一個(gè)IFD的開(kāi)始地址(用于保存多個(gè)文件) |
每個(gè)項(xiàng)的12個(gè)字節(jié),其是連續(xù)的,有前兩個(gè)字節(jié)說(shuō)明其項(xiàng)的總數(shù)。對(duì)于不同的TIFF格式文件,這里的不同。
3. 目錄項(xiàng)
每個(gè)目錄項(xiàng)由12個(gè)字節(jié)組成,格式如下:
TAG(2個(gè)字節(jié)) |
TAG的數(shù)據(jù)類型 |
數(shù)據(jù)長(zhǎng)度 |
數(shù)據(jù)值或值的偏移(文件范圍) |
TAG的值由TIFF標(biāo)準(zhǔn)定義;不同的TAG表示不同的意思,例如0X0100表示圖像的寬度。
TAG的數(shù)據(jù)類型表示數(shù)據(jù)值的類型;例如使用long類型來(lái)表示寬度。
數(shù)據(jù)長(zhǎng)度是以數(shù)據(jù)類型為單位的,真正的數(shù)據(jù)長(zhǎng)度是:數(shù)據(jù)長(zhǎng)度*sizeof(數(shù)據(jù)類型)
數(shù)據(jù)值或值的偏移:如果數(shù)據(jù)長(zhǎng)度小于4個(gè)字節(jié),一般直接以該字段來(lái)表示其值,如果其值大于4個(gè)字節(jié),就指定一個(gè)文件范圍的偏移地址,從那里開(kāi)始的“數(shù)據(jù)長(zhǎng)度*sizeof(數(shù)據(jù)類型)”個(gè)字節(jié)表示該標(biāo)志的值。
4. 圖像數(shù)據(jù):
緊接上面數(shù)據(jù)之后就是圖像數(shù)據(jù)了;圖像數(shù)據(jù)的存儲(chǔ)形式有不同的形式,有以像素位來(lái)存儲(chǔ)的,也有以顏色面來(lái)存儲(chǔ)的;具體的存儲(chǔ)方式在目錄項(xiàng)中定義。
四、 一些TAG值
TAG值 |
說(shuō)明 |
十進(jìn)制 |
16進(jìn)制 |
256 |
100 |
圖像寬度 |
257 |
101 |
圖像高度 |
258 |
102 |
BitsPerSample,對(duì)于RGB是8,8,8,通過(guò)偏移來(lái)表示 |
259 |
103 |
壓縮方式(1/2/32773),1為不壓縮 |
262 |
106 |
光度滴定,對(duì)于RGB圖,該值是2 |
273 |
111 |
帶的偏移,每個(gè)帶是不同的 |
277 |
115 |
每像素的顏色成分,對(duì)于RGB這個(gè)值一般是3,如果需要其他有ExtraSamples標(biāo)志 |
278 |
116 |
每帶的行數(shù) |
279 |
117 |
每帶中壓縮之后的數(shù)據(jù)字節(jié)常長(zhǎng)度 |
284 |
11C |
每個(gè)分量(R,G,B)是怎么存儲(chǔ)的,1表示按照RGBRGB的順序來(lái)存儲(chǔ) |
296 |
128 |
Xresolution和Yresolution的單位 |
更多的參考TIFF標(biāo)準(zhǔn)
五、 一個(gè)TIFF文件格式分析

為了保證圖片的寬度,不得不將一些文字折行。