TGA文件分析

TGA文件格式概述【OpenGL】游戏编程常用TGA图像格式详解以及加载纹理编程实现分析TGA格式图片使用FlexHEX打开text.tgatest是用像素笔画出的4*4的图像,第一行为白色和三基色,第四行为三补色和黑色,其余两行为白色打开后可以看到结果十分简单:第一个字节是0,表示没有图像的信息字段第二个字节是0,表示没有颜色表第三个字节总是2,表示此类型为格式2接下来五个字节全为0,可以忽略第九第十个字节为0,表示图像X坐标起始位置为0(最左)第十一、十二个字节为0,表示图

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

TGA文件格式概述

在这里插入图片描述
【OpenGL】游戏编程常用TGA图像格式详解以及加载纹理编程实现

分析TGA格式图片

使用FlexHEX打开text.tga

test是用像素笔画出的4*4的图像,第一行为白色和三基色,第四行为三补色和黑色,其余两行为白色
test是用像素笔画出的4*4的图像,第一行为白色和三基色,第四行为三补色和黑色,其余两行为白色

在这里插入图片描述
打开后可以看到结果十分简单:

  • 第一个字节是0,表示没有图像的信息字段
  • 第二个字节是0,表示没有颜色表
  • 第三个字节总是2,表示此类型为格式2
  • 接下来五个字节全为0,可以忽略
  • 第九第十个字节为0,表示图像X坐标起始位置为0(最左)
  • 第十一、十二个字节为0,表示图像Y坐标起始位置为0(最下)
  • 第十三、十四个字节为4,表示图像宽度为4——与设置吻合
  • 第十五、十六个字节为4,表示图像高度为4——与设置吻合
  • 第十七个字节为24,表示该图像为TGA24——与设置吻合,图像深度为24
  • 第十八个字节为0,是图像描述符字节,TGA24此字节为0

接下来有三个偏移量可变,长度不确定的区域:

  • 首先此文件颜色表类型为0,颜色表数据区域不存在
  • 从第十九字节开始三个三个看,FF00FF、00FFFF、FFFF00、000000,可以看出存储的是三补色以及黑色像素的数据。也就是说从第十九字节开始进入图像数据区域。
  • 要注意此文件的存储方式为从左到右、从下到上。即第一个存储的是最左下角像素的数据,依次往右存储,存完此行存上一行,存储的最后一个像素为最右上角的像素。
  • 计算4 * 4 * 3 = 48,往后数这么多个到第六十七个字节为下一区域,也就是图像信息字段区域

使用FlexHEX打开zoe.tga

在这里插入图片描述
zoe图像文件相较于test色彩丰富,文件也较大

在这里插入图片描述
下面分析zoe.tga与test.tga不同的部分:

  • 第十三、十四个字节为4,表示图像宽度为950
  • 第十五、十六个字节为4,表示图像高度为559
  • 第十九字节开始的图像数据区域三个三个看:08715E、09725F……
    验证确实是图像最左下角的像素颜色
    在这里插入图片描述
  • 后面都是各像素数据,图像信息字段区域在最后

总结和反思

  • 每遇到新的文件格式从最简单像素图开始分析,了解他的长宽、深度、存储方式,再慢慢分析复杂的文件
  • 对TGA的图像信息字段区域还需要进一步了解
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 2021年高教社杯数学建模国赛C题思路_2016年全国大学生数学建模C题

    2021年高教社杯数学建模国赛C题思路_2016年全国大学生数学建模C题2022国赛数学建模C题思路合集

    2025年6月7日
    2
  • JWT单点登录[通俗易懂]

    JWT单点登录[通俗易懂]项目开发视频:SpringCloud微服务开发入门手把手开发基于SpringBoot的员工管理系统亿度云盘~Java小白入门实战超详细的Java知识点汇总单点登录是什么SSO(SingleSignOn)SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。为什么需要单点登录以前分布式系统的多个相关的应用系统,都需要分别进行登录,非常繁琐。原来登录的过程:1)用户输入账号密码2)提交到后台验证,成功后将用户存在Session中3)需要进行登录状态判

    2022年5月11日
    47
  • springboot多环境配置文件_Springboot教程

    springboot多环境配置文件_Springboot教程第一步:三个配置文件,分别是默认配置application.yaml、开发配置application-dev.yaml、生产配置application-pro.yaml第二步:SpringBoot默认加载的是application.yaml,想要默认加载其他配置文件,需要在application.yaml中配置:这样加载的就是生产环境的配置了,打包打的也是application-pro.yaml文件。本地开发的时候也是加载的pro文件。第三步:想要打包的时候用pro文件,IDE开发的时候用的

    2022年9月26日
    3
  • 头歌MySQL数据库实训答案 有目录[通俗易懂]

    头歌MySQL数据库实训答案 有目录[通俗易懂]计算机系统综合实训头歌MySQL数据库实训平台作业,内容比较全比较多,内容仅供参考,如有错误部分希望联系我跟正,觉得有用记得点赞收藏。数据库1-MySQL数据定义与操作实战数据库2-MySQL数据管理技术实战数据库3-MySQL数据库系统设计实战数据库4-层次、网状、关系模型实战

    2022年6月26日
    151
  • 如何使用JavaScript UI控件,构建Electron应用程序[通俗易懂]

    如何使用JavaScript UI控件,构建Electron应用程序[通俗易懂]如何使用JavaScript UI控件,构建Electron应用程序

    2022年4月20日
    42
  • html设置背景图片的代码_html背景代码

    html设置背景图片的代码_html背景代码今天河北魅力网络客户让改一下代码,让背景图片实现不随滚动条来滚动,实现这种效果其实很简单,加个代码就行。<bodybackground=”bj.jpg”style=”background-attachment:fixed”;>style=”background-attachment:fixed”;>这样就实现了背景图片固定效果,虽然简单但很实用…

    2022年9月27日
    3

发表回复

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

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