tga文件格式(波形声音文件格式)

Tga常见的格式有非压缩RGB和压缩RGB两种格式,文件的第三个Byte位作为标记:2为非压缩RGB格式,10为压缩RGB格式。这里的类只实现读取非压缩格式的tga文件。先给出tga文件的文件格式:名称偏移长度说明图像信息字段长度01本字段是1字节无符号整型,指出图像信息字

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

Tga常见的格式有非压缩RGB和压缩RGB两种格式,文件的第三个Byte位作为标记:2为非压缩RGB格式,10为压缩RGB格式。这里的类只实现读取非压缩格式的tga文件。

先给出tga文件的文件格式:

名称

偏移

长度

说明

图像信息字段长度

0

1

本字段是 1 字节无符号整型,指出图像信息字段(见本子表的后面)长度,其取值范围是 0 到 255 ,当它为 0 时表示没有图像的信息字段。

颜色表类型

1

1

0 表示没有颜色表,1 表示颜色表存在。由于本格式是无颜色表的,因此此项通常被忽略。

图像类型码

2

1

该字段总为 2 ,这也是此类型为格式 2 的原因。

颜色表规格字段

颜色表首址

3

2

颜色表首的入口索引,整型(低位-高位)

如果颜色表字段为0,则忽略该字段

颜色表的长度

5

2

颜色表的表项总数,整型(低位–高位)

颜色表项位数

7

1

位数(bit),16 代表 16 位 TGA ,24 代表 24 位 TGA ,32 代表 32 位 TGA

图像规格字段

图像 X 坐标起始位置

8

2

图像左下角 X坐标的整型(低位–高位)值

图像 Y 坐标起始位置

10

2

图像左下角 Y坐标的整型(低位–高位)值

图像宽度

12

2

以像素为单位,图像宽度的整型(低位–高位)

图像高度

14

2

以像素为单位,图像宽度的整型(低位–高位)

图像每像素存储占用位数

16

2

它的值为16,24 或 32 等等。决定了该图像是 TGA 16,TGA24,TGA 32 等等。

图像描述符字节

17

1

bits 3-0 – 每像素对应的属性位的位数;

对于TGA 16,该值为 0 或 1,对于 TGA                     24,该值为 0,对于 TGA 32,该值为 8。

 

bit 4    – 保留,必须为 0

 

bit 5    – 屏幕起始位置标志

0 = 原点在左下角

1 = 原点在左上角

对于 truevision 图像必须为 0

 

bits 7-6 – 交叉数据存储标志

00 = 无交叉

01 = 两路奇/偶交叉

10 = 四路交叉

11 = 保留

图像信息字段

18

可变

包含一个自由格式的,长度是图像由“图像信息字段”指定。它常常被忽略(即偏移 0 处值为 0 ),注意其最大可以含有 255 个字符。如果需要存储更多信息,可以放在图像数据之后。

颜色表数据

可变

可变

如果颜色表类型为 0,则该域不存在,否则越过该域直接读取图像颜色表规格中描述了每项的字节数,为 2,3,4 之一。

图像数据

可变

可变

RGB颜色数据,存放顺序为:BBB GGG RRR (AAA)

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

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

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


相关推荐

  • idea的html注释快捷键,idea 方法注释的快捷键设置

    idea的html注释快捷键,idea 方法注释的快捷键设置前言:使用idea有过一段一段时间了,每次写完方法需要都需要注释,要么手动注释要么用快捷键(/**回车)默认模板注释,不符合项目规定的注释要求,于是想了想是不是设置自定义的注释模板,上网查了资料整理一篇心得分享给大家。正文:默认注释是的样子:/****@parambookType*@parampageNum*@parampageSize*@return*/publicPagina…

    2022年6月4日
  • java简易小游戏[通俗易懂]

    java简易小游戏[通俗易懂]java简易小游戏制作游戏思路:设置人物移动,游戏规则,积分系统,随机移动的怪物,游戏胜负判定,定时器。游戏内容部分package代码部分;importjavax.swing.*;importjava.awt.*;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.awt.event.KeyEvent;importjava.awt.event.KeyListener;

    2022年7月14日
  • RGBD深度相机_rgbd相机是什么

    RGBD深度相机_rgbd相机是什么深度相机与RGBD相机的区别?为何经常概念混淆?什么是深度图? 什么是深度/RGB-D相机(有什么关系?)? RGB-D相机原理简介结构光 飞行时间RGB-D相机有哪些坑? RGB-D相机优点 RGB-D相机应用深度图一般是16位的单目结构光?双目结构光?单目结构光有一个红外发射器和一个红外接收器双目结构光有一个红外发射器和两个红外接收器…

    2022年9月18日
  • ie8是什么时候出的_ie8.0是什么意思

    ie8是什么时候出的_ie8.0是什么意思IE8beta2来了,这次的beta2比起beta1有了长足的进步。功能已经不比firefox差,还有不少胜出的地方。在这两个地方有一些评测,从中可以看出其特色:http://bbs.maxthon.cn/viewthread.php?tid=102092http://publish.it168.com/2008/0828/20080828031601.shtml号称完全支持…

    2022年10月30日
  • 谷歌地图离线地图开发教程视频_谷歌地图离线

    谷歌地图离线地图开发教程视频_谷歌地图离线谷歌离线地图开发主要有两部分组成:1、获取离线地图数据;因为离线地图一般都是局域网,所以需要离线地图数据放在内网中使用;2、离线地图服务器搭建以及二次开发接口提供,离线地图是一种服务,就像我们Apache提供的WEB服务器一样,他是一种准们的地图服务:提供了包括WEB服务、TMS服务、WMTS服务等等。离线地图数据的获取:可以通过【大地图下载器】下载到。下面将一…

    2022年9月20日
  • IDE工具(17) eclipse创建ftl文件具体步骤

    IDE工具(17) eclipse创建ftl文件具体步骤eclipse如何创建ftl文件?第一步:Window–>Preferences–>General–>Editors–>FileAssociations–>Add新建*.ftl文件第二步:点击下面Associationseditors下的Add…选择JSPEditor第三步:Window–>Preferences…

    2022年6月16日

发表回复

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

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