J
jijinhu
Unregistered / Unconfirmed
GUEST, unregistred user!
该文件头为128个字节,结构如下
wFileID: SmallInt; //文件标识
// LA
wSatelliteID: SmallInt; //标识 1001
wOrbitNo: SmallInt; //号码
WUporDown: SmallInt ; //1 或 0
wYeat: SmallInt; //年
wMonth: SmallInt; //月
wDay: SmallInt; //日
wHour: SmallInt; //时
wminute: SmallInt; //分
wDayorNight: SmallInt ; //白天黑夜标识。0:白天 1:黑夜
wChannelNums: SmallInt ; //通道数
wProjectType: SmallInt ; //
wWidth: SmallInt; // 列数
wHeight: SmallInt ; //行数
fLonPrecision: single; //经度分辨率--等角投影 x分辨率
fLatPrecision: single; //纬度分辨率 -等角投影 y分辨率
fStandardLat1: single; //标准纬度
fStandardLat2: single; //标准经度
fEarthR: single; //地球半径
fMinLat: single; //最小纬度
fmaxLat: single; // 最大纬度
fminlon: single; // 最小经度
fmaxlon: single; // 最大经度
fStandardlon: single; // 圆锥投影中心经度
fCenterlon: single; // 图像中心经度
fCenterlan: single; // 图像中心纬度
bChIndex : array[1..40] of Byte; //通道索引
wComposedDays: word; //已合成天数
wVersion: word; //版本号
wBytes: word; //
dwSkiplength:cardinal; //局地文件头记录后填充字段长度
其后是每个通道按两个字节一个值来存放。每个通道都连续存放,例如:一通道排完接着排二通道的。。。。。。
请问怎么读取这个文件,然后显示出来啊?转换为bmp也行啊!!
大侠出手啊!!!!
我拿他和bmp格式文件来对比说明吧
bmp(p24)是按象素倒着排,每个象素是3个字节,一幅图是这样BGRBGRBGRBGRBGRBGRBGRBGRBGR.....来排。而这个是RRRR......GGGG......BBBB....来排的每个B(或G或R)值是按2个字节来存的。每个通道大小都是 2×行数×列数(一个r或一个g或一个b是两字节)
行列数是:
( wWidth: SmallInt; // 列数
wHeight: SmallInt ; //行数)
要作的工作是1: 把按两个字节存放的值div 10 后 存到一个字节里
2: 3个通道合成一个图 显示出来(图像为:p24宽:wWidth: SmallInt;高:wHeight: SmallInt![Wink ;) ;)](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f609.png)
wFileID: SmallInt; //文件标识
// LA
wSatelliteID: SmallInt; //标识 1001
wOrbitNo: SmallInt; //号码
WUporDown: SmallInt ; //1 或 0
wYeat: SmallInt; //年
wMonth: SmallInt; //月
wDay: SmallInt; //日
wHour: SmallInt; //时
wminute: SmallInt; //分
wDayorNight: SmallInt ; //白天黑夜标识。0:白天 1:黑夜
wChannelNums: SmallInt ; //通道数
wProjectType: SmallInt ; //
wWidth: SmallInt; // 列数
wHeight: SmallInt ; //行数
fLonPrecision: single; //经度分辨率--等角投影 x分辨率
fLatPrecision: single; //纬度分辨率 -等角投影 y分辨率
fStandardLat1: single; //标准纬度
fStandardLat2: single; //标准经度
fEarthR: single; //地球半径
fMinLat: single; //最小纬度
fmaxLat: single; // 最大纬度
fminlon: single; // 最小经度
fmaxlon: single; // 最大经度
fStandardlon: single; // 圆锥投影中心经度
fCenterlon: single; // 图像中心经度
fCenterlan: single; // 图像中心纬度
bChIndex : array[1..40] of Byte; //通道索引
wComposedDays: word; //已合成天数
wVersion: word; //版本号
wBytes: word; //
dwSkiplength:cardinal; //局地文件头记录后填充字段长度
其后是每个通道按两个字节一个值来存放。每个通道都连续存放,例如:一通道排完接着排二通道的。。。。。。
请问怎么读取这个文件,然后显示出来啊?转换为bmp也行啊!!
大侠出手啊!!!!
我拿他和bmp格式文件来对比说明吧
bmp(p24)是按象素倒着排,每个象素是3个字节,一幅图是这样BGRBGRBGRBGRBGRBGRBGRBGRBGR.....来排。而这个是RRRR......GGGG......BBBB....来排的每个B(或G或R)值是按2个字节来存的。每个通道大小都是 2×行数×列数(一个r或一个g或一个b是两字节)
行列数是:
( wWidth: SmallInt; // 列数
wHeight: SmallInt ; //行数)
要作的工作是1: 把按两个字节存放的值div 10 后 存到一个字节里
2: 3个通道合成一个图 显示出来(图像为:p24宽:wWidth: SmallInt;高:wHeight: SmallInt
![Wink ;) ;)](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f609.png)