基于GPS船用導(dǎo)航儀的嵌入式電子海圖數(shù)據(jù)的制作與顯示
3 嵌入式電子海圖數(shù)據(jù)的顯示
嵌入式電子海圖顯示系統(tǒng)使用前需要通過計(jì)算機(jī)的超級(jí)終端拷入處理主程序及至少5個(gè)文件才能運(yùn)行,5個(gè)文件是國(guó)標(biāo)漢字庫(kù)文件、logo圖片文件、文本文件(港口介紹等)、圖片文件(航行對(duì)景圖片)。首次拷入文件時(shí)需對(duì)Nand flash進(jìn)行格式化,以后如有圖片文件更新等操作,可用DOS命令進(jìn)行刪除或建立。
(1)logo圖片(PCX格式)的顯示方法
在嵌入式電子海圖顯示系統(tǒng)中,開機(jī)后會(huì)顯示一幅開機(jī)圖片,由于嵌入式電子海圖系統(tǒng)中內(nèi)存較小,CPU 處理速度有限,對(duì)現(xiàn)有計(jì)算機(jī)流行的圖片格式進(jìn)行比較后,嵌入式電子海圖系統(tǒng)中選擇了PCX 圖片格式作為開機(jī)顯示圖片。PCX 格式比BMP 格式占有存儲(chǔ)容量小,比JPG 格式圖片解壓時(shí)占有CPU 資源也少得多。顯示PCX 圖片的過程如下:
讀取 PCX 文件頭(讀出圖片文件的大小、判斷是否是PCX 圖片、顏色位數(shù)等)
讀調(diào)色板(讀取圖片的顏色信息)
解壓圖片數(shù)據(jù)(圖片數(shù)據(jù)恢復(fù))
設(shè)置調(diào)色板(設(shè)置嵌入式海圖系統(tǒng)中的調(diào)色板與顯示圖片調(diào)色板一致)
顯示開機(jī)畫面
以下是標(biāo)準(zhǔn)PCX 格式圖片的文件頭:
typedef STruct stPcxHead
{ //PCX 文件頭數(shù)據(jù)結(jié)構(gòu),共128 字節(jié)
int8 Signature; //PCX 文件標(biāo)志,始終是0AH
int8 Version; //版本號(hào)
int8 Encoding; //壓縮標(biāo)志,始終是1,表示有限行程編碼
int8 BitsPerPixel; //每像素所占位數(shù)
int16 XMin,YMin; //圖像左上角坐標(biāo)
int16 XMax,YMax; //圖像右下角坐標(biāo)
int16 HRes,VRes; //存儲(chǔ)此PCX 文件的圖形模式分辨率
int8 Palette[48]; //16 色DAC 調(diào)色板
int8 Reserved1; //保留
int8 ColorPlaneNum; //顏色平面數(shù)
int16 BytesPerLine; //每行字節(jié)數(shù)
int16 PaletteType; //DAC 調(diào)色板類型
int8 Reserved2[58]; //全為零
}stPcxHead;
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論