大家好,又见面了,我是你们的朋友全栈君。
一、TGA文件格式解析
二、文件格式
文件头(Tga File Header):由图像描述信息字段长度、颜色表类型、图像类型、颜色表说明和图像说明五个字段组成,总计18字节,描述了图像存储的基本信息,应用程序可依据该部分字段值读写图像数据。
图像/颜色表数据(Image/Color Map Data):由图像描述信息(可选)、颜色表数据和图像数据三部分组成,用于存储图片的图像信息。
开发者自定义区域(Developer Area):包含开发者定义字段列表和开发者字典(用于存储开发者定义字段的值),该区域为开发者扩展该文件格式提供接口,以便存储额外的信息。
扩展区域(Extension Area):由扩展区域大小、作者姓名、作者注释、日期/时间、工作名称/ID、工作累计耗时、编辑软件的名称、编辑软件的版本、关键颜色、像素宽高比、灰度值、颜色校正表偏移量、缩略图偏移量、扫描线表偏移量、alpha通道类型、扫描线表、缩略图图像数据和颜色校正表组成,为Truevision公司定义的标准扩展功能,以提供更多的图像附加信息。
文件尾(TGA File Footer):由扩展区域偏移量、开发者目录偏移量和TGA文件扩展格式签名三部分组成,用于验证TGA文件扩展格式,并可以确定扩展区域和开发者字典的位置
三、TGA图片分析
该图片为原图,jpg格式
1、文件头分析
(1)第一个字节00:文件中没有图像信息字段
(2)第二个字节00:没有颜色表
(3)第三个字节02:图像类型为未压缩的真彩图像
(4)第四字节到第六字节均为0:图像不含颜色表
(5)第七字节到第十二字节均为0:图像起始坐标为原点。
(6)第十三字节和第十四字节AD03,十六进制为03AD,为图片的宽度。十进制为941
(7)第十五字节和第十六字节1E03,十六进制为031E,为图片的高度。十进制为798
与原始jpg图像格式相符合
(8)第十七字节为18,每个像素占用的位数为24位
(9)第十八字节为20:转换为二进制:00100000。0-3位均为0,说明每个像素属性位的数量为0;第五位和第四位为10,说明像素数据从文件发送到屏幕的顺序为从上到下,从左到右。
图片所占字节为941×798×24÷8=2252754字节,总共为2252772字节。
与转换后的图片大小一致,说明该图片没有开发者区域、拓展区域和TGA文件注释。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/127313.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...