前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >TGA文件分析

TGA文件分析

作者头像
全栈程序员站长
发布2022-07-23 12:37:36
4490
发布2022-07-23 12:37:36
举报
文章被收录于专栏:全栈程序员必看

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

TGA文件格式概述

在这里插入图片描述
在这里插入图片描述

【OpenGL】游戏编程常用TGA图像格式详解以及加载纹理编程实现

分析TGA格式图片

使用FlexHEX打开text.tga

test是用像素笔画出的4*4的图像,第一行为白色和三基色,第四行为三补色和黑色,其余两行为白色
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.cn/126395.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年4月7,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • TGA文件格式概述
  • 分析TGA格式图片
    • 使用FlexHEX打开text.tga
      • 使用FlexHEX打开zoe.tga
      • 总结和反思
      相关产品与服务
      对象存储
      对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档