在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

GUI方式控制OLED

嵌入式應(yīng)用開發(fā) ? 來源:嵌入式應(yīng)用開發(fā) ? 作者:嵌入式應(yīng)用開發(fā) ? 2022-05-06 09:23 ? 次閱讀

GUI簡(jiǎn)析

對(duì)于屏幕而言,如果需要進(jìn)行畫圖、顯示中英文字符、顯示圖片等怎么辦,這些都是上層應(yīng)用做的。這有很多小伙伴有問到一些圖形的處理,我們這里提供了一些基本的功能 在目錄:RaspberryPi\c\lib\GUI\GUI_Paint.c(.h)中可以找到GUI

LCD rpi GUI.png


在目錄:RaspberryPi\c\lib\Fonts下是GUI依賴的字符字體,

LCD rpi Font.png


  • 新建圖像屬性:新建一個(gè)圖像屬性,這個(gè)屬性包括圖像緩存的名稱、寬度、高度、翻轉(zhuǎn)角度、顏色

void Paint_NewImage(UBYTE *image, UWORD Width, UWORD Height, UWORD Rotate, UWORD Color) 參數(shù): image: 圖像緩存的名稱,實(shí)際上是一個(gè)指向圖像緩存首地址的指針; Width: 圖像緩存的寬度; Height: 圖像緩存的高度; Rotate:圖像的翻轉(zhuǎn)的角度 Color :圖像的初始顏色;

  • 選擇圖像緩存:選擇圖像緩存,選擇的目的是你可以創(chuàng)建多個(gè)圖像屬性,圖像緩存可以存在多個(gè),你可以選擇你所創(chuàng)建的每一張圖像

void Paint_SelectImage(UBYTE *image) 參數(shù): image: 圖像緩存的名稱,實(shí)際上是一個(gè)指向圖像緩存首地址的指針;

  • 圖像旋轉(zhuǎn):設(shè)置選擇好的圖像的旋轉(zhuǎn)角度,最好使用在Paint_SelectImage()后,可以選擇旋轉(zhuǎn)0、90、180、270

void Paint_SetRotate(UWORD Rotate) 參數(shù): Rotate: 圖像選擇角度,可以選擇ROTATE_0、ROTATE_90、ROTATE_180、ROTATE_270分別對(duì)應(yīng)0、90、180、270度

  • 設(shè)置像素點(diǎn)的尺寸

void Paint_SetScale(UBYTE scale) 參數(shù): scale: 像素點(diǎn)的尺寸,2:每個(gè)像素點(diǎn)占一位;4:每個(gè)像素點(diǎn)占兩位

  • 圖像鏡像翻轉(zhuǎn):設(shè)置選擇好的圖像的鏡像翻轉(zhuǎn),可以選擇不鏡像、關(guān)于水平鏡像、關(guān)于垂直鏡像、關(guān)于圖像中心鏡像。

void Paint_SetMirroring(UBYTE mirror) 參數(shù): mirror: 圖像的鏡像方式,可以選擇MIRROR_NONE、MIRROR_HORIZONTAL、MIRROR_VERTICAL、MIRROR_ORIGIN分別對(duì)應(yīng)不鏡像、關(guān)于水平鏡像、關(guān)于垂直鏡像、關(guān)于圖像中心鏡像

  • 設(shè)置點(diǎn)在緩存中顯示位置和顏色:這里是GUI最核心的一個(gè)函數(shù)、處理點(diǎn)在緩存中顯示位置和顏色;

void Paint_SetPixel(UWORD Xpoint, UWORD Ypoint, UWORD Color) 參數(shù): Xpoint: 點(diǎn)在圖像緩存中X位置 Ypoint: 點(diǎn)在圖像緩存中Y位置 Color: 點(diǎn)顯示的顏色

  • 圖像緩存填充顏色:把圖像緩存填充為某顏色,一般作為屏幕刷白的作用

void Paint_Clear(UWORD Color) 參數(shù): Color: 填充的顏色

  • 圖像緩存部分窗口填充顏色:把圖像緩存的某部分窗口填充為某顏色,一般作為窗口刷白的作用,常用于時(shí)間的顯示,刷白上一秒

