亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于麒麟操作系統(tǒng)的圖形開發(fā)設(shè)計與實現(xiàn)*

        2013-11-23 07:53:58
        艦船電子工程 2013年5期
        關(guān)鍵詞:圖形界面經(jīng)緯度標號

        (中國電子科技集團公司第二十八研究所 南京 210007)

        1 技術(shù)基礎(chǔ)

        麒麟操作系統(tǒng)是國防科技大學(xué)計算機學(xué)院自上世紀80年代以來圍繞“銀河”高性能計算機開發(fā)的操作系統(tǒng)。該操作系統(tǒng)穩(wěn)定可靠地運行了氣象、石油勘探等圖形應(yīng)用/模擬軟件,與Windows圖形開發(fā)的技術(shù)架構(gòu)體制對比如圖1所示[1]。

        圖1 麒麟-圖形架構(gòu)技術(shù)體系

        麒麟操作系統(tǒng)內(nèi)核為Linux(2.2-2.6)kernel,采用X-window 圖形服務(wù)系統(tǒng),其上擴充了KDE、GNOME、GTK+等圖形框架庫。與Windows圖形架構(gòu)相比,X 是一種標準,便于第三方支持并加強其功能。易于安裝、改版,不會對其他應(yīng)用程序造成干擾。程序的異常中斷只會影響到窗口系統(tǒng),不會造成機器的損壞或操作系統(tǒng)內(nèi)核的破壞。內(nèi)在的圖形繪制處理機制如圖2[2]:

        圖2 Linux平臺繪圖處理機制

        采用事件驅(qū)動方式,異步編程。用戶通過輸入設(shè)備將繪圖事件發(fā)送到圖形服務(wù)器X-Server,圖形服務(wù)器依據(jù)用戶提出的繪圖事件填入相應(yīng)的數(shù)據(jù)結(jié)構(gòu),并將該數(shù)據(jù)結(jié)構(gòu)通過事件消息發(fā)送至繪圖客戶端X-Client,繪圖客戶端執(zhí)行繪圖操作,將繪圖結(jié)果以請求的方式發(fā)送到X-Server進行解析,而后調(diào)用繪圖設(shè)備,執(zhí)行繪制[3]。

        開發(fā)語言可采用C++\QT,QT 是一個跨平臺的C++圖形用戶界面應(yīng)用程序框架,由挪威TrollTech 公司出品,完全面向?qū)ο螅讛U展,允許組件編程,編寫方便,并提供IDE開發(fā)工具。在Windows平臺下使用QT,要向TrollTech公司支付一定的費用,但QT在LINUX下免費,所以在國產(chǎn)麒麟操作系統(tǒng)下可以免費安裝使用,本文的具體實現(xiàn)所采用的開發(fā)工具是麒麟操作系統(tǒng)3.2.1版內(nèi)置的QT4.3[4]。

        2 背景介紹

        某應(yīng)用系統(tǒng)在Windows平臺下已完成研發(fā)。該軟件基于現(xiàn)有成熟的圖形框架,可以在圖上實現(xiàn)標號的標繪、與表格的關(guān)聯(lián)、以及標號的圖上操作:包括移動、閃爍、右鍵菜單等。在圖形框架基礎(chǔ)上,可以完成一系列相關(guān)業(yè)務(wù)處理功能。現(xiàn)將該應(yīng)用系統(tǒng)功能在國產(chǎn)麒麟操作系統(tǒng)下重新實現(xiàn),圖形框架的移植是關(guān)鍵。

        Windows平臺下的圖形框架是一套比較完備的技術(shù)體系,在短期內(nèi)整體遷移的難度很大。本文參照Windows平臺下的圖形框架,在麒麟操作系統(tǒng)下,通過QT 開發(fā)工具,使用其提供的一系列圖形開發(fā)庫,簡要實現(xiàn)了圖形操作的基本功能,可以滿足最基本的應(yīng)用要求[5]。

        3 具體實現(xiàn)

        在具體的技術(shù)實現(xiàn)中,主要考慮如下幾個問題:

        3.1 圖形的選擇

        Windows平臺下的圖形框架支持大量的圖形文件,包括像素圖、矢量圖、位圖等。每一種圖形文件都需要相應(yīng)的圖形函數(shù)做處理。為了實現(xiàn)其最基本的功能,本文截取了谷歌(Google)地圖江蘇-安徽一段區(qū)域的位圖,如圖3。

        圖3 江蘇-安徽地區(qū)

        通過谷歌地圖提供的數(shù)據(jù)支撐,可以獲取該段地圖區(qū)域左上角與右下角的經(jīng)緯度,以此為基準,可以大致計算出鼠標在圖上任意一點的經(jīng)緯度(假設(shè)這一塊區(qū)域可看成近似平面),假設(shè)圖形坐標原點在圖的中心,則經(jīng)緯度近似計算式為[6]

        其中:y1為左上角緯度,y2為右下角緯度,x1為左上角經(jīng)度,x2為右下角經(jīng)度,h為圖片高度,w為圖片寬度,p.x(p.y):鼠標當(dāng)前在圖上的位置(圖中心為坐標原點)。

        圖上操作

        通過調(diào)用QT 提供的一系列圖形開發(fā)庫,可實現(xiàn)圖的放大、縮小、漫游以及相應(yīng)鼠標滑動事件實時顯示鼠標坐標位置。

        圖4 圖上操作

        在滑塊移動過程中,通過調(diào)用QT 圖形界面庫提供的scale函數(shù),實現(xiàn)對位圖的放大與縮小。同時,利用(1)所提供的計算公式計算出鼠標所處位置經(jīng)緯度,通過QT封裝的鼠標事件 QMouseEvent, 重 載 mouse-MoveEvent (QMouseEvent*)函數(shù),實現(xiàn)跟蹤鼠標移動,實時顯示鼠標位置的功能,關(guān)鍵代碼如下[7]:

        3.2 標號操作

        由于目前基于國產(chǎn)麒麟操作系統(tǒng),還未開發(fā)出完整的標號庫資源,所以只能通過繪圖工具繪制某應(yīng)用系統(tǒng)所需的標號,包括遮蔽頂、阻擊點\線、安全區(qū)、地形點、導(dǎo)航點等,繪制完畢后通過QT 封裝的鼠標事件QMouseEvent的響應(yīng)函數(shù),調(diào)用QT 圖形界面提供setItem 方法,將所標繪標號顯示在預(yù)定位置。

        圖5 標號操作

        通過QT 提供的時間響應(yīng)事件timerEvent可以設(shè)置標號的周期顯示,實現(xiàn)在圖上的閃爍。通過QT 提供的圖標方法:setFlag(QGraphicsItem::ItemIsSelectable),

        設(shè)置標號為可移動,實現(xiàn)標號在圖上的位移,標號在移動過程中經(jīng)緯度的變化與其對應(yīng)表格位置屬性關(guān)聯(lián)。關(guān)鍵代碼如下[8]:

        4 應(yīng)用展示

        圖6 遷移后的某應(yīng)用系統(tǒng)

        上述基于麒麟操作系統(tǒng)的圖形設(shè)計與開發(fā)方法為應(yīng)用提供了較為簡單的底層支撐。某應(yīng)用系統(tǒng)可以在此基礎(chǔ)上完成從Windows系統(tǒng)到麒麟操作系統(tǒng)的局部遷移。遷移后的界面如圖6所示。該遷移實驗基于麒麟操作系統(tǒng)3.2.1版本,采用QT 開發(fā)工具,基本上完成了原Windows平臺下所有界面元素的遷移。自行設(shè)計與開發(fā)的圖形功能要弱于Windows平臺下的圖形框架,但能滿足圖形標繪最基本的需要。

        5 結(jié)語

        本文的設(shè)計與實現(xiàn)并不能直接作為產(chǎn)品發(fā)布,僅具有原型參考價值,而且沒有國產(chǎn)數(shù)據(jù)庫的支撐,很難應(yīng)用于實際。隨著應(yīng)用系統(tǒng)國產(chǎn)化的推進,后續(xù)將結(jié)合國產(chǎn)數(shù)據(jù)庫完成內(nèi)部所需的數(shù)據(jù)元素的國產(chǎn)化遷移與該應(yīng)用系統(tǒng)內(nèi)在的底層算法的遷移[10]。比較而言,該應(yīng)用系統(tǒng)內(nèi)在的底層算法采用C/C++語言編寫,在國產(chǎn)麒麟操作系統(tǒng)下重新編譯即可,較為方便,這也是下一步實現(xiàn)的目標[9]。

        [1]郝慧明,李海.基于Linux和Qt/E的數(shù)字集群終端軟件框設(shè)計與實現(xiàn)[J].移動通信,2012,(6):74-77.

        [2]王浩南,劉益成.基于嵌入式Linux系統(tǒng)下的Qt開發(fā)[J].電腦開發(fā)與應(yīng)用,2010(01):11-13.

        [3]張軒,余亮.基于wxWidgets庫的界面跨平臺實現(xiàn)[J].現(xiàn)代電子工程,2013(01):13-15.

        [4]陳超,陳彬,孟劍萍,等.基于GPU 大規(guī)模遙感圖像的幾何校正[J].指揮信息系統(tǒng)與技術(shù),2012,3(1):76-79.

        [5]朱漢群,蘇厚勤,吳豐科.Linux GUI開發(fā)工具GTK+技術(shù)應(yīng)用研究[J].計算機應(yīng)用于軟件,2009,6(1):137-140.

        [6]黃哲,陳多.Linux下的圖形界面編程的實現(xiàn)[J].湖南工程學(xué)院學(xué)報,2006,16(1):58-60.

        [7]王子強,劉海燕,李媛州,等.Linux下圖形用戶界面程序的開發(fā)與實現(xiàn)[J].計算機應(yīng)用與軟件,2005,22(6):81-83.

        [8]唐飛,李玉文,劉孫東,等.基于嵌入式Linux的圖形用戶界面移植與開發(fā)[J].深圳信息職業(yè)技術(shù)學(xué)院學(xué)報,2008,6(2):38-41.

        [9]游華云,葉佩青,楊開明,等.基于RTLinux的軟件PLC的研究與開發(fā)[J].計算機工程與應(yīng)用,2002(22):134-136.

        [10]黃穗.用Tcl%2fTk開發(fā)Linux下的圖形界面應(yīng)用[J].計算機工程與設(shè)計,2002,23(1):52-54.

        猜你喜歡
        圖形界面經(jīng)緯度標號
        Epigallocatechin-3-gallate exerts antihypertensive effects and improves endothelial function in spontaneously hypertensive rats
        用VMRun快速置備千臺虛擬機
        自制中學(xué)實驗操作型經(jīng)緯測量儀
        非連通圖2D3,4∪G的優(yōu)美標號
        澳洲位移大,需調(diào)經(jīng)緯度
        重看圖形界面“扁平化”與“擬物化”之爭——關(guān)于設(shè)計思維的探討
        一種利用太陽影子定位的數(shù)學(xué)模型
        非連通圖D3,4∪G的優(yōu)美標號
        非連通圖(P1∨Pm)∪C4n∪P2的優(yōu)美性
        非連通圖C3(m,0,0)∪G的優(yōu)美性
        亚洲视频一区二区三区视频| 国产一起色一起爱| 国产精品亚洲一区二区三区妖精 | 国产一区国产二区亚洲精品| 免费a级毛片18以上观看精品| 亚洲 欧美 综合 另类 中字| 中日无码精品一区二区三区| 中文字幕一区二三区麻豆| 成人网站在线进入爽爽爽| 国产露脸精品产三级国产av| 99久久精品久久久| 中文字幕中文字幕777| 免费人成年激情视频在线观看| 欧美成人一区二区三区在线观看 | 麻豆果冻传媒在线观看| 伊人精品无码AV一区二区三区| 免费国产自拍视频在线观看| 四虎永久在线精品免费一区二区| 熟女人妇交换俱乐部| 日韩久久久久中文字幕人妻| 五月婷婷丁香视频在线观看| 欧美 日韩 人妻 高清 中文| 天码av无码一区二区三区四区| 国产在线观看精品一区二区三区| 风骚人妻一区二区三区| 国产成人精品无码一区二区老年人 | 久久久久国产精品片区无码| 经典黄色一区二区三区| 天堂а在线中文在线新版| 男女扒开双腿猛进入免费看污 | 久久精品国产亚洲av日韩一| 欧美日韩精品久久久久| 国内少妇人妻丰满av| 最新国产主播一区二区| 无码专区一ⅴa亚洲v天堂| 国产成人av免费观看| 亚洲成av人无码免费观看| 亚洲av色图一区二区三区| 亚洲av无码国产精品色软件下戴| 亚洲AV肉丝网站一区二区无码| 久久精品国产黄片一区|