TGA图像文件格式解析

一、TGA图像文件格式概述

1. 图像格式

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

TGA格式(Tagged Graphics)是由美国Truevision公司为其显示卡开发的一种图像文件格式,文件后缀为“.tga”,已被国际上的图形、图像工业所接受。

2. 结构

TGA的结构比较简单,属于一种图形、图像数据的通用格式,在多媒体领域有很大影响,是计算机生成图像向电视转换的一种首选格式。

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

3. 压缩

TGA格式支持压缩,使用不失真的压缩算法。

在工业设计领域,使用三维软件制作出来的图像可以利用TGA格式的优势,在图像内部生成一个Alpha(通道),这个功能方便了在平面软件中的工作。

二、TGA格式解析(含实例分析)

在这里插入图片描述

名称偏移长度说明实例分析
图像信息字段长度01本字段是 1字节无符号整型,指出图像信息字段(见本子表的后面)长度,其取值范围是 0到 255,当它为 0时表示没有图像的信息字段。为0,说明没有图像的信息字段
颜色表类型110 表示没有颜色表,1表示颜色表存在。由于本格式是无颜色表的,因此此项通常被忽略。为0,无颜色表
图像类型码212:非压缩RGB格式
10:压缩RGB格式
2:非压缩RGB格式
颜色表首址32颜色表首的入口索引,整型(低位-高位)为0,则忽略该字段
颜色表的长度52颜色表的表项总数,整型(低位-高位)为0,则忽略该字段
颜色表项位数71位数(bit),16代表 16位 TGA,24代表 24位 TGA,32代表 32位 TGA为0,则忽略该字段
图像X 坐标起始位置82图像左下角X坐标的整型(低位-高位)值0
图像Y 坐标起始位置102图像左下角 Y坐标的整型(低位-高位)值0
图像宽度122以像素为单位,图像宽度的整型(低位-高位)16(H)=22(D)
图像高度142以像素为单位,图像宽度的整型(低位-高位)16(H)=22(D)
图像每像素存储占用位数162它的值为16,24或 32等等。决定了该图像是 TGA 16,TGA24,TGA 32等等。18(H)=24(D),该图像是 TGA 24
图像描述符字节171bits 3-0 -每像素对应的属性位的位数;对于TGA 16,该值为 0或 1,对于 TGA24,该值为 0,对于 TGA 32,该值为 8。
bit 4 - 保留,必须为 0
bit 5 - 屏幕起始位置标志,0 =原点在左下角,1 =原点在左上角,对于 truevision图像必须为 0。
bits 7-6 -交叉数据存储标志。00 =无交叉,01 =两路奇/偶交叉,10 =四路交叉,11 =保留。
0
图像信息字段18可变包含一个自由格式的,长度是图像由“图像信息字段”指定。它常常被忽略(即偏移 0处值为 0),注意其最大可以含有 255个字符。如果需要存储更多信息,可以放在图像数据之后。/
颜色表数据可变可变如果颜色表类型为 0,则该域不存在,否则越过该域直接读取图像颜色表规格中描述了每项的字节数,为 2,3,4之一。无颜色表
图像数据可变可变非压缩RGB格式:RGB颜色数据,存放顺序为:BBB GGG RRR (AAA)
压缩RGB格式:采用RLE压缩后的RGB颜色数据。
非压缩RGB格式
开发者自定义区域可变可变包含开发者定义字段列表和开发者字典(用于存储开发者定义字段的值),该区域为开发者扩展该文件格式提供接口,以便存储额外的信息。/
扩展区域可变可变由扩展区域大小、作者姓名、作者注释、日期/时间、工作名称/ID、工作累计耗时、编辑软件的名称、编辑软件的版本、关键颜色、像素宽高比、灰度值、颜色校正表偏移量、缩略图偏移量、扫描线表偏移量、alpha通道类型、扫描线表、缩略图图像数据和颜色校正表组成,为Truevision公司定义的标准扩展功能,以提供更多的图像附加信息。/
文件尾可变可变由扩展区域偏移量、开发者目录偏移量和TGA文件扩展格式签名三部分组成,用于验证TGA文件扩展格式,并可以确定扩展区域和开发者字典的位置。/

三、总结

1. 六种图像类型

  1. 数据类型1:颜色映射图
    字段 2:Color-Map Type(1 Byte)必须为0x01
    字段3:Image Type 必须为0x01

  2. 数据类型2:真彩图
    字段2:Color-Map Type(1 Byte)必须为0x00
    字段3:Image Type 必须为0x02

  3. 数据类型3:黑白图(未映射)
    字段2:Color-Map Type(1 Byte)必须为0x00
    字段3:Image Type 必须为0x03

  4. 数据类型4:行程编码(RLE),颜色映射图
    字段2:Color-Map Type(1 Byte)必须为0x01
    字段3:Image Type 必须为0x09

  5. 数据类型5:行程编码(RLE),真彩图
    字段2:Color-Map Type(1 Byte)必须为0x00
    字段3:Image Type 必须为0x0A

  6. 数据类型6:行程编码(RLE),黑白图
    字段2:Color-Map Type(1 Byte)必须为0x00
    字段3:Image Type 必须为0x0B

2. tga应用模式

  1. 未压缩的颜色表图像:这种类型的格式用于存储基于颜色表的图像(像素值用颜色索引表示),文件头中的颜色表类型(Field2)项的值必须为1,图像类型(Field3)必须为1。
  2. 未压缩的真彩色图像:这种类型的格式用于存储用(A)RGB值表示的像素数据,文件头中的颜色表类型(Field2)项的值必须为0,图像类型(Field3)必须为2。
  3. 未压缩的黑白图像:这种类型的格式用于存储灰度值表示的像素数据,文件头中的颜色表类型(Field2)项的值必须为0,图像类型(Field3)必须为3。
  4. RLE压缩的颜色表图像:这种类型的格式用于存储基于颜色表的图像(像素值用颜色索引表示),存储数据时采用RLE压缩算法,文件头中的颜色表类型(Field2)项的值必须为1,图像类型(Field3)必须为9。
  5. RLE压缩的真彩色图像:这种类型的格式用于存储用(A)RGB值表示的像素数据,存储数据时采用RLE压缩算法,文件头中的颜色表类型(Field2)项的值必须为0,图像类型(Field3)必须为10。
  6. RLE压缩的黑白图像:这种类型的格式用于存储灰度值表示的像素数据,存储数据时采用RLE压缩算法,文件头中的颜色表类型(Field2)项的值必须为0,图像类型(Field3)必须为11。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值