作业2 分析TGA文件「建议收藏」

一、TGA文件格式解析二、文件格式文件头(TgaFileHeader):由图像描述信息字段长度、颜色表类型、图像类型、颜色表说明和图像说明五个字段组成,总计18字节,描述了图像存储的基本信息,应用程序可依据该部分字段值读写图像数据。图像/颜色表数据(Image/ColorMapData):由图像描述信息(可选)、颜色表数据和图像数据三部分组成,用于存储图片的图像信息。开发者自定义区域(DeveloperArea):包含开发者定义字段列表和开发者字典(用于存储开发者定义字段的值),该区域为

大家好,又见面了,我是你们的朋友全栈君。

一、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文件注释。
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/127313.html原文链接:https://javaforall.net

(0)
上一篇 2022年4月9日 下午6:20
下一篇 2022年4月9日 下午6:40


相关推荐

  • Windows Longhorn_Windows优化

    Windows Longhorn_Windows优化一、系统优化设置。1、删除Windows强加的附件:1)用记事本NOTEPAD修改/winnt/inf/sysoc.inf,用查找/替换功能,在查找框中输入,hide(一个英文逗号紧跟hide),将“替换为”框设为空。并选全部替换,这样,就把所有的,hide都去掉了,2)存盘退出,3)再运行“添加-删除程序”,就会看见“添加/删除Windows组件”中多出了好几个选项;这样你可以删

    2022年10月21日
    5
  • java中的集合

    java中的集合java集合概述Java集合可分为Collection和Map两种体系Collection接口:单列数据,定义了存取一组对象的方法的集合List:元素有序(指的是存储时,与存放顺序保持一致)、可重复的集合Set:元素无序、不可重复的集合Map接口:双列数据,保存具有映射关系“key-value对”的集合ArrayList和LinkedList的异同?答:二者都线程不安全,相对线程安全的Vector,执行效率高。此外,ArrayList是实现了基于动态数组的数据结构,Li

    2022年7月7日
    34
  • @RequestParam 注解原理

    @RequestParam 注解原理RequestParam 注解原理介绍源码分析介绍 RequestParam 注解用于绑定请求参数 它的具体内容如下 该注解作用的方法形参 Target ElementType PARAMETER Retention RetentionPol RUNTIME Documentedpu interfaceReq 要绑定的参数名 AliasFor name Stringvalue default

    2026年3月18日
    2
  • Opcode指令解析

    Opcode指令解析2 1 实模式 保护模式 以及虚拟 8086 模式指令格式 Intel 64 和 IA 32 架构指令编码是图 2 1 所示格式的子集 一条指令包括可选的指令前缀 顺序任意 主操作码 最多 3 字节 由 ModR M 和 SIB 字节 可选 组成的地址格式描述符 如果需要的话 偏移量 可选 以及立即数 可选 前缀 主操作码

    2026年3月20日
    2
  • idea激活码永久有效-激活码分享

    (idea激活码永久有效)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html9A…

    2022年3月22日
    749
  • idea202112激活码下载[最新免费获取]

    (idea202112激活码下载)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlS32PGH0SQB-eyJsaWNlbnNlSWQi…

    2022年3月25日
    59

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号