UCGUI学习之路(4)显示位图

来源:互联网 发布:考辛斯体测数据 编辑:程序博客网 时间:2024/05/29 08:52

显示位图的步骤跟显示外部字体的方法步骤差不多。

能用于UCGUI的位图通常定义为“C”的GUI_BITMAP结构体变量。在使用此位图的头文件中声明,就可以使用位图打印函数显示了。
这里就要用到位图转换器,把位图转换成“C”格式文件。至于其它格式图片可以通过软件把图片格式转换成位图,再导入位图转换器转换成“C”文件。这里要注意,位图转换器不能从一幅RGB模式的位图转换成“C”文件,必须先把其转换成调色板格式的位图,然后再进行转换成“C”文件。
位图转换器可以导入如下类型的.bmp文件:

  • 带调色板的每像素(bpp)1,4或8位格式。
  • 无调色板的24bpp(RGB/全彩色模式)。
  • RLE4和RLE8格式。

具体步骤如下:

一、使用位图转换工具把位图转换成“C”语言格式。

运行uC-GUI-BitmapConvert.exe,打开图片file->open.
这里写图片描述
选择调色板,这里使用自动调色板
这里写图片描述
File ->Save As 保存为C文件格式。
这里写图片描述

二、把此位图文件添加到工程中。

这里写图片描述

三、在使用此位图的头文件中声明,就可以使用位图打印函数显示了。

extern  const GUI_BITMAP bmmeik;

调用图片显示函数GUI_DrawBitmap,
也可以使用BUTTON_SetBitmap设置按钮的图片

四、代码验证。

extern  const GUI_BITMAP bmmeik;int main(){    delay_init(168);     uart_init(115200);    //以上代码为了单片机正常运行,不必一样。    //以下代码是验证显示位图的    GUI_Init(); //初始化GUI    GUI_SetBkColor(GUI_BLACK); //设置背景为黑色    GUI_Clear(); //清屏    GUI_DrawBitmap(&bmmeik,2,0);//显示图片    while(1);}

这里写图片描述

上图是256颜色的,LCD屏幕是6万色的,所以有些失真。
后来又转化了一幅6万色的,效果如下:
这里写图片描述

原创粉丝点击