当前位置: 首页 > 工具软件 > Imgv > 使用案例 >

关于DNF的多媒体包NPK文件的那些事儿(9) - IMGV6

轩辕瑞
2023-12-01

  IMGV6是IMG结构的第六个版本。IMGV6同IMGV4一样采用索引形式(不是RGBA!)存储数据,目前代替绝大部分IMGV4用于时装图像的存储。它允许同一个索引数据带有多个调色板,以实现将多个形状一致但颜色不一致的贴图(多个IMGV4)合并成一个贴图(单个IMGV6)。

  IMGV6在文件的前端带有的调色板信息,存储了多个解决方案所使用的颜色索引表(在恋のEX里称为“颜色方案”)。系统在读取贴图时,需要输入一个参数决定选择哪个颜色索引表(例如皮肤文件有17个颜色索引表),确定后,剩余的步骤同IMGV4一样。


  IMGV6的结构如下表所示:

文件头

20字节字符串(注意空格)“Neople Img File”外加“\0”

索引表大小

4字节,索引表所占空间(注意不包含颜色板的空间)。

保留

4字节,为0。

版本号

4字节,IMGV4文件结构中的版本号为4。

索引表数目

4字节,索引表的表项(包括指向型和图片型)

调色板数据

首4字节为调色板所包含的颜色方案数,之后按顺序存储每个颜色方案,每个颜色方案头4字节是该颜色方案包含的颜色数目,随后是4×颜色数目个字节则为该颜色方案的具体数据。

索引表

索引表项1

由若干个索引项构成。索引项包括2种,指向型和图片型。图片型存储对应图片的各种信息,指向型只存储一个数据,即所指向的图片的帧号。

 

图片型索引项(36字节)

颜色系统

4字节,图像所使用的颜色系统,

IMGV4这里只有一种类型0x0E,表示索引颜色。

压缩状态

4字节,图像所采用的压缩方式,其值含义如下:

0x05(图像数据未压缩)

0x06(图像数据经ZLIB压缩)

图像宽

4字节

图像高

4字节

图像大小

4字节,图像数据所占空间

x坐标

4字节,图像起始绘制点x坐标

y坐标

4字节,图像起始绘制点y坐标

帧域宽

4字节,用途不大,基准用

帧域高

4字节,用途不大,基准用

指向型索引项(2字节)

类型

4字节,固定为0x11。

可以用作区分指向型和图片型数据的标准。

指向帧号

4字节,指向的帧号。

 

 

索引表项2

索引表项3

索引表项4

……

贴图数据

图像数据块1

由首尾相接的图像数据块构成。

由于大部分图像数据由ZLIB进行压缩,因此经常以“0x78 0x9C”数据开头(但不可以其为标准作为图像数据块的起始点),解压后是索引数据,根据索引在调色板中查找对应的颜色。

指向型索引项不对应任何图像数据(即对应的图像数据大小为0)。

图像数据块2

图像数据块3

……

  IMGV6将多个IMGV4合并成一个IMG文件,最大的优点是再一次节省了大部分空间,但最大的缺点就是不能轻易再对形状做改动,在IMGV6里,是无法插入一个PNG图像的,因为带来的处理方式无法兼顾其内部所有颜色方案的数据。

 类似资料: