www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]嵌入式圖片滑動的3D桌面設(shè)計方案

引 言

在很多嵌入式設(shè)備中,一個設(shè)計良好的桌面是最重要的人機交互方式;在一些消費電子產(chǎn)品中,一個好的桌面可以讓用戶具有更好的使用體驗,操作更方便。與桌面PC的一些重量級的3D桌面相比,本文所討論的圖片滑動3D桌面屬于輕量級桌面,占用資源很少,是一個完全的應(yīng)用程序。目前,在一些高端手機上已經(jīng)采用了這種桌面方式,用戶可以通過觸摸屏等設(shè)備輕易地訪問應(yīng)用程序。圖1是圖片滑動3D桌面的一種。

實現(xiàn)如圖1所示的3D桌面,傳統(tǒng)方案需要借助于OpenGL來實現(xiàn)這種3D效果,但是在嵌入式設(shè)備中資源較緊張,難以完美地支持OpenGL.因此,采取了QT來實現(xiàn),并且在開源項目pictureflow的基礎(chǔ)上進行移植修改。

圖1 圖片滑動3D桌面

1 QT簡介

QT是一個跨平臺的C++圖形用戶界面庫,由奇趣公司出品,支持所有Unix系統(tǒng)和絕大部分版本的Windows平臺。QT具有優(yōu)良的跨平臺特性和豐富的API函數(shù),支持2D/3D圖形渲染。

2 開源項目pictureflow

pictureflow是一個基于QT編寫的開源項目,可以用3D的效果來動態(tài)顯示圖片,經(jīng)過渲染之后,每張圖片均顯示成帶有倒影的3D圖片。pictureflow的渲染算法非常精簡,易于移植,再加上QT本身的跨平臺性,因此可以運行于不同型號的手機平臺或者其他手持設(shè)備之上。它具有快速響應(yīng),無需浮點操作、OpenGL以及3D硬件加速等特點。

2.1 系統(tǒng)框架

pictureflow 主要由類SlideInfo、PictureFlowState、PictureFlowAnimator和PictureFlowSoftwareRenderer構(gòu)成,如圖2所示。其中每個SlideInfo實例對應(yīng)著一張圖片,包含了圖片的偏轉(zhuǎn)角度和坐標(biāo)等信息;PictureFlow-State記錄了所有圖片的信息;PictureFlowAnimator包含圖片的移動功能實現(xiàn);PictureFlowSoftwareRenderer實現(xiàn)了對圖片的渲染。PictureFlowPrivate類含有4個指針,分別指向了上述3個功能類和1個定時器;而Picture-Flow類是作為整個系統(tǒng)的接口類,維護著所有的頁面集合以及事件的響應(yīng)。

圖2 pictureflow系統(tǒng)類圖

 2.2 渲染算法

因為每張頁面均有一張倒影,程序采用了一種模糊渲染算法,得到了頁面的模糊倒影。在算法中,采用了行列分離的方法進行渲染,即取出源圖片的某一像素點之后,依次獲得該像素點的同一行的像素平均值作為目標(biāo)點;然后再依次取出源圖片的像素點,獲得該像素點的同一列的像素平均值作為目標(biāo)點。上述操作即處理流程,根據(jù)目標(biāo)平臺的性能可以將上述操作循環(huán)執(zhí)行多次,以獲得最佳模糊效果。得到頁面的模糊倒影之后,程序以某個角度將頁面連同倒影一起顯示。具體代碼如下:

2.3 事件響應(yīng)[!--empirenews.page--]

事件響應(yīng)分為鍵盤響應(yīng)和鼠標(biāo)響應(yīng),針對F10、F11等按鍵可以激活調(diào)試、更新等功能;針對鼠標(biāo)點擊,根據(jù)點擊點的不同,響應(yīng)事件分為3種,點擊頁面正中間區(qū)域即觸發(fā)相關(guān)頁面功能,點擊非正中間區(qū)域則會使圖片“flow”起來。

 3 功能實現(xiàn)

圖3是整個系統(tǒng)軟件的運行流程。

圖3 系統(tǒng)軟件流程

設(shè)計圖片滑動3D桌面,需要完成以下工作:

①pictureflow的移植與修改。

② 準(zhǔn)備QT環(huán)境,在嵌入式設(shè)備中設(shè)置好QT運行環(huán)境。

③pictureflow的配置與交叉編譯。

④ 準(zhǔn)備應(yīng)用程序入口和相關(guān)圖片。pictureflow默認會搜索當(dāng)前路徑上的圖片,如果在pictureflow運行時將路徑傳入,就會搜索指定路徑上的圖片,并將圖片以3D形式顯示在顯示設(shè)備上。pictureflow默認鼠標(biāo)點擊動作將使圖片向左滑動或者向右滑動,因此必須修改點擊屏中間區(qū)域的響應(yīng)。詳細代碼如下:

將上述代碼中的if…else語句進行修改,即可提供程序入口:

其中,enterApplication(int index)函數(shù)可根據(jù)index的不同決定調(diào)用哪一個應(yīng)用程序。

⑤ 系統(tǒng)初始化時啟動pictureflow,在系統(tǒng)啟動腳本start.sh文件中加入啟動pictureflow的語句:

pictureflow-qws.

結(jié) 語

本文討論的圖片滑動3D桌面的實現(xiàn)方法及應(yīng)用的主要技術(shù),包括相關(guān)的圖片渲染算法和圖片切換動態(tài)實現(xiàn),均已在工程實踐中證明是可行的。

由于嵌入式設(shè)備資源的限制和觸摸屏參數(shù)的設(shè)置,該項目的精密度有待提高。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當(dāng)下,工業(yè)電機作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