<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 手機與無線通信 > 設(shè)計應(yīng)用 > 基于GPS船用導(dǎo)航儀的嵌入式電子海圖數(shù)據(jù)的制作與顯示

          基于GPS船用導(dǎo)航儀的嵌入式電子海圖數(shù)據(jù)的制作與顯示

          作者: 時間:2010-11-05 來源:網(wǎng)絡(luò) 收藏

            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不再難懂)


          關(guān)鍵詞: 嵌入式

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();