最近一段时间以来,想学习移植uCGUI。在网络上找了大量的移植资料和学习教程,加上自己的不断努力,成功的完成了移植。现将学习中遇到的问题和已经记录下来,方面自己的翻阅,也可以为初学者提供一条捷径。
uC/GUI基本函数:
- 在LCD上显示文本
GUI_DispString("")
参数:你希望显示的文本
- 选定坐标
GUI_GotoXY(x,y)
例如:在(10,10)坐标点位置,显示Hello World!文本
GUI_GotoXY(10,10);
GUI_DispString("Hello world!");
<1>文本API函数:
文本绘制模式:
- 正常文本:GUI_TEXTMODE_NORMAL
- 反转文本:GUI_TEXTMODE_REVERSE
- 透明文本:GUI_TEXTMODE_TRANS
- 异或文本:GUI_TEXTMODE_XOR
- 透明反转文本:GUI_TEXTMODE_TRANS | GUI_TEXTMODE_REVERSE
<2>数值API
<3>图形处理API
<4>字体
当前uC/GUI版本提供4种字体:等宽位图字体、比例位图字体...
为了能在你的应用中使用一种字体,必须要做到下面几点:
- 字体在与uC/GUI规范相兼容的"C"文件,工程文件或库这三种文件中任一种当中
- 字体文件与你的应用链接
- 字体的描述要包含在GUIConf.h中(这个很必要,这是为了避免由于没有声明的外部常亮而产生的编译警告)
字体API
<5>位图转换
能用于uC/GUI的位图通常定义为"C"的GUI_BITMAP结构,位图转换器是一个容易使用的Windows程序。仅仅载入一副位图(.bmp格式)到程序中,如果需要则转换该位图,然后将结果保存为一个"C"文件,供uC/GUI使用,这样就能在屏幕上显示这幅位图了。
一副图像必须首先以一个.bmp格式文件的位图形式载入,位图转换器不能从一个RGB模式的位图生产"C"文件,以下类型的.bmp文件可以在程序中载入:
- 带调色板的每像素1,4或8位格式
- 无调色板的24bpp
- RLE4和RLE8格式
RLE:run-length encoding 行程长度编码,如果你的位图包括很多相等颜色的像素序列的话,RLE压缩方式是行之有效的。
在UCGUI源文件中的Tool文件夹下有uC-GUI-BitmapConvert.exe位图转换器软件
<6>预定义颜色
除自定义颜色外,在uC/GUI中预定义了一些标准的颜色
颜色API: