没有大小的 TGA 原始数据包

TGA Raw Packet with no size

我在使用 rle 为 tga 纹理实现解析器时将带有 gimp 的图像导出为 tga 图像。从十六进制编辑器中截取的格式以便更好地理解:

 (1) 83 06 06 0B FF
 (2) 00 06 06 0A FF
 (3) 83 05 05 09 FF

根据规范,数据包 1 重复颜色 06 06 0B FF(某种黑色)3 次,因为 0x83 的位 0-6 等于 3,而位 7 是标志一个 rle 数据包。与数据包 3 相同,颜色 05 05 0 FF 的 3 倍。 但是数据包 2 是什么意思呢?因为第 7 位缺少标志,它应该是原始数据包,但它没有任何长度?! tga 文件中大小为零的原始数据包有什么用?

提前致谢

几个小时后我终于找到了解决办法, 数据包内给定的大小是-1,所以如果它说大小为零,则意味着数据包的总大小为 1。有点棘手但合理。