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加入嵌入式視覺聯盟
主站蜘蛛池模板: 欧美国产日产一区二区| 久久人人97超碰人人澡爱香蕉 | 无码AV动漫| 在线不卡免费视频| 在线日韩日本国产亚洲| 人妻精品久久无码区| 国产亚洲视频播放9000| 国产成人盗摄精品| 欧美福利在线| 国产一区二区色淫影院| 国产精品视频a| 色婷婷久久| 色噜噜狠狠狠综合曰曰曰| 国产综合另类小说色区色噜噜| 久久永久视频| 亚洲男人的天堂视频| 2048国产精品原创综合在线| 亚洲欧洲自拍拍偷午夜色| 日韩精品久久久久久久电影蜜臀| 精品综合久久久久久97超人| 精品丝袜美腿国产一区| 国产伦片中文免费观看| 中文字幕亚洲精品2页| 精品欧美一区二区三区久久久| 另类重口100页在线播放| 丁香婷婷综合激情| 日韩欧美亚洲国产成人综合| 久久黄色一级片| 亚洲无码37.| 国产精品视频第一专区| 手机在线免费不卡一区二| 亚洲无码视频图片| 国产一区二区三区在线观看免费| 国产色婷婷| 中国成人在线视频| 高潮毛片无遮挡高清视频播放| 亚洲男人的天堂久久香蕉网| 成人毛片免费在线观看| 国产午夜精品一区二区三区软件| 亚洲第一国产综合| 欧美成一级| 最新日韩AV网址在线观看| 国产91麻豆免费观看| 国产乱人伦精品一区二区| 国产一二三区视频| 在线免费亚洲无码视频| 久久9966精品国产免费| 日韩无码视频播放| 国内精品视频区在线2021| 欧美日本激情| 人人看人人鲁狠狠高清| 亚洲成人免费看| 一本大道无码高清| 欧美亚洲日韩不卡在线在线观看| 久久香蕉国产线看观看精品蕉| 亚洲成a人片在线观看88| 综合色88| 国产精品免费电影| 国产精品无码久久久久AV| 久久这里只有精品66| 日韩无码黄色| 国产系列在线| 中文字幕在线不卡视频| 亚洲大尺码专区影院| 亚洲天堂视频在线播放| 国产女人在线观看| 91免费国产高清观看| 国产乱论视频| 亚洲综合第一区| 五月婷婷精品| 国产91九色在线播放| 伊人丁香五月天久久综合| 伊人色在线视频| 国产夜色视频| 一区二区三区国产| 亚洲日韩精品伊甸| 国产亚洲视频免费播放| 国产丝袜91| 成年女人18毛片毛片免费| 精品久久国产综合精麻豆| 精品国产美女福到在线不卡f| 亚洲天堂免费在线视频|