一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

如何使用BinaryFont進(jìn)行字體動(dòng)態(tài)更新

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

掃碼添加小助手

加入工程師交流群

1、引言

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

在嵌入式GUI開(kāi)發(fā)的應(yīng)用中,設(shè)備廠(chǎng)家希望自己的設(shè)備支持用戶(hù)根據(jù)自己喜好來(lái)定義所選用的字體類(lèi)型。從技術(shù)上講,可以將字體和應(yīng)用程序分離開(kāi),這樣可以在嵌入式設(shè)備有限的存儲(chǔ)空間上根據(jù)需要更新和升級(jí)字體的類(lèi)型。

2、TouchGFX Binary font 介紹

TouchGFX為客戶(hù)提供了二進(jìn)制字體(Binary Font)的方法,這些字體沒(méi)有鏈接到應(yīng)用程序中,而是作為文件與應(yīng)用程序分開(kāi)存儲(chǔ),這些文件在運(yùn)行時(shí)由應(yīng)用程序加載并提供給TouchGFX。

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

當(dāng)應(yīng)用程序加載了二進(jìn)制字體后,可以在TouchGFX字體系統(tǒng)中安裝二進(jìn)制字體。這里內(nèi)置的 Font2 被應(yīng)用程序加載的Binaryfont 替換。此后,TouchGFX 不再使用鏈接的Font2,使用自定義的Binary font進(jìn)行顯示。

下面例程展示了如何使用BinaryFont進(jìn)行字體動(dòng)態(tài)更新。

3、演示例程實(shí)現(xiàn)過(guò)程

3.1.打開(kāi) TouchGFX Designer 4.18.0

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

環(huán)境安裝請(qǐng)參考網(wǎng)址: https://support.touchgfx.com/docs/introduction/installation

- VSCode

3.2.打開(kāi) TouchGFX Designer 4.18.0

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

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

3.3 選擇 “文本配置”,選擇 “二進(jìn)制字體文件”

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

3.4 設(shè)計(jì) Screen1 (添加 Images/TextArea/Buttons)

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

3.5 設(shè)置 Typographies :

- Typographies 設(shè)置 :

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

- Single Use 設(shè)置:

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

3.6 TouchGFX Designer 生成項(xiàng)目

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

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

3.7 在代碼中安裝二進(jìn)制字體

在 TouchGFX 使用文本前,二進(jìn)制字體必須從文件或其他存儲(chǔ)中復(fù)制到可直接尋址的存儲(chǔ)空間。當(dāng)應(yīng)用程序?qū)⒍M(jìn)制字體加載到內(nèi)存時(shí),它可以在 TouchGFX 中安裝字體,之后 TouchGFX 將使用該字體而不是編譯后的字體。

- 在FrontApplication.cpp安裝默認(rèn)的二進(jìn)制字體:

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

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

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

- 添加交互,當(dāng)按鍵按下,切換成相應(yīng)的二進(jìn)制字體 :

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 編譯運(yùn)行結(jié)果如下 :

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

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

驗(yàn)證

從以上的演示可以看到,通過(guò)TouchGFX Designer的簡(jiǎn)單配置和調(diào)用其提供的API,就可以輕松實(shí)現(xiàn)字體的動(dòng)態(tài)更新。

廠(chǎng)家和用戶(hù)可以根據(jù)場(chǎng)景需求靈活使用本功能。比如 ,廠(chǎng)家可以通過(guò)針對(duì)的不同用戶(hù)群體來(lái)提供OTA服務(wù),讓用戶(hù)動(dòng)態(tài)更新自己的字體類(lèi)型。這樣由于各二進(jìn)制字體可以占用同一塊內(nèi)存區(qū)域,廠(chǎng)家的硬件成本也會(huì)得到降低。

具體示例實(shí)現(xiàn)過(guò)程,請(qǐng)參考示例代碼 : 《hello-tgfx4180-binary-font-v1.0-202112.7z》

THE END

審核編輯 :李倩

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

    關(guān)注

    114

    文章

    17100

    瀏覽量

    184222
  • 二進(jìn)制
    +關(guān)注

    關(guān)注

    2

    文章

    807

    瀏覽量

    42318

