作业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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 批处理的for循环_bat脚本for循环

    批处理的for循环_bat脚本for循环本文引用DOS批处理命令For循环命令详解FOR/F的选项usebackq的用法批处理命令For循环命令详解!

    2022年10月12日
    6
  • 关于属性描述符PropertyDescriptor[通俗易懂]

    关于属性描述符PropertyDescriptor[通俗易懂]本文首发于本博客猫叔的博客,转载请申明出处前言感谢GY丶L粉丝的提问:属性描述器PropertyDescriptor是干嘛用的?本来我也没有仔细了解过描述符这一块的知识,不过粉丝问了,我就抽周末的时间看看,顺便学习一下,粉丝问的刚好是PropertyDescriptor这个属性描述符,我看了下源码。/***AProper…

    2022年10月1日
    3
  • vue中 父组件向子组件传值案例讲解「建议收藏」

    vue中 父组件向子组件传值案例讲解「建议收藏」父组件向子组件传值通过父组件传值调用子组件显示不同的数据

    2022年6月6日
    35
  • pycharm如何执行代码_pycharm如何运行代码

    pycharm如何执行代码_pycharm如何运行代码在本节中主要介绍如何在pycharm中运行Python代码1. 使用快捷键alt+shift+f10或run按钮直接运行运行。2.在Termnal下运行.py文件首先在pycharm中的python文件,比如:test.py,右键点击showinexplore,会弹出test.py的所在的文件夹,如图所示: 其次,在该文件路径

    2022年8月27日
    3
  • ERROR 1396 (HY000): Operation ALTER USER failed for ‘root’@’localhost’「建议收藏」

    ERROR 1396 (HY000): Operation ALTER USER failed for ‘root’@’localhost’「建议收藏」注:原因为MySql8.0.11换了新的身份验证插件(caching_sha2_password),原来的身份验证插件为(mysql_native_password)。而客户端工具NavicatPremium12中找不到新的身份验证插件(caching_sha2_password),对此,我们将mysql用户使用的登录密码加密规则还原成mysql_native_passwor…

    2022年8月12日
    17
  • LaTeX详细安装步骤和简明教程

    LaTeX详细安装步骤和简明教程第一步:环境配置配置TeXLive和TeXstudio。TeXLive是编译器为Latex提供运行所需的环境;TeXstudio编辑器,提供操作界面,需要先安装好TeXLive之后,TeXstudio才能使用。TeXLive下载:TeXLive下载地址:(清华镜像)https://mirrors.tuna.tsinghua.edu.cn/ctan/systems/texlive/Images/下载“.iso”文件–>“texlive2020.iso3.7GiB…

    2022年5月18日
    59

发表回复

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

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