999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于ARM的畫圖工具的設計與開發

2012-07-05 08:37:40洪運國
科技傳播 2012年3期
關鍵詞:嵌入式動畫

洪運國,謝 堯

大連職業技術學院信息工程學院,遼寧大連 116035

0 引言

近年來,UCGUI[1]畫圖系統在嵌入式領域的應用越來越廣。幾乎每一項嵌入式項目的開發都會大量的應用到UCGUI,有了UCGUI畫圖系統的支持,在ARM板上就可以畫出許多生活中常見的簡單圖形,將這些簡單的圖形組合在一起就實現了很多平時看起來很難畫的實際物體,最明顯的應用要屬儀表,利用UCGUI可以在開發板上畫出很漂亮的儀表,然后應用到生活中,例如汽車儀表等。

近20年來,隨著嵌入式領域的蓬勃發展,UCGUI的研究也取得了突破性的進展。許許多多的新的API被加入了進來,簡化了之前很多復雜的圖形繪制,還有一些函數的加入實現了之前沒有的功能。有了越來越多的函數,UCGUI的功能也隨之越來越強大,在開發板上燒出的效果也越來越好。本設計通過VC6.0中的模擬器,展現出在實際開發板上一模一樣的效果。設計添加算法實現了許多基本圖形的繪制,還有儀表,趨勢圖,進度條,刻度尺,指示燈等單體控件以及顯示動畫,所以本設計對研究嵌入式和計算機圖形領域有一定的基礎意義。

UCGUI所提供的函數接口是重中之重,所有圖形的繪制都需要使用UCGUI提供的接口函數,UCGUI將每個基本圖形的畫法實現封裝成一個函數,然后直接調用就可以畫出基本的圖形,至于復雜的圖形,需要基本圖形的拼接,一些復雜的動態功能,UCGUI也提供了處理方法,例如內存的分配,圖形繪制時的抗鋸齒,各種窗口控件的實現等。

1 畫圖工具功能分析

1.1 基本圖形的繪制

UCGUI中提供的基本圖形繪制函數[2]很多,其中應用較廣的有,圓,矩形,多邊形,橢圓,點,線,折線等,這些圖形的實現只需要調用UCGUI相應的函數即可,其中畫點的函數還可分為畫點和畫像素點,圓,矩形,橢圓和多邊形也分為畫輪廓和填充兩種。畫線的函數中包含了畫線,畫水平線,畫垂直線。

1.2 趨勢圖的繪制

趨勢圖的畫法集中于兩點,一個是靜態的布局,一個是動態的顯示,其中布局是畫趨勢圖的難點,在畫之前一定要先設計好布局,正確的理解每一個區域所存在的意義,其中最復雜的地方是計算每一個區域的坐標值,稍有馬虎,畫出來的圖形就達不到預想中的效果。

1.3 刻度尺的繪制

刻度尺是日常生活中最常見的控件,雖然看起來刻度尺似乎并不難畫,但是實際上并不像想象中那么簡單,刻度尺根據軸的位置分為6種狀態,分別為軸水平居中,軸在上,軸在下,軸垂直居中,軸在左,軸在右。畫刻度尺的難點在于刻度線的分配和刻度值的顯示,其中在分配刻度線時需要仔細,其中牽扯到浮點數的運算,要把精確度提高,以免顯示時軸與刻度線的位置不協調。

1.4 進度條的繪制

進度條的繪制是一個反復繪制矩形的過程,首先要將背景矩形繪制出來,之后通過反復的計算,不斷地調用GUI_FillRect()函數[3]來填充每次計算出的矩形區域,同時數字的顯示牽扯到數字透過的效果,必須設定數字的顯示效果為GUI_Mode_Trans,這樣在循環顯示數字時,才能不被填充矩形所覆蓋。

1.5 儀表的繪制

