Image .tga图像:仅当我读取前半个单词时,应该由单词表示的值才是正确的
我有以下问题:我试图读取一个tga文件的头,所以我继续得到一个tga文件的结构:它说图像的宽度和高度在头中存储为一个字或两个字节的数据。但随后我查看了tga文件头的十六进制代码(前18个字节): 这里最后的第三个和第二个字是宽度和高度。所以根据这一点,我的tga文件应该是8.192px宽,8.192px高(0x2000),但实际上图像只有32px宽,32px高(0x20-第一个字节)Image .tga图像:仅当我读取前半个单词时,应该由单词表示的值才是正确的,image,file,tga,Image,File,Tga,我有以下问题:我试图读取一个tga文件的头,所以我继续得到一个tga文件的结构:它说图像的宽度和高度在头中存储为一个字或两个字节的数据。但随后我查看了tga文件头的十六进制代码(前18个字节): 这里最后的第三个和第二个字是宽度和高度。所以根据这一点,我的tga文件应该是8.192px宽,8.192px高(0x2000),但实际上图像只有32px宽,32px高(0x20-第一个字节) 你对此有什么解释吗?让我们用终端中的ImageMagick制作一幅513px宽、32px高的图像,并将其转储:
你对此有什么解释吗?让我们用终端中的ImageMagick制作一幅513px宽、32px高的图像,并将其转储:
magick -size 513x32 xc:red tga: | xxd -c 16
我们得到这个:
根据你的维基百科链接。字段如下所示:
- 红色-字段1-ID长度
- 绿色-字段2-彩色贴图类型
- 蓝色-字段3-图像类型
- 青色-字段4-彩色地图规范
- 品红色-x,y原点-[0,0]
- 黄色宽度
- 白色高度
0102
是1
小而不重要的字节和2*256大而不重要的字节。同样地,高度的20000
表示2个16小字节的批次和0个大的胖字节的批次
TLDR:Targa格式是little endian格式。最不重要的字节排在第一位,然后是更重要的较大字节
magick -size 513x32 xc:red tga: | xxd -c 16