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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 嵌入式系統(tǒng)中動畫設計方法的適用度分析

          嵌入式系統(tǒng)中動畫設計方法的適用度分析

          作者: 時間:2009-12-16 來源:網(wǎng)絡 收藏


          引 言
          對于各種各樣應用日益廣泛的而言,除了應用功能強大外,人機界面的美觀也是吸引用戶的重要方面。因此,越來越多的開發(fā)人員希望:LCD上除了顯示圖案固定的菜單以外,再添加適量的動畫,使得整個界面屏幕更加活潑可人。用于的程序設計語言有多種,并且有多種,根據(jù)是否需要借助于其他應用軟件和程序,可以將這些分成兩大類:第一類是只使用各種編程語言及開發(fā)環(huán)境中包含的文件和框架實現(xiàn)的設計;第二類則是安裝相關軟件(諸如Flash、Di-rectDraw等),在相關語言的開發(fā)環(huán)境中將這些軟件的功能文件包含進去,來共同實現(xiàn)的方法。而由于其極強的專用性、實時性要求,傳統(tǒng)采用的開發(fā)語言并不是很多,雖然動畫界面在嵌入式系統(tǒng)應用中并非高優(yōu)先級的程序,但開發(fā)人員在選取其設計方法時,也應該辨明利弊,靈活使用,這樣才能看到更加賞心悅目的界面,而不是被LCD上凌亂不堪的顯示內(nèi)容所困擾。

          本文引用地址:http://www.ex-cimer.com/article/152229.htm


          1 不需安裝第三方軟件的方法
          (1)Logo于簡易的嵌入式設備的動畫設計
          Logo語言的設計方法最為簡單。它內(nèi)置一套(Turtle Graphics)系統(tǒng),其本身就是一種繪畫語言,理論上可以加載到嵌入式系統(tǒng)中作動畫開發(fā);然而,因為一個嵌入式系統(tǒng)會有很多別的軟件設計部分,其他功能都采用Logo顯然并不合適,而要在一個嵌入式系統(tǒng)中安裝兩種開發(fā)環(huán)境更加不現(xiàn)實。所以,若在嵌入式系統(tǒng)開發(fā)中選用這種方法制作動畫,應該只適合用于兒童用的復雜程度同等的簡易的嵌入式設備。
          (2)最適合嵌入式系統(tǒng)使用的擦除法
          C語言是嵌入式系統(tǒng)開發(fā)使用最多的語言,并且高中低檔的系統(tǒng)都可以用,因而采用C語言的所有動畫設計方法,理論上均于嵌入式系統(tǒng)的屏幕動畫開發(fā)。然而,諸如利用動態(tài)開辟圖視口方法、利用顯示頁和編輯頁交替變化、利用畫面存儲再重放的方法,以及直接對圖像動態(tài)存儲器進行操作的方法等程序比較復雜,且要對圖像不斷進行存取操作,這需要耗費大量內(nèi)存資源;而擦除法動畫設計則可以解決上述問題。其設計原理是:利用同色原理,當圖形色與背景色相同時人眼不能感知。在動畫設計中,當在一個位置畫了一張圖像時,使圖像色與背景色相異,然后再到另一個位置畫一張圖像并使圖像色與背景色也相異,此時將先畫的圖像在原位置再畫一張,并使圖像色與背景色相同,這樣人眼只能看到新畫的一張圖像而看不到先前畫的圖像,從而先前畫的圖像感覺被擦除了。
          這樣連續(xù)畫多張圖像并在每畫一張新的圖像時將原來的圖像擦除,從而在觀察者看來就實現(xiàn)了動畫的效果。綜上所述,從耗費資源較少且執(zhí)行速度較快的角度出發(fā),筆者認為,采用C語言設計動畫的常用方法中,最適合嵌入式系統(tǒng)使用的是首選擦除法。
          (3)CBuilder語言本身不太適合嵌入式開發(fā)
          采用CBuilder語言設計動畫,可以方便地利用現(xiàn)成的組件產(chǎn)生圖像及控制時間,從而解決了動畫設計中兩個非常重要的問題。然而CBuilder語言本身不太適合嵌入式開發(fā),因為嵌入式開發(fā)對空間、效率都要求較高,而CB是針對高層的應用程序開發(fā)的工具。但是,有兩點值得注意:首先,現(xiàn)在很多公司做嵌入式開發(fā)多是自己搞一套系統(tǒng),使其適合使用CB完全可以做到;另外,Borland公司正在開發(fā)嵌入式的C++,可以期待。
          (4)Java語言非常適合嵌入式系統(tǒng)的屏幕動畫設計Java語言是嵌入式系統(tǒng)開發(fā)經(jīng)常采用的語言,在手機中更是應用良多。Java語言的動畫設計方法通過定義線程的方法來控制動畫時間;而使圖像動的平滑的雙緩沖方法需要很大內(nèi)存,因而更常用的消除畫面閃爍的辦法是重載upGlate()。
          (5)C++語言方法均可用于嵌入式系統(tǒng)動畫設計
          面向對象的C++語言中,可供選擇的動畫設計方法很多:簡單的動態(tài)圖像(如不斷閃爍的星星)可以采用底色覆蓋法;在屏幕的固定位置顯示動態(tài)圖像時,可以選擇多圖片切換法;利用異或方式進行繪圖不會發(fā)生全屏幕閃動,通常效果較好,但若反復使用,在所清除圖像處會產(chǎn)生閃爍,仍不是很完美;像素操作一般和其他動態(tài)圖像實現(xiàn)方法(如底色覆蓋)相結合使用;多緩沖技術是將圖形繪制在不同的幀中,通過將屏幕在這些不同的幀之間進行切換,來達到動畫效果;具體的幀數(shù)目可以根據(jù)實際動畫的需要自行確定。這類似于C語言中的雙緩沖技術原理,只不過雙緩沖只繪制一份備用圖像作為離屏圖像,而多緩沖則將圖形繪制在多個不同幀中,將屏幕在這些幀之間進行切換。
          因為工業(yè)方面大多用C/C++作為嵌入式系統(tǒng)的開發(fā)語言,所以這些方法都可用于嵌入式系統(tǒng)動畫設計。在Nord-Tec SoftWare開發(fā)的Nord-Tec Snow Flakes屏幕保護程序中,逼真的雪花動畫便是利用多緩沖技術實現(xiàn)的。
          (6)繪制復雜風格線條的方法
          在GIS(地理信息系統(tǒng))類軟件設計中,經(jīng)常需要在繪圖時使用一些相對固定但又頻繁使用的一些用以代表地理狀態(tài)的符號,如河流、鐵路、海岸線等等。顯然,這些基本符號圖形一般都是相對復雜的線條,在MFC提供的基本類庫中并未提供可以直接使用的相關函數(shù);即使是在繪圖功能比較強大的CDC中,也僅僅提供了LineTo()、Set-Pixel()等一些通用的最基本的繪圖函數(shù)。使用這些函數(shù)來繪制GIS基本符號是效率比較低的一種辦法,這在大量的繪圖操作中將會表現(xiàn)得比較明顯,因此不宜提倡。但是,可以通過Windows NT 3.1中首次出現(xiàn)的Win32.API函數(shù)LineDDA,來解決這一繪制復雜風格線條的問題。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();