原文標(biāo)題:工程師筆記|STM32GUI_使用 TouchGFX 二進(jìn)制字體(Binary Font)功能實(shí)現(xiàn)字體動(dòng)態(tài)更新

文章出處:【微信號(hào):STM32_STM8_MCU,微信公眾號(hào):STM32單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    無(wú)刷直流電機(jī)狀態(tài)方程系數(shù)矩陣的動(dòng)態(tài)更新

    的仿真建模。把系數(shù)矩陣放在靜態(tài)變量存儲(chǔ)區(qū),可直接修改狀態(tài)方程組的系數(shù)矩陣,達(dá)到快速修改此系數(shù)矩陣的目的。另外,在每個(gè)仿真步長(zhǎng)的輸出階段修改系數(shù)矩陣,達(dá)到了動(dòng)態(tài)更新的目的。仿真結(jié)果表明,文中所提方法可快速
    發(fā)表于 07-09 14:17

    Allegro Skill字符功能之設(shè)置字符位置及字體

    在PCB設(shè)計(jì)過(guò)程中,當(dāng)大量器件被導(dǎo)入到PCB板上時(shí),可能會(huì)出現(xiàn)器件絲印字體相互重疊,使得器件位號(hào)難以辨認(rèn)的情況。
    的頭像 發(fā)表于 06-28 09:46 ?1066次閱讀
    Allegro Skill字符功能之設(shè)置字符位置及<b class='flag-5'>字體</b>

    利用普源示波器進(jìn)行功率器件動(dòng)態(tài)特性測(cè)試的研究

    深度等優(yōu)點(diǎn),在功率器件動(dòng)態(tài)特性測(cè)試中具有廣泛的應(yīng)用前景。本文旨在研究利用普源示波器進(jìn)行功率器件動(dòng)態(tài)特性測(cè)試的方法,為相關(guān)領(lǐng)域的研究和應(yīng)用提供參考。 功率器件動(dòng)態(tài)特性的重要性 ? 功率器
    的頭像 發(fā)表于 06-12 17:03 ?202次閱讀
    利用普源示波器<b class='flag-5'>進(jìn)行</b>功率器件<b class='flag-5'>動(dòng)態(tài)</b>特性測(cè)試的研究

    如何使用.hex進(jìn)行遠(yuǎn)程更新文件?

    使用 .hex 進(jìn)行遠(yuǎn)程更新 文件。
    發(fā)表于 04-21 06:53

    求助,關(guān)于GUIguider1.9.0主界面上方生成字體功能問(wèn)題求解

    GUIguider1.9.0 主界面上方 工具-->>生成字體選項(xiàng),生成的字體 會(huì)在單獨(dú)的一個(gè)文件中,在主界面上,假如創(chuàng)建一個(gè) lable是無(wú)法直接調(diào)用上述字體的,只能
    發(fā)表于 03-28 07:07

    DLP3010EVM-LC對(duì)固件進(jìn)行更新時(shí),一直處于Erasing flash data,為什么?

    更新固件時(shí)突然斷電,接上電之后就出現(xiàn)Connect;Powered Off。再次對(duì)固件進(jìn)行更新時(shí),一直處于Erasing flash data。
    發(fā)表于 02-19 06:44

    AirPods如何進(jìn)行固件更新

    AirPods的固件更新通常是通過(guò)與iPhone、iPad或Mac等蘋(píng)果設(shè)備連接時(shí)自動(dòng)進(jìn)行的。以下是更新AirPods固件的介紹: 一、準(zhǔn)備工作 確保設(shè)備連接 : 將AirPods放入充電盒中,并
    的頭像 發(fā)表于 12-05 14:59 ?1432次閱讀

    智能語(yǔ)音報(bào)站,公交動(dòng)態(tài)更新,城市形象展示…… 中心城區(qū)智能公交電子站牌亮相

    智能語(yǔ)音報(bào)站,公交動(dòng)態(tài)更新,城市形象展示…… 中心城區(qū)智能公交電子站牌亮相
    的頭像 發(fā)表于 11-05 12:44 ?895次閱讀
    智能語(yǔ)音報(bào)站,公交<b class='flag-5'>動(dòng)態(tài)</b><b class='flag-5'>更新</b>,城市形象展示…… 中心城區(qū)智能公交電子站牌亮相

    xbf 字體 在 串口屏中的應(yīng)用有什么優(yōu)勢(shì)

    XBF字體的特點(diǎn) XBF(External Bitmap Font)格式是一種特殊的字體文件格式,它包含了字體信息的二進(jìn)制數(shù)據(jù)塊。XBF字體的主要特點(diǎn)包括: 節(jié)省內(nèi)存 :使用XBF
    的頭像 發(fā)表于 10-15 11:55 ?1666次閱讀

    通過(guò)I2C進(jìn)行TPS65987和TPS65988 SPI閃存固件更新

    電子發(fā)燒友網(wǎng)站提供《通過(guò)I2C進(jìn)行TPS65987和TPS65988 SPI閃存固件更新.pdf》資料免費(fèi)下載
    發(fā)表于 09-29 10:31 ?2次下載
    通過(guò)I2C<b class='flag-5'>進(jìn)行</b>TPS65987和TPS65988 SPI閃存固件<b class='flag-5'>更新</b>

    使用LM5177 4開(kāi)關(guān)降壓/升壓控制器進(jìn)行動(dòng)態(tài)電流跟蹤

    電子發(fā)燒友網(wǎng)站提供《使用LM5177 4開(kāi)關(guān)降壓/升壓控制器進(jìn)行動(dòng)態(tài)電流跟蹤.pdf》資料免費(fèi)下載
    發(fā)表于 09-07 11:01 ?0次下載
    使用LM5177 4開(kāi)關(guān)降壓/升壓控制器<b class='flag-5'>進(jìn)行動(dòng)態(tài)</b>電流跟蹤

    使用主機(jī)進(jìn)行TPS257x-Q1/77x-Q1固件更新

    電子發(fā)燒友網(wǎng)站提供《使用主機(jī)進(jìn)行TPS257x-Q1/77x-Q1固件更新.pdf》資料免費(fèi)下載
    發(fā)表于 09-03 10:26 ?0次下載
    使用主機(jī)<b class='flag-5'>進(jìn)行</b>TPS257x-Q1/77x-Q1固件<b class='flag-5'>更新</b>

    使用TPSM63610對(duì)USB Type-C應(yīng)用進(jìn)行動(dòng)態(tài)輸出電壓控制

    電子發(fā)燒友網(wǎng)站提供《使用TPSM63610對(duì)USB Type-C應(yīng)用進(jìn)行動(dòng)態(tài)輸出電壓控制.pdf》資料免費(fèi)下載
    發(fā)表于 08-28 10:36 ?0次下載
    使用TPSM63610對(duì)USB Type-C應(yīng)用<b class='flag-5'>進(jìn)行動(dòng)態(tài)</b>輸出電壓控制

    微軟更新Windows 11 24H2版本,優(yōu)化相關(guān)二進(jìn)制文件

    及Copilot+ PC功能進(jìn)行了定制化更新。最新動(dòng)態(tài)中,微軟發(fā)布了編號(hào)為KB5041178的Windows 11 24H2專(zhuān)項(xiàng)更新,此次更新
    的頭像 發(fā)表于 08-08 17:29 ?1226次閱讀

    Allegro X 23.11 版本更新 I PCB 設(shè)計(jì):與器件關(guān)聯(lián)的動(dòng)態(tài)禁布區(qū)

    基于A(yíng)llegroX23.11版本更新,我們將通過(guò)實(shí)例講解、視頻演示讓您深入了解AllegroXSystemCapture、AllegroXPCBDesigner、AllegroXPulse產(chǎn)品
    的頭像 發(fā)表于 08-03 08:12 ?1203次閱讀
    Allegro X 23.11 版本<b class='flag-5'>更新</b> I PCB 設(shè)計(jì):與器件關(guān)聯(lián)的<b class='flag-5'>動(dòng)態(tài)</b>禁布區(qū)