void Paint_ClearWindows(UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yend, UWORD Color) 參數(shù): Xstart: 窗口的X起點(diǎn)坐標(biāo) Ystart: 窗口的Y起點(diǎn)坐標(biāo) Xend: 窗口的X終點(diǎn)坐標(biāo) Yend: 窗口的Y終點(diǎn)坐標(biāo) Color: 填充的顏色

  • 畫點(diǎn):在圖像緩存中,在(Xpoint, Ypoint)上畫點(diǎn),可以選擇顏色,點(diǎn)的大小,點(diǎn)的風(fēng)格

void Paint_DrawPoint(UWORD Xpoint, UWORD Ypoint, UWORD Color, DOT_PIXEL Dot_Pixel, DOT_STYLE Dot_Style) 參數(shù): Xpoint: 點(diǎn)的X坐標(biāo) Ypoint: 點(diǎn)的Y坐標(biāo) Color: 填充的顏色 Dot_Pixel: 點(diǎn)的大小,提供默認(rèn)的8種大小點(diǎn) typedef enum { DOT_PIXEL_1X1 = 1, // 1 x 1 DOT_PIXEL_2X2 , // 2 X 2 DOT_PIXEL_3X3 , // 3 X 3 DOT_PIXEL_4X4 , // 4 X 4 DOT_PIXEL_5X5 , // 5 X 5 DOT_PIXEL_6X6 , // 6 X 6 DOT_PIXEL_7X7 , // 7 X 7 DOT_PIXEL_8X8 , // 8 X 8 } DOT_PIXEL; Dot_Style: 點(diǎn)的風(fēng)格,大小擴(kuò)充方式是以點(diǎn)為中心擴(kuò)大還是以點(diǎn)為左下角往右上擴(kuò)大 typedef enum { DOT_FILL_AROUND = 1, DOT_FILL_RIGHTUP, } DOT_STYLE;

  • 畫線:在圖像緩存中,從 (Xstart, Ystart) 到 (Xend, Yend) 畫線,可以選擇顏色,線的寬度,線的風(fēng)格

void Paint_DrawLine(UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yend, UWORD Color, LINE_STYLE Line_Style , LINE_STYLE Line_Style) 參數(shù): Xstart: 線的X起點(diǎn)坐標(biāo) Ystart: 線的Y起點(diǎn)坐標(biāo) Xend: 線的X終點(diǎn)坐標(biāo) Yend: 線的Y終點(diǎn)坐標(biāo) Color: 填充的顏色 Line_width: 線的寬度,提供默認(rèn)的8種寬度 typedef enum { DOT_PIXEL_1X1 = 1, // 1 x 1 DOT_PIXEL_2X2 , // 2 X 2 DOT_PIXEL_3X3 , // 3 X 3 DOT_PIXEL_4X4 , // 4 X 4 DOT_PIXEL_5X5 , // 5 X 5 DOT_PIXEL_6X6 , // 6 X 6 DOT_PIXEL_7X7 , // 7 X 7 DOT_PIXEL_8X8 , // 8 X 8 } DOT_PIXEL; Line_Style: 線的風(fēng)格,選擇線是以直線連接還是以虛線的方式連接 typedef enum { LINE_STYLE_SOLID = 0, LINE_STYLE_DOTTED, } LINE_STYLE;

  • 畫矩形:在圖像緩存中,從 (Xstart, Ystart) 到 (Xend, Yend) 畫一個(gè)矩形,可以選擇顏色,線的寬度,是否填充矩形內(nèi)部

void Paint_DrawRectangle(UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yend, UWORD Color, DOT_PIXEL Line_width, DRAW_FILL Draw_Fill) 參數(shù): Xstart: 矩形的X起點(diǎn)坐標(biāo) Ystart: 矩形的Y起點(diǎn)坐標(biāo) Xend: 矩形的X終點(diǎn)坐標(biāo) Yend: 矩形的Y終點(diǎn)坐標(biāo) Color: 填充的顏色 Line_width: 矩形四邊的寬度,提供默認(rèn)的8種寬度 typedef enum { DOT_PIXEL_1X1 = 1, // 1 x 1 DOT_PIXEL_2X2 , // 2 X 2 DOT_PIXEL_3X3 , // 3 X 3 DOT_PIXEL_4X4 , // 4 X 4 DOT_PIXEL_5X5 , // 5 X 5 DOT_PIXEL_6X6 , // 6 X 6 DOT_PIXEL_7X7 , // 7 X 7 DOT_PIXEL_8X8 , // 8 X 8 } DOT_PIXEL; Draw_Fill: 填充,是否填充矩形的內(nèi)部 typedef enum { DRAW_FILL_EMPTY = 0, DRAW_FILL_FULL, } DRAW_FILL;

  • 畫圓:在圖像緩存中,以 (X_Center Y_Center) 為圓心,畫一個(gè)半徑為Radius的圓,可以選擇顏色,線的寬度,是否填充圓內(nèi)部

void Paint_DrawCircle(UWORD X_Center, UWORD Y_Center, UWORD Radius, UWORD Color, DOT_PIXEL Line_width, DRAW_FILL Draw_Fill) 參數(shù): X_Center: 圓心的X坐標(biāo) Y_Center: 圓心的Y坐標(biāo) Radius:圓的半徑 Color: 填充的顏色 Line_width: 圓弧的寬度,提供默認(rèn)的8種寬度 typedef enum { DOT_PIXEL_1X1 = 1, // 1 x 1 DOT_PIXEL_2X2 , // 2 X 2 DOT_PIXEL_3X3 , // 3 X 3 DOT_PIXEL_4X4 , // 4 X 4 DOT_PIXEL_5X5 , // 5 X 5 DOT_PIXEL_6X6 , // 6 X 6 DOT_PIXEL_7X7 , // 7 X 7 DOT_PIXEL_8X8 , // 8 X 8 } DOT_PIXEL; Draw_Fill: 填充,是否填充圓的內(nèi)部 typedef enum { DRAW_FILL_EMPTY = 0, DRAW_FILL_FULL, } DRAW_FILL;

  • 寫Ascii字符:在圖像緩存中,在 (Xstart Ystart) 為左頂點(diǎn),寫一個(gè)Ascii字符,可以選擇Ascii碼可視字符字庫、字體前景色、字體背景色

void Paint_DrawChar(UWORD Xstart, UWORD Ystart, const char Ascii_Char, sFONT* Font, UWORD Color_Foreground, UWORD Color_Background) 參數(shù): Xstart: 字符的左頂點(diǎn)X坐標(biāo) Ystart: 字體的左頂點(diǎn)Y坐標(biāo) Ascii_Char:Ascii字符 Font: Ascii碼可視字符字庫,在Fonts文件夾中提供了以下字體: font8:5*8的字體 font12:7*12的字體 font16:11*16的字體 font20:14*20的字體 font24:17*24的字體 Color_Foreground: 字體顏色 Color_Background: 背景顏色

  • 寫英文字符串:在圖像緩存中,在 (Xstart Ystart) 為左頂點(diǎn),寫一串英文字符,可以選擇Ascii碼可視字符字庫、字體前景色、字體背景色

void Paint_DrawString_EN(UWORD Xstart, UWORD Ystart, const char * pString, sFONT* Font, UWORD Color_Foreground, UWORD Color_Background) 參數(shù): Xstart: 字符的左頂點(diǎn)X坐標(biāo) Ystart: 字體的左頂點(diǎn)Y坐標(biāo) pString:字符串,字符串是一個(gè)指針 Font: Ascii碼可視字符字庫,在Fonts文件夾中提供了以下字體: font8:5*8的字體 font12:7*12的字體 font16:11*16的字體 font20:14*20的字體 font24:17*24的字體 Color_Foreground: 字體顏色 Color_Background: 背景顏色

  • 寫中文字符串:在圖像緩存中,在 (Xstart Ystart) 為左頂點(diǎn),寫一串中文字符,可以選擇GB2312編碼字符字庫、字體前景色、字體背景色;

void Paint_DrawString_CN(UWORD Xstart, UWORD Ystart, const char * pString, cFONT* font, UWORD Color_Foreground, UWORD Color_Background) 參數(shù): Xstart: 字符的左頂點(diǎn)X坐標(biāo) Ystart: 字體的左頂點(diǎn)Y坐標(biāo) pString:字符串,字符串是一個(gè)指針 Font: GB2312編碼字符字庫,在Fonts文件夾中提供了以下字體: font12CN:ascii字符字體11*21,中文字體16*21 font24CN:ascii字符字體24*41,中文字體32*41 Color_Foreground: 字體顏色 Color_Background: 背景顏色

  • 寫數(shù)字:在圖像緩存中,在 (Xstart Ystart) 為左頂點(diǎn),寫一串?dāng)?shù)字,可以選擇Ascii碼可視字符字庫、字體前景色、字體背景色

void Paint_DrawNum(UWORD Xpoint, UWORD Ypoint, double Nummber, sFONT* Font, UWORD Digit, UWORD Color_Foreground, UWORD Color_Background) 參數(shù): Xpoint: 字符的左頂點(diǎn)X坐標(biāo) Ypoint: 字體的左頂點(diǎn)Y坐標(biāo) Nummber:顯示的數(shù)字,可以是小數(shù) Digit:小數(shù)位數(shù),不足補(bǔ)零 Font: Ascii碼可視字符字庫,在Fonts文件夾中提供了以下字體: font8:5*8的字體 font12:7*12的字體 font16:11*16的字體 font20:14*20的字體 font24:17*24的字體 Color_Foreground: 字體顏色 Color_Background: 背景顏色

  • 顯示時(shí)間:在圖像緩存中,在 (Xstart Ystart) 為左頂點(diǎn),顯示一段時(shí)間,可以選擇Ascii碼可視字符字庫、字體前景色、字體背景色;

void Paint_DrawTime(UWORD Xstart, UWORD Ystart, PAINT_TIME *pTime, sFONT* Font, UWORD Color_Background, UWORD Color_Foreground) 參數(shù): Xstart: 字符的左頂點(diǎn)X坐標(biāo) Ystart: 字體的左頂點(diǎn)Y坐標(biāo) pTime:顯示的時(shí)間,這里定義好了一個(gè)時(shí)間的結(jié)構(gòu)體,只要把時(shí)分秒各位數(shù)傳給參數(shù); Font: Ascii碼可視字符字庫,在Fonts文件夾中提供了以下字體: font8:5*8的字體 font12:7*12的字體 font16:11*16的字體 font20:14*20的字體 font24:17*24的字體 Color_Foreground: 字體顏色 Color_Background: 背景顏色

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 屏幕
    +關(guān)注

    關(guān)注

    6

    文章

    1199

    瀏覽量

    55804
  • 字符
    +關(guān)注

    關(guān)注

    0

    文章

    233

    瀏覽量

    25210
  • GUI
    GUI
    +關(guān)注

    關(guān)注

    3

    文章

    660

    瀏覽量

    39685
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    OLED驅(qū)動(dòng)方式

    OLED的驅(qū)動(dòng)方式分為主動(dòng)式驅(qū)動(dòng)(有源驅(qū)動(dòng))和被動(dòng)式驅(qū)動(dòng)(無源驅(qū)動(dòng))。無源驅(qū)動(dòng)分為靜態(tài)驅(qū)動(dòng)電路和動(dòng)態(tài)驅(qū)動(dòng)電路。
    發(fā)表于 11-24 10:36 ?4726次閱讀
    <b class='flag-5'>OLED</b>驅(qū)動(dòng)<b class='flag-5'>方式</b>

    請(qǐng)問四軸中OLED用到的GUI函數(shù)庫中的GUI是什么?

    大家好,求問,四軸中OLED用到的GUI函數(shù)庫,是什么GUI,哪里有這個(gè)的源碼下載和講解???
    發(fā)表于 07-29 01:44

    OLED是什么?OLED控制器是什么?

    OLED是什么?OLED控制器是什么?SSD1309是什么?SSD1309有哪些特點(diǎn)?
    發(fā)表于 07-27 08:43

    各種OLED屏幕的使用方式的總結(jié)

    本文主要是筆者在學(xué)習(xí)單片機(jī)過程中,所遇各種OLED屏幕的使用方式的總結(jié)歸納。關(guān)于SSD1306驅(qū)動(dòng)的OLED屏幕開源程序有很多,其與單片機(jī)通信的方式主要有兩種,一是SPI通信,二是I2
    發(fā)表于 12-07 07:38

    OLED驅(qū)動(dòng)的基本原理及驅(qū)動(dòng)方式

    本文介紹了OLED驅(qū)動(dòng)的基本原理,又介紹了OLED的幾種驅(qū)動(dòng)方式,包括8080串口驅(qū)動(dòng),IIC驅(qū)動(dòng),SPI驅(qū)動(dòng)方式,并附上完整源碼,親測(cè)好用,供大家參考,謝謝!
    發(fā)表于 12-07 07:39

    OLED模塊的驅(qū)動(dòng)方式是怎樣的

    OLED模塊的驅(qū)動(dòng)方式是怎樣的?
    發(fā)表于 01-27 07:10

    OLED通信方式概述

    一、概述OLED通信方式有8080、6800、SPI、二、實(shí)驗(yàn)材料1、0.96寸OLED屏。2、最小系統(tǒng)STM32F103C8T6.3、杜邦線若干。三、接線四、程序代碼五、實(shí)驗(yàn)效果程序及相關(guān)資料
    發(fā)表于 02-16 06:22

    oled屏幕的通信方式分為幾種

    oled顯示oled屏幕的通信方式分為2種:1、iic通信方式它是由數(shù)據(jù)線 SDA 和時(shí)鐘 SCL 構(gòu)成的串行總線, 可發(fā)送和接收數(shù)據(jù)。在 CPU 與被控 IC 之間、IC 與 IC
    發(fā)表于 02-16 07:03

    OLED彩色化方式

    OLED彩色化方式   OLED以彩色化的方式區(qū)分可分為三種,一,"RGB
    發(fā)表于 12-11 18:31 ?2121次閱讀
    <b class='flag-5'>OLED</b>彩色化<b class='flag-5'>方式</b>

    基于Matlab_GUI的新型界面開發(fā)方式

    文章先簡(jiǎn)單介紹Matlab/ GUI 的基本特點(diǎn),然后詳細(xì)說明了一種在實(shí)踐工程中得到具體應(yīng)用的GUI 界面,力圖說明新型的界面開發(fā)方式能夠在數(shù)據(jù)處理特別是信號(hào)處理方面優(yōu)于VC 平臺(tái),具有強(qiáng)大的
    發(fā)表于 03-02 16:29 ?76次下載
    基于Matlab_<b class='flag-5'>GUI</b>的新型界面開發(fā)<b class='flag-5'>方式</b>

    交流伺服電機(jī)的模糊PID控制GUI設(shè)計(jì)

    交流伺服電機(jī)的模糊PID控制GUI設(shè)計(jì)-2011。
    發(fā)表于 04-06 10:55 ?26次下載

    初識(shí)GUI應(yīng)用函數(shù)以及文本方式顏色控制函數(shù)

    C_GUI編程入門 第一章:認(rèn)識(shí)GUI編程 在程序設(shè)計(jì)中,往往我們最后編譯的結(jié)果都是通過控制臺(tái)輸出所獲得的一系列數(shù)據(jù),隨著科技一天天的進(jìn)步,人們對(duì)程序的美觀的要求也逐漸加深,所以漸漸的,圖型顯示就變
    的頭像 發(fā)表于 08-26 11:29 ?4621次閱讀

    Juju GUI Juju GUI管理控制臺(tái)

    juju-gui.zip
    發(fā)表于 04-29 14:17 ?2次下載
    Juju <b class='flag-5'>GUI</b> Juju <b class='flag-5'>GUI</b>管理<b class='flag-5'>控制</b>臺(tái)

    DALI 主控制GUI 用戶手冊(cè)

    DALI 主控制GUI 用戶手冊(cè)
    發(fā)表于 01-09 19:11 ?0次下載
    DALI 主<b class='flag-5'>控制</b>器 <b class='flag-5'>GUI</b> 用戶手冊(cè)

    DALI 主控制GUI 用戶手冊(cè)

    DALI 主控制GUI 用戶手冊(cè)
    發(fā)表于 06-30 19:01 ?1次下載
    DALI 主<b class='flag-5'>控制</b>器 <b class='flag-5'>GUI</b> 用戶手冊(cè)
    主站蜘蛛池模板: 中文字幕精品一区二区三区视频 | 夜夜操天天操 | 天天宗合网| 久久 在线播放 | www.啪啪.com| 女人张开腿让男人做爽爽 | 色天网站| 天天草夜夜 | 在线观看三级视频 | 黄色视屏日本 | 成人亚洲欧美综合 | www.av日韩| 日韩国产片| 人人射人人草 | 国产激情视频一区二区三区 | 2019天天操天天干天天透 | 狠狠色噜噜狠狠狠狠98 | 日韩一二三级 | 性配久久久 | 久久青草免费免费91线频观看 | 国产黄色在线视频 | 国产精品视频你懂的 | 日韩免费观看视频 | 爱爱永久免费视频网站 | 天天影视欧美综合在线观看 | 亚洲午夜网 | h网站在线观看 | 亚洲精品午夜久久aaa级久久久 | 热久久这里只有精品 | 天天干干 | 五月婷婷基地 | 四虎国产永久在线精品免费观看 | h在线网站 | www.色黄 | 天天干天天射天天爽 | 美女免费视频色在线观看 | 美女网战色 | 中国性猛交xxxx乱大交 | 2018天天夜夜 | 免费观看成人欧美1314www | 1024手机在线看片 |