TIFF图像文件(七):图像数据

Tiff的图像数据是分trip(条或带)保存,每个带保存n行。每个带数据分别保存。

一、每带保存的行数

由id=278(0x116)的IFD保存,如果采用lzw压缩,其取值一般而言=8K/width。因为lzw建议一次压缩的数据量不大于8K。

总带数=总行数/每带保存的行数;

二、带的数据地址

数据地址偏移量由id=273(0x111)的IFD保存。IFD由id,数据类型,数据长度,数据值或数据值的地址偏移量。

若有IFD:1101 0400 01000000 00C0;表示只有一个带数据,数据偏移地址是C000(假定该Tiff为"II"类,little-endian);

若有IFD:1101 0400 04000000 00C0;表示有4个数据带,4个数据的偏移地址要到C000开始取出;

三、带数据的长度

数据长度由id=279(0x117)的IFD保存。其值取得同上。

四、数据的存储形式

1、不压缩形式

按RGB或RGBA或CYMK等字节逐个保存,如下:

255 0 0 255 00 255 0 0 255 00 代表三个RGB点。

2、lzw压缩

每带数据以256开头,257结束。研究PSD的lzw压缩数据发现,lzw解压出来的数据并不是不压缩的形式,PSD还对原始数据进行了整理,即每行00 00 00 的数据等于前面不是00 00 00的数据值。如FF0000 FF0000 FF0000=》(整理)FF0000 000000 000000,对整理过的数据再lzw压缩,压缩率会提高。

3、其他压缩,未研究。

五、示例

1、2x2的红色色块,未压缩图像数据

FF
 
0000FF
 
0000FF
 
0000FF
 
0000

2、2x2的红色色块,压缩图像数据

80
 
3F
 
C0
 
1038
 
1C0A080080
 
80
 

lzw解压=>FF 00 00 00 00 00 FF 00 00 00 00 00=>(逆整理)FF 00 00 FF 00 00 FF 00 00;

附:

2x2的红色色块的文件内容,其中蓝色是0x111 IFD,粉色是地址,末尾的红色是图像数据。

