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