1.在图片上显示文本时,特别是使用内存设备显示动态文本时,文本显示(如 GUI_DispString("Op Fancy's Blog"); )背景默认是桌面背景。
(小记:桌面背景默认时黑色,可以通过调用如 GUI_SetBkColor(GUI_WHITE); 将桌面背景色设置为白色。)
如果需要将文本背景设为透明或是反转文本颜色(文本本身颜色和文本背景颜色同时反转),可通过调用 int GUI_SetTextMode(int TextMode); 函数进行设置
函数参数分别可以为:
GUI_TEXTMODE_NORMAL |
设置为显示正常文本。这是默认设置,该数值等同于0。 |
GUI_TEXTMODE_XOR |
设置为显示反转文本。 |
GUI_TEXTMODE_TRANS |
设置为显示透明文本。 |
GUI_TEXTMODE_REV |
设置为反相显示的文本。 |
2.使用内存设备进行动态显示的过程主要包括:
(1).创建显示区域前景和背景的内存设备。
(2).在进行显示前将背景区域拷贝到内存设备中
(3).循环中选中前景内存设备作为接下来的操作对象
(4).将之前拷贝的背景区域写入到前景设备
(5).在设定的区域进行显示操作 注意:进行到这一步屏幕上是不会有实际显示画面的,因为显示操作实在选中的内存设备hMem_Fk上进行操作的,而不是对屏幕进行操作
(6).把内存设备前景区域拷贝到屏幕进行显示 注意:这一步屏幕上才会有实际的显示画面
(7).之后如果需要进行其他直接对屏幕显示的操作时,一定要在操作最后执行GUI_MEMDEV_Select(0);这一步的意思是将显示对象设置为LCD屏幕,而不是选中的内存设备HMem_FK
(8).如果创建的是一次性使用的内存设备(如在调用的函数里面创建)时,需要在使用完成后删除内存设备,否则会造成内存泄漏,造成长时间使用时闪烁的情况!
GUI_MEMDEV_Handle hMem_BK;//背景
GUI_MEMDEV_Handle hMem_FK;//前景
hMem_BK = GUI_MEMDEV_Create(20,30,50,50);
hMem_FK = GUI_MEMDEV_Create(20,30,50,50);
GUI_MEMDEV_CopyFromLCD(hMem_BK );
while(1)
{
GUI_MEMDEV_Select( hMem_FK);
GUI_MEMDEV_Write(hMem_BK);
/************************************************************
这部分用于显示, 显示内容必须和上GUI_MEMDEV_Create函数中的参数相对应
GUI_MEMDEV_Create(起始坐标x,起始坐标y,显示区域宽w, 显示区域高h);
//GUI_SetBkColor(GUI_RED);
//GUI_Clear();
//上两行可以用来查看修改设定的内存设备区域,区域由红色填充
*************************************************************/
GUI_MEMDEV_CopyToLCD(hMem_BK);
GUI_MEMDEV_Select(0);
//GUI_MEMDEV_Delete();
}