儀表的實現是最復雜的過程,由于儀表指針的移動會留下痕跡,所以儀表盤會被覆蓋,為了避免這個問題,決定將儀表畫在一塊內存區域上,這樣每次指針一移動,就在這塊內存區域上重新繪制整個儀表,這樣表盤指針移動的痕跡就不會留下了。儀表的繪制分為兩個部分,表盤和指針,分別通過GUI_DrawArc()函數[4]和GUI_DrawPolygon()函數[5]實現。

1.6 動畫的顯示

動畫其實就是把一些圖片連在一起播放,uCGUI能夠處理的圖片有3種格式,BMP,JPG和GIF,一般情況下我們使用BMP格式的圖片。圖片信息利用文件系統讀取,之后調用GUI_DrawBMP()把圖片放到指定的坐標位置,然后調用GUI_Clear()清屏,再把下一張圖片畫上去,反復這個過程就能達到動畫的效果。

2 關鍵技術及其實現

2.1 控件庫中動畫設計與實現

動畫的顯示一直是一個難點,因為它是大量的圖片文件,這些圖片非常占內存,做嵌入式的開發,內存是一個主要考慮的方面,因為一塊開發板上的內存非常有限,每一次需要申請內存時都需要仔細的計算,爭取一點內存都不要浪費。而圖片是非常占內存的,動畫需要大量的圖片,所以要想很好的顯示,板子上的內存一定要好好的處理,或者將圖片讀取到flash中去,或者加大RAM的大小,再或者再加一個RAM。

UCGUI提供了很多處理圖片的函數,能處理包括BMP,JPG,GIF三種格式的圖片。同時UCGUI也提供了將圖片放大縮小的函數,這樣所讀取的圖片大小將不受限制。動畫的顯示還需要GUI_Delay

動畫是由圖片組成的,顯示動畫的函數通過APP_GetData()函數[6]將圖片的信息讀取到一個數組中,然后調用DXCMD_DRAW_BMP()函數與DXCMD_DRAW_JPG()函數將圖片顯示到模擬器上。在這兩個函數中都選擇用DrawScaledEx的形式來顯示,這樣可以對圖片進行放大與縮小的操作,能保證圖片以一個適中的大小顯示在模擬器上。

圖片動畫函數[7]以GUI_BMP_DrawScaledEx()和GUI_JPEG_DrawScaledEx()函數為主題,利用數組將圖片信息讀取,讀取圖片信息是一個難點,下面是對圖片讀取的部分關鍵代碼。

2.2 Application中主調函數的設計

控件庫[8]設計完成后,需要在Application中設計調用函數,我們為每一個控件都設計了一個與之對應的調用函數,我們為這些調用函數設計了一個名為DXExec.h的頭文件,所有調用函數都在DXExec_OS.c文件中的路由表中聲明它們的執行順序。

調用函數中首先將控件所需要的參數值傳遞進來,之后調用EC_DEMO_ShowIntr()函數[9]將所畫控件的名字輸出到模擬器上,之后設置背景顏色,我們這里都設置背景色為黑色,之后調用GUI_Clear(),這步是必不可少的,不然的話當畫面進行遷移的時候,上一個畫面所繪制的控件并沒有被清除,兩個控件就會出現重疊,所以每一個調用函數中都要有GUI_Clear()函數,目的是清除上一個頁面所繪制的控件。

3 結論

基于ARM的畫圖工具的設計與開發的開發,充分利用UCGUI的特性,幾乎所有的圖形都是通過矢量畫出來的,這樣的效果在開發板上會非常好,板子上不會出現閃的情況。UCGUI具有廣闊的發展空間,相信在生活中它的應用會越來越廣,隨著其版本的不斷更新,功能的不斷增加,ARM板上能呈現出的圖像也會越來越真實。

[1]馬曉波,Guy L.嵌入式GUI的研制[M].成都:電子科技大學,2003:43-80.

[2]單博煒.嵌入式GUI的研究與實現[M].西安:西北工業大學出版社,2004:57-92.

[3]肖俊芳,王正勇.基于嵌入式的UCGUI圖形用戶界面系統設計[M].成都:成都信息工程學院,2008:30-85.

[4]布蘭切特.C++GUI Qt4編程[M].北京:電子工業大學出版社,2008:26-89.

