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

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

能用于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.
UCGUI学习之路(4)显示位图_第1张图片
选择调色板,这里使用自动调色板
UCGUI学习之路(4)显示位图_第2张图片
File ->Save As 保存为C文件格式。
UCGUI学习之路(4)显示位图_第3张图片

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

这里写图片描述

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

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);
}

UCGUI学习之路(4)显示位图_第4张图片

上图是256颜色的,LCD屏幕是6万色的,所以有些失真。
后来又转化了一幅6万色的,效果如下:
UCGUI学习之路(4)显示位图_第5张图片

你可能感兴趣的:(UCGUI)