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