数据压缩第二次作业:TGA文件分析

  • Post author:
  • Post category:其他


TGA(Targa)格式是计算机上应用最广泛的图象格式。在兼顾了BMP的图象质量的同时又兼顾了JPEG的体积优势。并且还有自身的特点:通道效果、方向性。在CG领域常作为影视动画的序列输出格式,因为兼具体积小和效果清晰的特点。TGA格式支持压缩,使用不失真的压缩算法。

TGA图像格式最大的特点是可以做出不规则形状的图形、图像文件,一般图形、图像文件都为正方形,若需要有圆形、棱形甚至是镂空的图像文件时,TGA就可以派上用场了。

TGA文件结构由五部分组成:文件头,图像/颜色表数据,开发者自定义区域,扩展区域和文件尾。


文件头

:由图像描述信息字段长度,颜色表类型,图像类型,颜色表说明和图像说明五个字段组成,总计18字节,描述了图像存储的基本信息,应用程序可根据该部分字段值读写图像数据。


图像/颜色表数据

:由图像描述信息(可选),颜色表数据和图像数据三部分组成,用于存储图片的图像信息。


开发者自定义区域

:包含开发者定义字段列表和开发者字典(用于存储开发者定义字段的值),该区域为开发者扩展该文件格式提供接口,以便存储额外的信息。


扩展信息

:由扩展区域大小,作者姓名,作者注释,日期/时间,工作名称/ID,工作累计耗时,编辑软件的名称,编辑软件的版本,关键颜色,像素宽高比,灰度值,颜色校正表偏移量,缩略图偏移量,扫描线表偏移量,alpha通道类型,扫描线表,缩略图图像数据和颜色校正表组成。


文件尾

:由扩展区域偏移量,开发者目录偏移量和TGA文件扩展格式签名三部分组成,用于验证TGA文件扩展格式,并可以确定扩展区域和开发者字典的位置。

字段:

使用FlexHex打开一张TGA格式的文件,信息如下(TGA文件格式中字段的字节存储次序采用Little-Endian的方式,即小端在前。)


一.文件头

(1)

图像描述信息字段长度(ID Length)

:大小为1字节,“00”表示字段6“图像描述信息”大小为0,即没有图像描述信息。

(2)

颜色表类型(Color Map Type)

:大小为1字节,“00”表示不使用颜色表。

(3)

图像类型(Image Type)

:大小为1字节,”02″表示改图是未压缩的真彩色图像。

(4)

颜色表说明(Color Map Specification)

:大小为5字节,“0”表示该图无颜色表。

(5)

图像说明(Image Specification)

:大小为10字节,1-2字节“0000”表示坐标原点x值为0,3-4字节“0000”表示坐标原点y值为0,5-6字节“0008”表示该图宽度为0800H(即2048),7-8字节“0008”表示该图高度为0800H(即2048),第9字节“18″表示像素深度为18H(十进制表示为24),第10字节”00“表示图像坐标原点位置在左下角。


二.图像/颜色表数据

(1)

图像描述信息(可选)

:字段1″ID Length”为0,即不含图像描述信息

(2)

颜色表数据

:字段2″Color Map Type”为0,即不含颜色表数据

(3)

图像数据

:该图像大小为2048*2048,像素深度为24位,图像数据应为2048*2048*24bit(即12582912字节)。


三.文件尾

该文件大小为12582956字节,除文件头和图像/颜色表数据18+12582912=12582930字节外,还有26字节。最后这26字节表示

文件注脚

。1-4字节为拓展区域偏移量,5-8字节为开发者区域偏移量,9-24字节为签名,第25字节为TGA文件结束字符,最后1字节为文件结束符。因此该文件无拓展区域偏移量,无开发者区域偏移量。



版权声明:本文为m0_54222259原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。