中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 牛人業(yè)話 > 圖解UCGUI3.90實(shí)現(xiàn)GIF動畫顯示全過程

        圖解UCGUI3.90實(shí)現(xiàn)GIF動畫顯示全過程

        作者:areak 時(shí)間:2015-04-09 來源:電子產(chǎn)品世界 收藏

          uc/GUI嵌入式圖形系統(tǒng)不依賴于,可以輕松在中高端微控制器上移植成功,具體的移植過程網(wǎng)上已經(jīng)有很多,按照步驟來大多能成功。目前來說實(shí)現(xiàn)雖然uc/gui3.90并不是最新的版本,但卻是入門使用的不二選擇,是比較經(jīng)典的版本,網(wǎng)上的教程也較多,適合新手學(xué)習(xí)。

        本文引用地址:http://www.antipu.com.cn/article/272288.htm

          uc/GUI3.98版本中實(shí)現(xiàn)了GIF動畫顯示,比較有意思,但是3.90版本里面并沒有實(shí)現(xiàn)此功能,今天就一步步教你在ucGUI3.90版本中實(shí)現(xiàn)GIF動畫顯示。

          一、 準(zhǔn)備工作

          首先準(zhǔn)備好一個(gè)工程,要求工程已經(jīng)實(shí)現(xiàn)了UCOS-II和3.90的移植。

          下載3.98版本。

          根據(jù)你所選擇的液晶的大小,到網(wǎng)上下載一個(gè)GIF圖片,在百度圖片里面有很多。

          二、 GIF圖片數(shù)據(jù)提取

          在ucgui3.90的下載包里面,有一個(gè)tool文件夾,里面有一些小工具,這里我們要用到的是Bin2C.exe。雙擊打開。如下圖所示,選擇select file,找到你下載的GIF圖片,然后點(diǎn)擊Convert進(jìn)行數(shù)據(jù)轉(zhuǎn)換,轉(zhuǎn)換出來的是一個(gè).C文件,里面是一個(gè)數(shù)組,比較大,存儲了GIF圖片的信息。

          下圖是轉(zhuǎn)換出來的數(shù)據(jù),注意看這個(gè)數(shù)組的第6、7位和第8、9位,第6、7位值為0X40、0X01,代表的是圖片的寬度是320個(gè)像素點(diǎn),也就是0x0140,轉(zhuǎn)換成十進(jìn)制就是320,同理8、9位是高度信息,0X01E0是480。有的時(shí)候在網(wǎng)上找到的圖片信息并不準(zhǔn)確,所以要以轉(zhuǎn)換出來的數(shù)據(jù)為準(zhǔn)。

          三、 移植

          之前已經(jīng)說過了,3.90版本不支持GIF解碼,所以我們要把3.98版本里面與GIF相關(guān)的部分移植過來。

          在3.98版本目錄: uC-GUI3.98StartGUICore下找到GUI_Gif.c文件。復(fù)制到3.90的該目錄下。

          在目錄: uC-GUI3.98SampleGUI下面已經(jīng)給我們提供了一個(gè)官方例程,

          把這個(gè)文件添加到我們的工程當(dāng)中。

          然后你會發(fā)現(xiàn)MDK會報(bào)錯(cuò),因?yàn)橛幸恍┖虶IF相關(guān)的結(jié)構(gòu)體類型及函數(shù)是未被定義的,在GUI.h頭文件中添加如下聲明。

          在GUIType.h中添加如下定義

          再然后調(diào)用2DGL_DrawGif.C里面的MainTask()函數(shù),就可以看到效果了。

          四、 顯示自己的GIF圖片

          把你自己生成的GIF數(shù)據(jù)復(fù)制出來替換2DGL_DrawGif.C里面的數(shù)組可以顯示,但是有事圖片數(shù)據(jù)很多,數(shù)組很大,放在文件里面不便于管理,所以我們直接把生成的.C文件添加到工程當(dāng)中,

          當(dāng)然這樣加進(jìn)來還不行,

          還要在2DGL_DrawGif.C 文件中聲明外部數(shù)組,

          extern unsigned const char gif_dat_1[];

          因?yàn)閿?shù)組較大,所以我們無法事先確定數(shù)組的大小,但是函數(shù)

          _ShowMovie(*p,length);的第二個(gè)參數(shù)要求我們傳遞數(shù)組的大小,所以我們需要處理一下,在gif_dat.c里面定義一個(gè)全局變量

          long gif_dat1_len=sizeof(gif_dat_1);

          然后在2DGL_DrawGif.C中聲明一下。

          extern long gif_dat1_len;

          OK!!!大功告成!!!上個(gè)圖。

          說明:MainTask()函數(shù)里面的_ShowComments(),_ShowSubImages()這兩個(gè)函數(shù)用不到可以屏掉。

          還有_ShowMovie(const char * pFile, long FileSize)函數(shù)可能還需要你根據(jù)實(shí)際情況適當(dāng)修改。這個(gè)就自己來吧,祝你好運(yùn)!!!



        關(guān)鍵詞: uc/os UCGUI

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