NodeMCU 之 U8G2 庫使用詳解(2)


1.指令

1 u8g2.clearDisplay();    // 清除顯示數據及屏幕
2 u8g2.clearBuffer();    // 清Buffer緩沖區的數據
3 u8g2.sendBuffer();    // 將Buffer幀緩沖區的內容發送到顯示器,發送刷新消息
4 u8g2.sendF("c", 0x0a7);    // 向顯示控制器發送特殊命令
5 u8g2.setPowerSave(0)    // 開關省電模式

2.設置

1 u8g2.enableUTF8Print();    //設置啟用UTF-8支持
2 u8g2.disableUTF8Print();    //設置停用UTF-8支持
3 u8g2.setContrast();    //設置顯示屏亮度/對比度(0-255)
4 u8g2.setBusClock();    //設置連接速度(IIC:200000-400000/SPI:1000000-8000000),在begin()之前調用

2.1設置字體:

1 u8g2.setFontMode(0);    //定義字體背景模式,僅u8g2_xxx_tX字體支持,默認0,禁用透明
2 u8g2.setFontDirection(0); //旋轉當前顯示 參數:0123
3 u8g2.setFont(u8g2_font_unifont_t_chinese1);    //設置字體
4 u8g2.setFontPosCenter();    //設置字體基線Center/Baseline/Bottom/Top

2.2設置顏色:
 1 u8g2.setDrawColor(1); //設置顏色,0透顯,1實顯,2XOR (drawCircle,drawDisc,drawEllipse和drawFilledEllipse不支持XOR模式) 

2.3設置光標位置:

1 u8g2.home();    //設置光標回初始位置
2 u8g2.setCursor(x, y); //設置打印功能的光標位置
3 u8g2.setBitmapMode(0);    //設置是否開啟位圖函數背景色

3.簡單繪制

1 u8g2.drawStr(x, y, "文本"); // 繪制文本字符,不能繪制編碼大於或等於256,繪制文本前需定義字體.y軸向上繪制
2 u8g2.drawUTF8(x, y,"字符");    // 繪制一個編碼為UTF-8的字符串.注意1.編譯器支持2.代碼編輯器支持
3 u8g2.drawGlyph(x, y, HEX);    // 繪制特殊文本圖標(需聯合特殊字體)
4 u8g2.print();    // 打印文本字符(需要聯合光標位置setCursor,setFont)支持變量和F()

4.高級繪制

4.0.繪制點

 1 u8g2.drawPixel(x, y); // 在xy位置繪制一個像素. 


4.1.繪制線條

1 u8g2.drawHLine(x, y, w); // 繪制水平線 w長度
2 u8g2.drawVLine(x, y, h);    // 繪制垂直線 h高度
3 u8g2.drawLine(x1, y1, x2, y2);    // 畫自由線 x1y1點1 x2y2點2

4.2.繪制矩形

 1 u8g2.drawBox(x, y, w, h); // 畫填充矩形w,h,寬度,高度 2 u8g2.drawFrame(x, y, w, h); // 畫空心矩形w,h,寬度,高度 
4.2.1.繪制圓角矩形 

1 u8g2.drawRFrame(x,y,w,h,r); //要求w >= 2*(r+1);h >= 2*(r+1);否則未定義2*(r+1) 
4.3. 繪制圓形

4.3.1.畫正/橢圓

1 u8g2.drawCircle(圓心x, 圓心y, 半徑rad, 部分位置U8G2_DRAW_ALL);    // 畫空心圓 rad半徑 直徑為 2rad+1
2 u8g2.drawEllipse(圓心x, 圓心y, 橢圓長度x, 橢圓寬度y, 部分位置U8G2_DRAW_ALL)    //畫空心橢圓 長度和寬度均為整個圓的1/2
3 U8G2_DRAW_ALL    /*替換參數: 
4 U8G2_DRAW_ALL 全部
5 U8G2_DRAW_UPPER_RIGHT 上右
6 U8G2_DRAW_UPPER_LEFT 上左
7 U8G2_DRAW_LOWER_RIGHT 下右
8 U8G2_DRAW_LOWER_LEFT 下左*/

4.4.繪制多邊形
 1 u8g2.drawTriangle(x1,y1,x2,y2,x3,y3); //三個點的坐標,實心 
4.5.繪制位圖圖像

1 u8g2.drawXBM( x, y, w, h, bits);    //bits是位圖資源表,setBitmapMode(1)切換為舊模式

5.繪制處理
5.1.指定區域繪制

1 u8g2.setClipWindow(x1, y1, x2, y2);    //從1到2形成可視矩形,矩形內部可視,外部遮蓋
2 u8g2.updateDisplay();    //刷新全部顯示區域
3 u8g2.updateDisplayArea(x, y, w, h);    //刷新指定區域顯示 推薦sendBuffer

6.按鍵功能處理

1 u8g2.userInterfaceInputValue("標題","提示文本",值,最低值,最高值,值的位數,"文本")    //按鍵消息菜單
2 u8g2.userInterfaceMessage("Title1", "Title2", "Title3", " Ok \n Cancel ");    //按鍵確認菜單
3 u8g2.userInterfaceSelectionList("Title", 默認選擇項, "Select1\Select2\Select3");    //按鍵選擇菜單

7.高級API操作

u8g2.getBufferSize    //返回頁面緩沖區的大小,等於8*u8g2.getBufferTileHeight*u8g2.getBufferTileWidth
u8g2.setBufferPtr(buf);    //指向內部頁面緩沖區開始位的指針


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM