首页 > 编程知识 正文

TGA格式,TGA像分析

时间:2023-05-05 23:38:21 阅读:210467 作者:2389

TGA图片格式解析 准备工作

1.下一个FlexHex工具用于以二进制方式打开文件
2.拿一张好看点的图片,先在ps里面打开, 再在“另存为“里面存储为TGA格式

TGA格式

TGA格式文件结构由五部分组成

1.文件头

由图像信息字段长度、颜色表类型、图像类型、颜色表规范和图像规范五个字段组成,总计18字节。

2.图像/颜色表数据

由图像信息,颜色表数据,图像数据三个字段组成,字节数可变

3. 开发者自定义区域

包含开发者定义字段列表和开发者字典(用于存储开发者定义字段的值),该区域为开发者扩展该文件格式提供接口,以便存储额外的信息。该字段的长度和格式是由开发者决定的,读取TGA格式的文件时大多时候可以忽略这些字段。

4. 扩展区域

包括作者姓名,创作日期,累计耗时等附加信息。

5. 文件尾

包含3、4部分的偏移量,以及结束字符,总计26个字节。

实例分析

选取好看的猫猫.tga图片
解析得到整个文件的二进制形式

我们先看前18个字节,即文件头

1. 第一个字节为 00:不包含图像信息字段
2. 第二个字节为 00:不包含颜色表字段
3. 第三个字节为 02:未压缩的真彩色图
4. 由于该图像不包含颜色表,所以第四到八位都为 00
5. 第九到十二位都为 00:x和y轴都是从0开始的,即从左下角原点开始
6. 第十三和十四位为 B2 02:低位在前,高位在后,所以换算成十进制就是宽度为690
7. 第十五和十六位为 97 02:换算成十进制就是高度为663
8. 第十七和十八位为 18 00:表示这是24位的真彩色图像

没错,因为我从ps里面导出的时候选的就是24位,所以不包含颜色表。

图像部分占 663x690x3 = 1372410个字节
文件头和文件尾占 18+26 = 44个字节
加起来刚好 1372454个字节
也就意味着没有开发者自定义区段和扩展区段

由于该图像没有颜色表字段和图像信息字段
所以从第十九个字符开始都是图像数据部分,一共有1372410个字节

我们再来看倒数26个字节
前八个字节都为 00:没有扩展区域字段和开发者自定义区域字段,前后呼应。
中间十六个字节,一个字节一个字节查ASCII码表,刚好是“TRUEVISION-XFILE”,所以该TGA文件为v2.0的TGA扩展格式文件。
倒数第二个字节为 2E:查找ASCII码表对应 “.” 这个符号,结束字符。
倒数第一个字节为 00:结束这个TGA文件。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。