00000000-0000000F49
I
49
I
2A
*
00080000001000FE
0004000100
00000010-0000001F00000000000000010300010000000200
00000020-0000002F00000101030001000000020000000201
00000030-0000003F030003000000CE
000000030103000100
00000040-0000004F00000500000006010300010000000200
00000050-0000005F0000110104000100000092
0500001501
00000060-0000006F03000100000003000000160103000100
00000070-0000007F00000200000017010400010000000B00
00000080-0000008F00001A01050001000000D4
0000001B01
00000090-0000009F050001000000DC
0000001C0103000100
000000A0-000000AF00000100000028
(
010300010000000200
000000B0-000000BF00003D
=
010300010000000200000049
I
86
000000C0-000000CF0100AE
040000E4
000000000000000800
000000D0-000000DF0800080080
FC
0A001027
'
000080
FC
0A00
000000E0-000000EF1027
'
000038
8
42
B
49
I
4D
M
03ED
000000000010
000000F0-000000FF0048
H
0000000100020048
H
000000010002
00000100-0000010F38
8
42
B
49
I
4D
M
040D00000000000400000078
x
00000110-0000011F38
8
42
B
49
I
4D
M
04190000000000040000001E
00000120-0000012F38
8
42
B
49
I
4D
M
03F3
00000000000900000000
00000130-0000013F00000000010038
8
42
B
49
I
4D
M
040A00000000
00000140-0000014F0001000038
8
42
B
49
I
4D
M
27
'
1000000000000A
00000150-0000015F0001000000000000000238
8
42
B
49
I
4D
M
03F5
00000160-0000016F000000000048
H
002F
/
66
f
66
f
0001006C
l
66
f
66
f
00000170-0000017F0006000000000001002F
/
66
f
66
f
000100A1
00000180-0000018F99
9A
00060000000000010032
2
00000001
00000190-0000019F005A
Z
000000060000000000010035
5
0000
000001A0-000001AF0001002D
-
0000000600000000000138
8
42
B
000001B0-000001BF49
I
4D
M
03F8
000000000070
p
0000FF
FF
FF
FF
000001C0-000001CFFF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
000001D0-000001DFFF
FF
03E8
00000000FF
FF
FF
FF
FF
FF
FF
FF
000001E0-000001EFFF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
03E8
000001F0-000001FF00000000FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
00000200-0000020FFF
FF
FF
FF
FF
FF
FF
FF
FF
FF
03E8
00000000
00000210-0000021FFF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
00000220-0000022FFF
FF
FF
FF
FF
FF
03E8
000038
8
42
B
49
I
4D
M
0408
00000230-0000023F0000000000100000000100000240
@
0000
00000240-0000024F0240
@
0000000038
8
42
B
49
I
4D
M
041E00000000
00000250-0000025F00040000000038
8
42
B
49
I
4D
M
041A00000000
00000260-0000026F006B
k
0000000600000000000000000000
00000270-0000027F0002000000020000000567
g
2A
*
68
h
0798
98
00000280-0000028F002D
-
0031
1
000000010000000000000000
00000290-0000029F00000000000000000000000100000000
000002A0-000002AF00000000000000020000000200000000
000002B0-000002BF00000000000000000000000000000000
000002C0-000002CF000000000000000000000000000038
8
42
B
000002D0-000002DF49
I
4D
M
0411000000000001010038
8
42
B
49
I
4D
M
000002E0-000002EF04140000000000040000000138
8
42
B
49
I
4D
M
000002F0-000002FF040C000000000238
8
0000000100000002
00000300-0000030F0000000200000008000000100000021C
00000310-0000031F00180001FF
D8
FF
E0
00104A
J
46
F
49
I
46
F
0001
00000320-0000032F02010048
H
0048
H
0000FF
EE
000E41
A
64
d
6F
o
62
b
00000330-0000033F65
e
0064
d
80
00000001FF
DB
0084
000C0808
00000340-0000034F0809080C09090C110B0A0B11150F0C0C
00000350-0000035F0F1518131315131318110C0C0C0C0C0C
00000360-0000036F110C0C0C0C0C0C0C0C0C0C0C0C0C0C0C
00000370-0000037F0C0C0C0C0C0C0C0C0C0C0C0C0C010D0B
00000380-0000038F0B0D0E0D100E0E10140E0E0E14140E0E
00000390-0000039F0E0E14110C0C0C0C0C11110C0C0C0C0C
000003A0-000003AF0C110C0C0C0C0C0C0C0C0C0C0C0C0C0C
000003B0-000003BF0C0C0C0C0C0C0C0C0C0C0C0C0C0CFF
C0
000003C0-000003CF00110800020002030122
"
000211010311
000003D0-000003DF01FF
DD
00040001FF
C4
013F
?
0000010501
000003E0-000003EF01010101010000000000000003000102
000003F0-000003FF0405060708090A0B0100010501010101
00000400-0000040F01010000000000000001000203040506
00000410-0000041F0708090A0B1000010401030204020507
00000420-0000042F060805030C33
3
01000211030421
!
1231
1
05
00000430-0000043F41
A
51
Q
61
a
1322
"
71
q
81
32
2
061491
A1
B1
42
B
23
#
24
$
00000440-0000044F1552
R
C1
62
b
33
3
34
4
72
r
82
D1
43
C
0725
%
92
53
S
F0
E1
00000450-0000045FF1
63
c
73
s
35
5
16A2
B2
83
26
&
44
D
93
54
T
64
d
45
E
C2
A3
00000460-0000046F74
t
36
6
17D2
55
U
E2
65
e
F2
B3
84
C3
D3
75
u
E3
F3
46
F
00000470-0000047F27
'
94
A4
85
B4
95
C4
D4
E4
F4
A5
B5
C5
D5
E5
F5
00000480-0000048F56
V
66
f
76
v
86
96
A6
B6
C6
D6
E6
F6
37
7
47
G
57
W
67
g
77
w
00000490-0000049F87
97
A7
B7
C7
D7
E7
F7
1100020201020404
000004A0-000004AF030405060707060535
5
010002110321
!
31
1
000004B0-000004BF120441
A
51
Q
61
a
71
q
22
"
130532
2
81
91
14A1
B1
42
B
000004C0-000004CF23
#
C1
52
R
D1
F0
33
3
24
$
62
b
E1
72
r
82
92
43
C
53
S
1563
c
000004D0-000004DF73
s
34
4
F1
25
%
0616A2
B2
83
0726
&
35
5
C2
D2
44
D
93
000004E0-000004EF54
T
A3
1764
d
45
E
55
U
36
6
74
t
65
e
E2
F2
B3
84
C3
D3
75
u
000004F0-000004FFE3
F3
46
F
94
A4
85
B4
95
C4
D4
E4
F4
A5
B5
C5
D5
00000500-0000050FE5
F5
56
V
66
f
76
v
86
96
A6
B6
C6
D6
E6
F6
27
'
37
7
47
G
00000510-0000051F57
W
67
g
77
w
87
97
A7
B7
C7
FF
DA
000C03010002
00000520-0000052F110311003F
?
00E7
125C
\
6A
j
4B
K
15F4
E7
FF
D9
00000530-0000053F38
8
42
B
49
I
4D
M
0421
!
000000000055
U
00000001
00000540-0000054F010000000F0041
A
0064
d
006F
o
0062
b
0065
e
00
00000550-0000055F200050
P
0068
h
006F
o
0074
t
006F
o
0073
s
0068
h
00
00000560-0000056F6F
o
0070
p
000000130041
A
0064
d
006F
o
0062
b
00
00000570-0000057F65
e
00200050
P
0068
h
006F
o
0074
t
006F
o
0073
s
00
00000580-0000058F68
h
006F
o
0070
p
00200036
6
002E
.
0030
0
000000
00000590-0000059F010080
3F
?
C0
1038
8
1C0A080080
80
00
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值