您的位置 首页 FPGA

图解UCGUI3.90完成GIF动画显现全过程

uc/GUI嵌入式图形系统不依赖于uc/os,可以轻松在中高端微控制器上移植成功,具体的移植过程网上已经有很多,按照步骤来大多能成功。目前来说实现虽然uc/gui3.90并不是最新的版本,但却是入

  uc/GUI嵌入式图形体系不依赖于uc/os,能够轻松在中高端微控制器上移植成功,详细的移植进程网上现已有许多,依照过程来大多能成功。现在来说完成尽管uc/gui3.90并不是最新的版别,但却是入门运用的不贰挑选,是比较经典的版别,网上的教程也较多,合适新手学习。

  uc/GUI3.98版别中完成了GIF动画显现,比较有意思,可是3.90版别里边并没有完成此功用,今日就一步步教你在ucGUI3.90版别中完成GIF动画显现。

  一、 预备工作

  首要预备好一个工程,要求工程现已完成了UCOS-II和UCGUI3.90的移植。

  下载UCGUI3.98版别。

  依据你所挑选的液晶的巨细,到网上下载一个GIF图片,在百度图片里边有许多。

  二、 GIF图片数据提取

  在ucgui3.90的下载包里边,有一个tool文件夹,里边有一些小工具,这儿咱们要用到的是Bin2C.exe。双击翻开。如下图所示,挑选select file,找到你下载的GIF图片,然后点击Convert进行数据转化,转化出来的是一个.C文件,里边是一个数组,比较大,存储了GIF图片的信息。

  下图是转化出来的数据,留意看这个数组的第6、7位和第8、9位,第6、7位值为0X40、0X01,代表的是图片的宽度是320个像素点,也便是0x0140,转化成十进制便是320,同理8、9位是高度信息,0X01E0是480。有的时分在网上找到的图片信息并不精确,所以要以转化出来的数据为准。

  三、 移植

  之前现已说过了,3.90版别不支持GIF解码,所以咱们要把3.98版别里边与GIF相关的部分移植过来。

  在3.98版别目录: \uC-GUI3.98\Start\GUI\Core下找到GUI_Gif.c文件。仿制到3.90的该目录下。

  在目录:\ uC-GUI3.98\Sample\GUI下面现已给咱们供给了一个官方例程,

  把这个文件增加到咱们的工程傍边。

  然后你会发现MDK会报错,由于有一些和GIF相关的结构体类型及函数是未被界说的,在GUI.h头文件中增加如下声明。

  在GUIType.h中增加如下界说

  再然后调用2DGL_DrawGif.C里边的MainTask()函数,就能够看到作用了。

  四、 显现自己的GIF图片

  把你自己生成的GIF数据仿制出来替换2DGL_DrawGif.C里边的数组能够显现,可是有事图片数据许多,数组很大,放在文件里边不便于管理,所以咱们直接把生成的.C文件增加到工程傍边,

  当然这样加进来还不可,

  还要在2DGL_DrawGif.C 文件中声明外部数组,

  extern unsigned const char gif_dat_1[];

  由于数组较大,所以咱们无法事前确认数组的巨细,可是函数

  _ShowMovie(*p,length);的第二个参数要求咱们传递数组的巨细,所以咱们需求处理一下,在gif_dat.c里边界说一个全局变量

  long gif_dat1_len=sizeof(gif_dat_1);

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

  extern long gif_dat1_len;

  OK!!!功德圆满!!!上个图。

  阐明:MainTask()函数里边的_ShowComments(),_ShowSubImages()这两个函数用不到能够屏掉。

  还有_ShowMovie(const char * pFile, long FileSize)函数或许还需求你依据实际情况恰当修正。这个就自己来吧,祝你好运!!!

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/fpga/116634.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部