国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何使用BinaryFont進行字體動態更新

STM32單片機 ? 來源:STM32單片機 ? 作者:STM32單片機 ? 2022-08-03 09:30 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1、引言

自從 2013 年第一款側重于 GUI 應用的 STM32F429x【內嵌 Chrom-ART 圖形加速和 LTDC 控制器】開始,ST 就為大 家提供了 STM32MCU + X-Cube-TouchGFX 一站式 GUI 開發平臺。越來越多的客戶使用 STM32 + TouchGFX 開發智能手表/智能家居控制面板等嵌入式設備。

在嵌入式GUI開發的應用中,設備廠家希望自己的設備支持用戶根據自己喜好來定義所選用的字體類型。從技術上講,可以將字體和應用程序分離開,這樣可以在嵌入式設備有限的存儲空間上根據需要更新和升級字體的類型。

2、TouchGFX Binary font 介紹

TouchGFX為客戶提供了二進制字體(Binary Font)的方法,這些字體沒有鏈接到應用程序中,而是作為文件與應用程序分開存儲,這些文件在運行時由應用程序加載并提供給TouchGFX。

2b43dc4e-12c4-11ed-ba43-dac502259ad0.png

當應用程序加載了二進制字體后,可以在TouchGFX字體系統中安裝二進制字體。這里內置的 Font2 被應用程序加載的Binaryfont 替換。此后,TouchGFX 不再使用鏈接的Font2,使用自定義的Binary font進行顯示。

下面例程展示了如何使用BinaryFont進行字體動態更新。

3、演示例程實現過程

3.1.打開 TouchGFX Designer 4.18.0

- TouchGFX4.18.0 (本文使用 4.18.0 舉例,其他版本操作過程相同)

環境安裝請參考網址: https://support.touchgfx.com/docs/introduction/installation

- VSCode

3.2.打開 TouchGFX Designer 4.18.0

選擇 STM32F746DK 探索板,生成工程 :

2b953288-12c4-11ed-ba43-dac502259ad0.png

3.3 選擇 “文本配置”,選擇 “二進制字體文件”

2bb467b6-12c4-11ed-ba43-dac502259ad0.png

3.4 設計 Screen1 (添加 Images/TextArea/Buttons)

2bd4ae22-12c4-11ed-ba43-dac502259ad0.png

3.5 設置 Typographies :

- Typographies 設置 :

2bfacb02-12c4-11ed-ba43-dac502259ad0.png

- Single Use 設置:

2c165430-12c4-11ed-ba43-dac502259ad0.png

3.6 TouchGFX Designer 生成項目

可以在以下目錄下找到verdana和verdana italic的二進制字體文件 :

2c33be8a-12c4-11ed-ba43-dac502259ad0.png

3.7 在代碼中安裝二進制字體

在 TouchGFX 使用文本前,二進制字體必須從文件或其他存儲中復制到可直接尋址的存儲空間。當應用程序將二進制字體加載到內存時,它可以在 TouchGFX 中安裝字體,之后 TouchGFX 將使用該字體而不是編譯后的字體。

- 在FrontApplication.cpp安裝默認的二進制字體:

2c450e06-12c4-11ed-ba43-dac502259ad0.png

2c690cb6-12c4-11ed-ba43-dac502259ad0.png

3.7 添加 Button 交互,用于選擇使用不同的二進制字體

- 添加交互,當按鍵按下,切換成相應的二進制字體 :

2c8df33c-12c4-11ed-ba43-dac502259ad0.png

- 添加代碼 Screen1View.hpp

2cb9e5c8-12c4-11ed-ba43-dac502259ad0.png

2cca3720-12c4-11ed-ba43-dac502259ad0.png

- 添加代碼 Screen1View.cpp

2ce81cd6-12c4-11ed-ba43-dac502259ad0.png

2d097e80-12c4-11ed-ba43-dac502259ad0.png

3.8 編譯運行結果如下 :

2d2a0e5c-12c4-11ed-ba43-dac502259ad0.png

2d3d005c-12c4-11ed-ba43-dac502259ad0.png

驗證

從以上的演示可以看到,通過TouchGFX Designer的簡單配置和調用其提供的API,就可以輕松實現字體的動態更新。

廠家和用戶可以根據場景需求靈活使用本功能。比如 ,廠家可以通過針對的不同用戶群體來提供OTA服務,讓用戶動態更新自己的字體類型。這樣由于各二進制字體可以占用同一塊內存區域,廠家的硬件成本也會得到降低。