[5]徐寶國.基于UCOS和UCGUI的嵌入式數字示波器[J].測控技術,2007(6):118-121.

[6]孫曉輝,陳曉.基于UCGUI的圖形系統在機頂盒中的應用[J].中國有線電視,2007(2):113-117.

[7]劉堯猛,馬永軍.基于ARM9和FPGA的嵌入式數字示波器[J].計算機應用與軟件,2010(27):287-289.

[8]吳麗彬.嵌入式μCGUI圖像自適應滑動窗口的實現[J].計算機工程與應用,2010(26):184-187.

[9]姜文濤.基于ARM與圖像仿真的無線測控終端[J].計算機工程,2011(1):244-247.

猜你喜歡
嵌入式動畫
做個動畫給你看
動畫發展史
我的動畫夢
文苑(2019年22期)2019-12-07 05:28:56
TS系列紅外傳感器在嵌入式控制系統中的應用
電子制作(2019年7期)2019-04-25 13:17:14
嵌入式系統通信技術的應用
電子制作(2018年18期)2018-11-14 01:48:16
動畫批評融入動畫教育的思考
新聞傳播(2018年3期)2018-05-30 07:01:39
搭建基于Qt的嵌入式開發平臺
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
我是動畫迷
學生天地(2016年9期)2016-05-17 05:45:06
Altera加入嵌入式視覺聯盟
主站蜘蛛池模板: 久久无码av三级| 在线欧美a| 国产麻豆另类AV| 亚洲色图欧美激情| 国产精品尤物铁牛tv| 欧美精品亚洲精品日韩专区va| 99视频在线免费| 99re热精品视频国产免费| 97国产在线视频| 国产白浆视频| 日本欧美在线观看| 欧美日韩高清在线| 伊人无码视屏| 久久久久88色偷偷| 在线看AV天堂| 九色在线观看视频| 国产精品乱偷免费视频| 四虎成人免费毛片| 国产国语一级毛片在线视频| 人禽伦免费交视频网页播放| 亚洲AⅤ无码日韩AV无码网站| 亚洲无线国产观看| 国产成人艳妇AA视频在线| 亚洲精品国产首次亮相| 欧美午夜视频| 香蕉久久国产超碰青草| 54pao国产成人免费视频| 国产成人免费高清AⅤ| 国产人成在线视频| 91午夜福利在线观看精品| 亚洲码一区二区三区| 国产在线一区二区视频| 2019年国产精品自拍不卡| 国产Av无码精品色午夜| 在线色国产| 色婷婷在线影院| 5555国产在线观看| 欧美.成人.综合在线| 国产97公开成人免费视频| 日本不卡在线播放| 欧美一级在线播放| 五月天婷婷网亚洲综合在线| 亚洲AV永久无码精品古装片| AV熟女乱| 91美女在线| 九色91在线视频| 欧美一道本| 亚洲婷婷丁香| 日韩欧美国产另类| 亚洲欧美日韩中文字幕在线一区| yjizz视频最新网站在线| 日韩大片免费观看视频播放| 精品成人一区二区三区电影| 成人一级免费视频| 日本免费一区视频| 国产日韩久久久久无码精品| a亚洲天堂| 亚洲第一精品福利| 国产特一级毛片| 久久精品亚洲热综合一区二区| 天堂网亚洲系列亚洲系列| 久久久噜噜噜久久中文字幕色伊伊| 午夜精品久久久久久久无码软件 | 亚洲AⅤ综合在线欧美一区| 精品99在线观看| 婷婷综合色| 国产成人精品免费av| 精品人妻无码中字系列| 国产精品污污在线观看网站| 波多野结衣一二三| 欧美国产精品不卡在线观看 | 国产网站在线看| 色综合综合网| 国产精品综合色区在线观看| 日本不卡视频在线| 广东一级毛片| 日韩精品毛片| 九九免费观看全部免费视频| 国产在线一区视频| 亚洲精品自拍区在线观看| 日韩欧美色综合| 四虎永久免费地址|