char acText[] = "This example demostrates text wrapping";
GUI_RECT rect = {10, 100, 75, 230};
GUI_WRAPMODE aWm[] = {GUI_WRAPMODE_NONE, GUI_WRAPMODE_CHAR, GUI_WRAPMODE_WORD};
void gui_font(void)
{
uint8_t i;
/* 设置背景色 */
GUI_SetBkColor(GUI_BLUE);
GUI_Clear();
/* 设置字体大小 */
GUI_SetFont(&GUI_Font24B_ASCII);
GUI_DispStringAt("fitpolo\n", 10, 10);
/* 画线 */
GUI_SetPenSize(8);
GUI_SetColor(GUI_RED);
GUI_DrawLine(10, 40, 230, 120);
GUI_DrawLine(10, 120, 230, 40);
/* 绘制文本 */
GUI_SetBkColor(GUI_BLACK);
GUI_SetColor(GUI_WHITE);
GUI_SetFont(&GUI_Font24B_ASCII);
/* 正常模式 */
GUI_SetTextMode(GUI_TM_NORMAL);
GUI_DispStringHCenterAt("GUI_TM_NORMAL" , 120, 40);
/* 反转显示 = 背景色和画笔颜色调换*/
GUI_SetTextMode(GUI_TM_REV);
GUI_DispStringHCenterAt("GUI_TM_REV" , 120, 40 + 24);
/* 透明文本 = 过滤背景颜色*/
GUI_SetTextMode(GUI_TM_TRANS);
GUI_DispStringHCenterAt("GUI_TM_TRANS" , 120, 40 + 24 * 2);
/* 异或文本 */
GUI_SetTextMode(GUI_TM_XOR);
GUI_DispStringHCenterAt("GUI_TM_XOR" , 120, 40 + 24 * 3);//不支持读会LCD屏幕的颜色值
/* 透明反转文本 */
GUI_SetTextMode(GUI_TM_TRANS | GUI_TM_REV);
GUI_DispStringHCenterAt("GUI_TM_TRANS | GUI_TM_REV", 120, 40 + 24 * 4);
GUI_Delay(3*1000);
/* 设置背景色 */
GUI_SetBkColor(GUI_BLUE);
GUI_Clear();
GUI_GotoXY(0,0);
/* 在矩形区域内显示文本 */
GUI_SetFont(&GUI_Font24B_ASCII);
GUI_SetTextMode(GUI_TM_TRANS);//透明文本
for(i = 0;i < 3;i++)
{
GUI_SetColor(GUI_WHITE);
GUI_FillRectEx(&rect);//画矩形
GUI_SetColor(GUI_RED);
GUI_DispStringInRectWrap(acText, &rect, GUI_TA_LEFT, aWm[i]);
rect.x0 += 75;
rect.x1 += 75;
}
}
因为没办法读取屏幕颜色,所以异或的功能没有。