TGA(Truevision Graphics Adapter)文件格式由Truevision公司于1984年创建,可用于存储8位、15位、16位、24位、32位图像数据,支持alpha通道、颜色索引、RGB颜色、灰度图、行程压缩算法(RLE)、开发者自定义区、缩略图等。
一、TGA文件结构:
TGA扩展文件结构(v2.0)由五部分组成:
- 文件头 TGA File Header
- 图像/颜色表数据 Image/Color Map Data
- 开发者自定义区域 Developer Area
- 扩展区域 Extension Area
- 文件尾 TGA File Footer
TGA文件格式中字段的字节存储次序采用Little-Endian的方式,即小端在前。文件格式中的整型值字段均用无符号整型存储。对于颜色的存储,TGA规定按整型数据存储,颜色值各分量在整型数据中的存储顺序从高到低为(A)RGB。
二、TGA文件数据的组织方式
1、TGA File Header——18字节
2、Image/Color Map Data
3、Developer Area
开发者数据 Developer Data(可变长)
- 该字段的尺寸和格式是由开发者规定的。
- 读取包含这些信息的文件时,完全可以忽略它们,除非需要理解这些内容。
- 一个文件可能包含多个开发者字段,所以需要创建开发者目录 Developer Directory,其作用是Developer Area中的字段的映射表。
- Developer Directory可以使用偏移量来表示,存储在TGA File Footer的4-7字节内,该偏移量是从文件的起始位置算起至开发者目录的起始位置,如果偏移量为0,则不存在开发者字段。
4、Extension Area
- 该区域用于满足开发者对额外信息的需求。
- 该区域的位置也是通过保存在TGA文件注脚中的偏移量来确定的,如果该偏移量为0,则不存在拓展区域。
- 该区域包括拓展区域尺寸,作者名字,作者评论等额外信息
5、TGA File Footer——最后26字节
三、实例分析
使用FlexHEX对下图的TGA格式的图像进行文件格式解析: