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种,指向型和图片型。图片型存储对应图片的各种信息,指向型只存储一个数据,即所指向的图片的帧号。
| ||||||||||||||||||||||||
索引表项2 | ||||||||||||||||||||||||||
索引表项3 | ||||||||||||||||||||||||||
索引表项4 | ||||||||||||||||||||||||||
…… | ||||||||||||||||||||||||||
贴图数据 | 图像数据块1 | 由首尾相接的图像数据块构成。 由于大部分图像数据由ZLIB进行压缩,因此经常以“0x78 0x9C”数据开头(但不可以其为标准作为图像数据块的起始点),解压后是索引数据,根据索引在调色板中查找对应的颜色。 指向型索引项不对应任何图像数据(即对应的图像数据大小为0)。 | ||||||||||||||||||||||||
图像数据块2 | ||||||||||||||||||||||||||
图像数据块3 | ||||||||||||||||||||||||||
…… |
IMGV6将多个IMGV4合并成一个IMG文件,最大的优点是再一次节省了大部分空间,但最大的缺点就是不能轻易再对形状做改动,在IMGV6里,是无法插入一个PNG图像的,因为带来的处理方式无法兼顾其内部所有颜色方案的数据。