首先据查阅资料显示:

TGA扩展文件结构(v2.0)由五部分组成:文件头、图像/颜色表数据、开发者自定义区域、扩展区域和文件尾。其中V2.0版本的文件头和图像/颜色表数据与V1.0保持一致。

1、文件头(TGA File Header):由图像描述信息字段长度、颜色表类型、图像类型、颜色表说明和图像说明五个字段组成,总计18字节,描述了图像存储的基本信息,应用程序可依据该部分字段值读写图像数据。
(1)图像信息字段长度(ID length)– 字段1(1个字节);
(2)颜色表类型(Color Map Type)– 字段2(1个字节);
0——没有颜色表(color map);
1——使用颜色表;
2-127——Truevision保留使用;
128-255——用于开发者的应用中
(3)图像类型(Image Type)– 字段3(1个字节);
0——没有图像数据;
1——未压缩的颜色表图像;
2——未压缩的真彩色图像;
3——未压缩的黑白图像;
9——RLE(行程压缩算法)压缩的颜色表图像;
10——RLE压缩的真彩色图像;
11——RLE压缩的黑白图像;
12-127——Truevision保留使用;
128-255——用于开发者的应用中。
(4)颜色表规约(Color Map Specification) – 字段 4(5字节):这个字段和它的子字段描述图像中使用的颜色表,如果颜色表类型字段为0,则表示不存在颜色表,则5个字节应该被设置为0,这些字节需要写入文件中。
字段4.1(2字节)颜色表首地址(First Entry Index):第一个颜色表表项的索引,是装载颜色表的首地址。
字段4.2(2字节)颜色表长度(Color map Length): 颜色表表项的数量.字段4.3(1个字节)颜色表表项大小(Color map Entry Size): 每个表项占用的位数,典型的值有15,16,24,或者32位。
(5)图像规约(Image Specification)– 字段 5(10个字节):这个字段和它的子字段描述了图像的屏幕位置,尺寸和像素深度。
字段5.1(2个字节) – 图像X位置的起始位置(X-origin of Image): 图像左下角的水平坐标。
字段5.2(2个字节) –图像Y位置的起始位置(Y-origin of Image): 图像左下角的垂直坐标。
字段5.3(2个字节) –图像宽度(Image Width)
字段5.4(2个字节) –图像高度(Image Height)
字段5.5(1个字节) –像素深度(Pixel Depth):这个字段表示每个像素占用的位数,通常的值是8,16,24,32位。
字段5.6(1个字节) –图像描述符(Image Descriptor)

2、图像/颜色表数据(Image/Color Map Data):由图像描述信息(可选)、颜色表数据和图像数据三部分组成,用于存储图片的图像信息。
(1)图像信息字段(Image ID)– 字段 6(可变长):存储了图像的身份信息(Identifying Information)这个字段最长为255个字节,Field 1字段规定了它的长度。
(2)颜色表数据(Color Map Data) –字段7(可变长):这个变长字段包含了颜色表信息(LUT数据),字段4.3和字段4.2共同规定了字段7的长度。
(3)图像数据(Image Data)– 字段 8(可变长):这个字段包含Width*Height个像素,每个像素的格式如下所示:(1)用伪彩色表示,则是一个颜色图的一个索引号;(2)真彩图,则是属性,红绿,蓝顺序的数据;(3)用调配色表示,就是独立的颜色表索引。

3、开发者自定义区域(Developer Area):包含开发者定义字段列表和开发者字典(用于存储开发者定义字段的值),该区域为开发者扩展该文件格式提供接口,以便存储额外的信息。
开发者数据(Developer Data) – 字段 9(可变长)

4、扩展区域(Extension Area):由扩展区域大小、作者姓名、作者注释、日期/时间、工作名称/ID、工作累计耗时、编辑软件的名称、编辑软件的版本、关键颜色、像素宽高比、灰度值、颜色校正表偏移量、缩略图偏移量、扫描线表偏移量、alpha通道类型、扫描线表、缩略图图像数据和颜色校正表组成,为Truevision公司定义的标准扩展功能,以提供更多的图像附加信息。

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

**

TGA文件格式分析

**

文件由Photoshop 导出为TGA格式

前18字节:
无图像信息字段
没有使用颜色表(颜色表规约字段为0)
图像格式为未压缩的真彩图像
图像左下角的水平和垂直坐标均为0
图像宽度为400,高度为380 即图像为400*380
像素深度 24bit

无图像信息字段,故无Image ID字段
无颜色表类型字段,故无Color Map Data字段
19 - 456018 字节为图像数据字段
则此字段中的数据表示各个像素的RGB值,共400380个像素,即图像数据字段共有400380*3=456000个字节,除去头部18字节,内存与文件格式吻合。

末尾26字节尾部
无Extension Area
无Developer Area
存在字符串为TRUEVISION-XFILE的签名,为v2.0的TGA扩展格式文件
(每一张TGA 2.0格式下图片固定值)
最后的倒数第2个字节:TGA文件结束字符——ASCII码 ”.”
最后一个字节:文件结束符为0

TGA文件格式分析和图片举例相关推荐

  1. 【数据压缩】TGA文件格式分析

    一.TGA文件格式简介 TGA(Truevision Graphics Adapter)文件格式,通常又称为Targa(Truevision Advanced Raster Graphics Adap ...

  2. 数据压缩4 | TGA文件格式分析

    目录 一.简介 二.结构 1. TGA文件头 2. 图像/颜色表数据 3. 开发者区域,扩展区域,文件尾 三.压缩算法 三.总结 一.简介 TGA是由美国Truevision公司为其显示卡开发的一种图 ...

  3. .tga图片的文件格式分析

    一.TGA文件介绍 TGA文件包含5个区域: (1)TGA文件头(TGA File Header): (2)图像/颜色表数据(Image/Color Map Data): (3)开发者区域(Devel ...

  4. TGA图像文件格式分析

    什么是TGA? TGA(Targa)格式是计算机上应用最广泛的图象格式.在兼顾了BMP的图象质量的同时又兼顾了JPEG的体积优势 .并且还有自身的特点: 通道效果.方向性 .在CG领域常作为影视动画的 ...

  5. java dib文件 加位图文件头_位图(bmp)文件格式分析

    位图(bmp)文件格式分析 作者:深蓝(由博主分享) 一.什么是位图 计算机能以位图和矢量图格式显示图像. 1.位图(Bitmap): 图像又称点阵图或光栅图,它使用我们称为像素(象素,Pixel)的 ...

  6. 《PNG文件格式》(二)PNG文件格式分析

    欢迎查看系列博客: <PNG文件格式>(一)PNG文件概述      <PNG文件格式>(二)PNG文件格式分析(本篇) <PNG文件格式>(三)PNG文件实例剖析 ...

  7. 梦幻西游 WSG 文件格式分析

    梦幻西游 WSG 文件格式分析 作者:leexuany(小宝) 图1 这是梦幻西游开始的动画界面,大致分为5层 1.背景层(星星.月亮和云彩其实都是一张jpg图片,根本就不动) 2.远景层(高山.湖泊 ...

  8. 位图(bmp)文件格式分析

    from:https://blog.csdn.net/qingchuwudi/article/details/25785307 位图(bmp)文件格式分析 作者:深蓝(由博主分享) 一.什么是位图 计 ...

  9. [原]BMP位图 转换 透明 TGA图像 - 增加 alpha通道 -TGA文件格式初解

    最近做一个将文字转换为图片做视频叠加字幕的软件,大家都知道VB的图像控件Picture Box只能输出BMP格式位图,自然我的软件是用Picture Box做图像输出的也不例外,但是客户要求要输出带a ...

  10. 石器时代文件格式分析

    石器时代文件格式分析 希望广大外挂制作者能参与到石器服务端的架设及其研究中来. 目前我们提供了服务端的源代码和一些资料.架设环境是Linux+Orcle ? or Linux + mysql 我们的论 ...

最新文章

  1. Linux 定时任务crontab_014
  2. canoco5主成分分析步骤_R语言 PCA主成分分析
  3. android 开发art,Android应用开发之Android 系统启动原理(art 虚拟机)
  4. mysql5.7.14安装版_MySql5.7.14安装教程详解(解压版)_MySQL
  5. docker 基础操作
  6. python数值类型和序列类型_Python基础(一):数值类型,序列类型
  7. Linux 平台下 Tomcat 的安装与优化
  8. 电脑播放SACD-ISO/DSD/DFF音乐
  9. 读者提问:如何提高效率?
  10. 关于报错:There is already ‘什么Controller‘ bean method的解决方法
  11. 使用medusa破解密码
  12. C++实现简单五子棋游戏
  13. 面:【1】笔试. mgj 再菜也能做出来,,,有点信心好不好
  14. 东子破解jms7月2号
  15. Docker容器之间相互访问
  16. puzzle(105)幻方、幻圆、拉丁方
  17. houseoforange_hitcon_2016(unsortbin attack,fsop)
  18. 1024程序员狂欢节,来领当当大额优惠券
  19. logrotate实现日志切割和清理(清晰易懂)
  20. 使用 ezctl 工具部署和管理 Kubernetes 集群

热门文章

  1. 计算机操作系统--缺页中断与越界中断
  2. 域名泛解析,二级域名转向问题- -完美解决
  3. Codeforces 760B Frodo and pillows【贪心+二分】
  4. Google 正式开源 Paranoid
  5. 顶级计算机专家一年赚多少,成为一个计算机专家需要多高的IQ?请实话实说
  6. 洛谷 P1359 租用游艇(简单dp/Dijkstra)
  7. 考研英语近义词与反义词·三
  8. Python使用string.Formatter()制作打印模板
  9. maya表情blendshape_【Maya】角色表情绑定-BlendShape的使用技巧
  10. 计算机A类会议 icip,计算机视觉|中国计算机学会推荐国际学术刊物/会议