6.8 Sun光栅文件

GMT 可以读取 Sun光栅文件格式的网格文件。Sun 光栅文件包含了一个头段区以及一系列无符号一字节整型以表示bit-pattern。 所有的字节按照 scanline 方式排列,每行必须包含偶数个字节。

Sun光栅文件头段区的结构如下表:

表 6.3 Sun光栅文件头段区
变量 类型 说明
ras_magic int 魔法数,用于唯一标记数据格式
ras_width int 图片宽度(像素数)
ras_height int 图片高度(像素数)
ras_depth int 像素深度(1、8、24、32位)
ras_length int 图片长度(字节数)
ras_type int 文件类型
ras_maptype int colormap类型
ras_maplength int 接下来的map的长度(字节数)

在头段区后,若 ras_maptype 不等于 RMT_NONE ,则紧接着是 ras_maplength 个字节的color map区,然后是 ras_length 个字节的图片区。

相关的一些宏定义如下表:

表 6.4 Sun头段区的宏定义
说明
RAS_MAGIC 0x59a66a95
RT_STANDARD 1 (Raw pixrect image in 68000 byte order)
RT_BYTE_ENCODED 2 (Run-length compression of bytes)
RT_FORMAT_RGB 3 ([X]RGB instead of [X]BGR)
RMT_NONE 0 (ras_maplength is expected to be 0)
RMT_EQUAL_RGB 1 (red[ras_maplength/3],green[],blue[])