TGA原始数据包没有大小

时间:2015-02-17 19:15:47

标签: image textures tga

我使用gimp将图像导出到tga图像中,同时使用rle实现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 个答案:

答案 0 :(得分:0)

几个小时后我终于找到了解决方案, 数据包内部给出的大小为-1,因此如果它表示大小为零,则表示数据包的总大小为1. Lil'有点棘手,但是合理。