具體示例實現過程,請參考示例代碼 : 《hello-tgfx4180-binary-font-v1.0-202112.7z》

THE END

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 控制器
    +關注

    關注

    114

    文章

    17791

    瀏覽量

    193258
  • 二進制
    +關注

    關注

    2

    文章

    809

    瀏覽量

    43037

原文標題:工程師筆記|STM32GUI_使用 TouchGFX 二進制字體(Binary Font)功能實現字體動態更新

文章出處:【微信號:STM32_STM8_MCU,微信公眾號:STM32單片機】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    智能顯示模塊支持哪些國家的字體顯示?

    智能顯示模塊支持哪些國家的字體顯示?
    發表于 02-26 10:51

    智能顯示模塊帶字庫嗎?可以支持哪些字體顯示?

    智能顯示模塊帶字庫嗎?可以支持哪些字體顯示?
    發表于 02-26 10:47

    打開工程后工程中的字體沒有顯示,如字符串,數字等控件不能預覽顯示字體?

    打開工程后工程中的字體沒有顯示,如字符串,數字等控件不能預覽顯示字體
    發表于 02-25 17:39

    長城汽車定制車機字體全球免費商用

    近日,長城汽車正式宣布,其自研的定制車機字體 “長城黑體”即日起更名為“長城共享體”,并面向全球設計者、開發者及企業開放免費商用版權,用戶可通過長城汽車官方網站獲取。
    的頭像 發表于 02-01 15:15 ?1160次閱讀

    資產賬實不符?智能系統掃碼建檔,動態更新

    資產賬實不符根源在于 “數據滯后于實物變動”。智能系統通過掃碼建檔賦予資產唯一身份,以動態更新實現數據與實物同步,結合全生命周期管控,讓設備 “來龍去脈” 可溯。從發電企業汽輪機到城市供水管網的實踐證明,當資產數據從 “靜態記錄” 變為 “
    的頭像 發表于 09-23 10:14 ?470次閱讀
    資產賬實不符?智能系統掃碼建檔,<b class='flag-5'>動態</b><b class='flag-5'>更新</b>

    labview中三維圖中的字體要怎么修改?

    圖中圈起來的字體要怎么改
    發表于 09-07 20:04

    請問如何使用GB2312字體編碼?

    如何使用GB2312字體編碼?
    發表于 09-04 07:42

    使用NuMicro_ISP_Programming_Tool的UART功能進行ISP更新時如何更改UART端口?

    使用NuMicro_ISP_Programming_Tool的UART功能進行ISP更新時如何更改UART端口?
    發表于 08-25 06:38

    如何在 Linux 階段進行 OTA 更新?

    如何在 Linux 階段進行 OTA 更新
    發表于 08-20 08:27

    如何在 uboot 階段進行 MA35D1 OTA 更新?

    如何在 uboot 階段進行 MA35D1 OTA 更新
    發表于 08-20 06:05

    無刷直流電機狀態方程系數矩陣的動態更新

    的仿真建模。把系數矩陣放在靜態變量存儲區,可直接修改狀態方程組的系數矩陣,達到快速修改此系數矩陣的目的。另外,在每個仿真步長的輸出階段修改系數矩陣,達到了動態更新的目的。仿真結果表明,文中所提方法可快速
    發表于 07-09 14:17

    Allegro Skill字符功能之設置字符位置及字體

    在PCB設計過程中,當大量器件被導入到PCB板上時,可能會出現器件絲印字體相互重疊,使得器件位號難以辨認的情況。
    的頭像 發表于 06-28 09:46 ?2471次閱讀
    Allegro Skill字符功能之設置字符位置及<b class='flag-5'>字體</b>

    利用普源示波器進行功率器件動態特性測試的研究

    深度等優點,在功率器件動態特性測試中具有廣泛的應用前景。本文旨在研究利用普源示波器進行功率器件動態特性測試的方法,為相關領域的研究和應用提供參考。 功率器件動態特性的重要性 ? 功率器
    的頭像 發表于 06-12 17:03 ?683次閱讀
    利用普源示波器<b class='flag-5'>進行</b>功率器件<b class='flag-5'>動態</b>特性測試的研究

    如何使用.hex進行遠程更新文件?

    使用 .hex 進行遠程更新 文件。
    發表于 04-21 06:53

    求助,關于GUIguider1.9.0主界面上方生成字體功能問題求解

    GUIguider1.9.0 主界面上方 工具-->>生成字體選項,生成的字體 會在單獨的一個文件中,在主界面上,假如創建一個 lable是無法直接調用上述字體的,只能
    發表于 03-28 07:07