chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

嵌入式GUI“美容”小技巧:讓小身板的MCU,也可以有個(gè)俊模樣的界面設(shè)計(jì)!

NXP客棧 ? 來源:未知 ? 2023-05-19 10:55 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在本文中,小編用“小身板”和“俊模樣”來指代一個(gè)帶有圖形用戶界面的系統(tǒng)的兩個(gè)方面。“小身板”是指相對有限的MCU資源,例如:相對較低的主頻、相對較少的存儲資源、沒有專門的LCD顯示控制器、較低的顯示接口速度等等;而“俊模樣”是指對用戶友好,漂亮且富于吸引力的圖形界面,就如同男生的帥、女生的美。

男生的帥和女生的美,除了與天生的基因有關(guān),外在的修飾也同樣必不可少。俗話說,人靠衣裳馬靠鞍,衣裳和鞍都是外部的修飾,都是實(shí)現(xiàn)美好事物所需要的資源。

由此及彼,一個(gè)“俊模樣”的GUI設(shè)計(jì),同樣對資源有比較高的要求。這些資源包括主頻、Flash和RAM以及美工設(shè)計(jì)等等。那么,是不是“小身板”就不能有“俊模樣”呢?

不是的!如同一個(gè)優(yōu)秀的化妝師可以用卓越的手段實(shí)現(xiàn)美,嵌入式工程師也可以通過各種手段進(jìn)行資源優(yōu)化,力爭讓“小身板”的MCU也能實(shí)現(xiàn)“俊模樣”的界面設(shè)計(jì)。

對GUI設(shè)計(jì)進(jìn)行資源優(yōu)化的路很漫長,涉及的方面很多,需要我們不斷發(fā)現(xiàn),不斷思考。小編在這里通過一些示例和大家分享如何使用Slider對某一類動(dòng)畫進(jìn)行存儲資源優(yōu)化。

我們在生活中經(jīng)常會見到這樣一類應(yīng)用,如下圖所示:

347420da-f5ef-11ed-90ce-dac502259ad0.png

通過觀察我們發(fā)現(xiàn),盡管上面的圖形元素,外觀各異、形狀各異,但是都可以被抽象為兩個(gè)部分:靜態(tài)部分和動(dòng)態(tài)部分。比如,咖啡液位,由靜態(tài)的杯子和動(dòng)態(tài)的咖啡組成;溫度計(jì)由靜態(tài)的玻璃容器和動(dòng)態(tài)的水銀組成。

我們再看看GUI設(shè)計(jì)中經(jīng)常使用到的控件——Slider,其典型結(jié)構(gòu)如下圖所示。這是一個(gè)典型的Slider控件,由靜態(tài)的背景 (main) 和動(dòng)態(tài)的指示器 (Indicator) 以及調(diào)節(jié)點(diǎn) (Knob) 組成。

348125c8-f5ef-11ed-90ce-dac502259ad0.png

LVGL中,設(shè)置樣式的函數(shù)名都是以lv_obj開始,例如:

  • lv_obj_set_style_bg_color

  • lv_obj_set_style_bg_opa

  • lv_obj_set_style_bg_img_src

可見,樣式是針對所有控件的父對象而言的。換句話說,我們既可以通過lv_obj_set_style_bg_img_src為Slider控件的背景、指示器和調(diào)節(jié)點(diǎn)設(shè)置圖片樣式,也可以通過lv_obj_set_style_bg_opa將Slider控件的背景、指示器和調(diào)節(jié)點(diǎn)的透明度設(shè)置為0從而達(dá)到隱藏Slider控件相應(yīng)組成部分的目的。

接下來,我們看看如何使用Slider實(shí)現(xiàn)咖啡液位變化的動(dòng)畫效果。

首先,通過美工設(shè)計(jì),將咖啡液位的圖分解為兩部分,杯子和咖啡,并將它們分別作為Slider的背景部分和指示器部分,同時(shí)隱藏Slider的調(diào)節(jié)點(diǎn)部分,如下面的簡圖所示。

3487f998-f5ef-11ed-90ce-dac502259ad0.png

咖啡液位的分解及與Slider的對應(yīng)關(guān)系

完成上面的工作之后,后面的工作就是為Slider創(chuàng)建動(dòng)畫,并在動(dòng)畫的回調(diào)函數(shù)中周期性地調(diào)用lv_slider_set_value函數(shù)以改變Slider指示器的值,從而實(shí)現(xiàn)咖啡液位變化的效果。

看到這里,大家會問了,你講這么多,和存儲資源優(yōu)化有什么關(guān)系嗎?大家請想想看,通常我們?nèi)绾螌?shí)現(xiàn)這樣的動(dòng)畫效果?大致如下圖所示,將咖啡液位變化的動(dòng)畫分解為若干不同液位的靜態(tài)圖片,然后,每隔一個(gè)時(shí)間間隔播放一張圖片。時(shí)間間隔越短,圖片數(shù)量越多,動(dòng)畫的效果越流暢。但是,圖片數(shù)量越多,需要的存儲資源越多。

但是,使用上面的方法,實(shí)現(xiàn)相同的動(dòng)畫效果,只需要兩張圖片即可,節(jié)約存儲資源。

3492c9cc-f5ef-11ed-90ce-dac502259ad0.png

那么,最后總結(jié)一下,有兩點(diǎn)與大家分享:

01

前面的三個(gè)顯示應(yīng)用,可以抽象出共同的特性。那就是,它們都可以清晰地剝離出靜態(tài)部分和動(dòng)態(tài)部分。動(dòng)態(tài)部分都具有有限的變化范圍,也就是具有一個(gè)起始值和結(jié)束值。比如,咖啡液位總是在最低液位和最高液位之間變化;又比如,溫度計(jì)顯示的溫度值也總是在最低溫度和最高溫度之間變化。那么,對于這類應(yīng)用,就可以用Slider實(shí)現(xiàn)。

每一種顯示動(dòng)畫的方法,都有適用范圍,沒有好壞之分。我們只有為自己的顯示應(yīng)用選擇合適的方案,才能最大限度地優(yōu)化存儲資源。

02

一點(diǎn)GUI動(dòng)畫顯示的心得體會,與大家分享,歡迎各位大神指導(dǎo)。


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

    關(guān)注

    61

    文章

    1377

    瀏覽量

    194852

原文標(biāo)題:嵌入式GUI“美容”小技巧:讓小身板的MCU,也可以有個(gè)俊模樣的界面設(shè)計(jì)!

文章出處:【微信號:NXP客棧,微信公眾號:NXP客?!繗g迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

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

    嵌入式應(yīng)掌握的幾種能力

    、能力。 我覺得牢牢地掌握這些99.99999%的概率都會用得上的嵌入式軟件基礎(chǔ)對找工作才比較有利。其它一些技術(shù)可以再用的時(shí)候再去了解、學(xué)習(xí)。 特別是一些行業(yè)相關(guān)知識,可以入行之后再進(jìn)行學(xué)習(xí)。如果你一開始的目標(biāo)就很明確,要在
    發(fā)表于 12-08 06:05

    ARM嵌入式這樣學(xué)

    的內(nèi)核就是ARM內(nèi)核,它的主頻高很多,普通的都有幾百M(fèi)。CPU緩存大,分很多級的流水處理線,這樣大大提高了CPU利用率。這種IC的資源足以個(gè)嵌入式操作系統(tǒng)正常跑起來,WINCE,
    發(fā)表于 12-04 07:48

    瑞薩電子攜手LVGL PRO推進(jìn)嵌入式圖形用戶界面開發(fā)

    隨著嵌入式設(shè)備對用戶體驗(yàn)要求的不斷提升,圖形用戶界面GUI)成為產(chǎn)品開發(fā)越來越重要的一環(huán)。作為目前最流行的開源嵌入式圖形庫之一的LVGL,最近就推出了自己的商業(yè)化專業(yè)UI編輯器LVG
    的頭像 發(fā)表于 11-21 10:23 ?975次閱讀
    瑞薩電子攜手LVGL PRO推進(jìn)<b class='flag-5'>嵌入式</b>圖形用戶<b class='flag-5'>界面</b>開發(fā)

    嵌入式系統(tǒng)必懂的 20 個(gè)寄存器

    嵌入式系統(tǒng)中開發(fā)者必懂的20個(gè)寄存器,你快速掌握MCU的核心操作方法。01寄存器基礎(chǔ)寄存器是CPU內(nèi)部用于高速存取數(shù)據(jù)的小容量存儲單元,是計(jì)算機(jī)執(zhí)行指令、處理
    的頭像 發(fā)表于 11-14 10:28 ?653次閱讀
    <b class='flag-5'>嵌入式</b>系統(tǒng)必懂的 20 <b class='flag-5'>個(gè)</b>寄存器

    40個(gè)嵌入式常見名詞一次講清!

    嵌入式學(xué)習(xí)和開發(fā)的路上,你是否遇到過這些情況:UART和串口分不清,MCU和MPU傻傻搞混,SPI、I2C、I2S看著都像,驅(qū)動(dòng)、固件、Bootloader、BSP聽得頭大……別急,這不是你
    的頭像 發(fā)表于 11-14 10:28 ?610次閱讀
    40<b class='flag-5'>個(gè)</b><b class='flag-5'>嵌入式</b>常見名詞一次講清!

    如何使用 SEGGER emWin AppWizard 工具為儀表板界面設(shè)計(jì)圖形用戶界面?

    如何使用 SEGGER emWin AppWizard 工具為儀表板界面設(shè)計(jì)圖形用戶界面GUI)。它集成了控制 MA35H0 系列評估板上的 LED 和按鈕的功能。
    發(fā)表于 08-19 07:23

    嵌入式工程師為什么要學(xué)QT?

    、車載系統(tǒng)和消費(fèi)電子等領(lǐng)域尤為突出。其跨平臺特性、豐富的庫和工具、高性能以及強(qiáng)大的GUI支持,Qt成為嵌入式開發(fā)最理想的選擇。 嵌入式工程師學(xué)習(xí)Qt
    發(fā)表于 08-14 15:15

    嵌入式什么勸退之處?

    要說嵌入式開發(fā)的勸退點(diǎn),那可真得掏心窩子聊聊。這行當(dāng)入門就帶著股子 “磨人” 勁兒,不像搞互聯(lián)網(wǎng)寫個(gè)小程序,幾行代碼跑起來就能瞅見點(diǎn)模樣。嵌入式得從最底層的東西啃起,什么二進(jìn)制指令、芯片引腳怎么接
    的頭像 發(fā)表于 08-13 11:34 ?894次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>有</b>什么勸退之處?

    怎么結(jié)合嵌入式,Linux,和FPGA三個(gè)方向達(dá)到一個(gè)均衡發(fā)展?

    嵌入式領(lǐng)域,不少人都懷揣著嵌入式、Linux 和 FPGA 三個(gè)方向?qū)崿F(xiàn)均衡發(fā)展的夢想,然而實(shí)踐中卻面臨諸多挑戰(zhàn)。就像備受矚目的全棧工程師稚暉君,他從大學(xué)玩單片機(jī)起步,憑借將智能算
    的頭像 發(fā)表于 06-25 10:08 ?654次閱讀
    怎么結(jié)合<b class='flag-5'>嵌入式</b>,Linux,和FPGA三<b class='flag-5'>個(gè)</b>方向達(dá)到一<b class='flag-5'>個(gè)</b>均衡發(fā)展?

    Linux嵌入式和單片機(jī)嵌入式的區(qū)別?

    Processor Unit)。 2. 單片機(jī)嵌入式稱為嵌入式微控制器MCU): 定義:一種集成電路,能夠在一個(gè)芯片上完成各種計(jì)算
    發(fā)表于 06-20 09:46

    10分鐘上手睿擎平臺GUI開發(fā):第一個(gè)LVGL圖形應(yīng)用

    LVGL開源圖形庫為嵌入式系統(tǒng)提供了高效的GUI設(shè)計(jì)解決方案,為開發(fā)者提供了直觀且易于使用的界面設(shè)計(jì)環(huán)境。LVGL不僅資源占用低,更擁有全面的功能和豐富的文檔資料,使得GUI設(shè)計(jì)變得簡
    的頭像 發(fā)表于 06-06 18:41 ?2261次閱讀
    10分鐘上手睿擎平臺<b class='flag-5'>GUI</b>開發(fā):第一<b class='flag-5'>個(gè)</b>LVGL圖形應(yīng)用

    如何構(gòu)建一個(gè)一次充電可以運(yùn)行數(shù)月的嵌入式設(shè)備?

    計(jì)時(shí)器精確控制任務(wù)執(zhí)行。 這里RTC與系統(tǒng)計(jì)時(shí)器是低功耗嵌入式設(shè)備的秘訣,下面是我撰寫的一篇關(guān)于如何使用RTC喚醒+系統(tǒng)計(jì)時(shí)器調(diào)度來設(shè)計(jì)節(jié)能嵌入式系統(tǒng)的課件(PPT),在這篇深度技術(shù)文章中,您將學(xué)習(xí): ??為什么RTC對于超低功耗喚醒至關(guān)重要。 ??一旦M
    的頭像 發(fā)表于 03-04 11:25 ?645次閱讀
    如何構(gòu)建一<b class='flag-5'>個(gè)</b>一次充電<b class='flag-5'>可以</b>運(yùn)行數(shù)月的<b class='flag-5'>嵌入式</b>設(shè)備?

    ARM架構(gòu)嵌入式主板特點(diǎn)

    嵌入式主板可以理解為嵌入在設(shè)備中用于控制和數(shù)據(jù)處理的CPU板,也就是設(shè)備的“大腦”。當(dāng)主板嵌入到設(shè)備中,當(dāng)然對主板的體積和功耗會有更嚴(yán)格的要求(嵌入
    的頭像 發(fā)表于 12-31 16:03 ?1846次閱讀
    ARM架構(gòu)<b class='flag-5'>嵌入式</b>主板特點(diǎn)

    學(xué)嵌入式好找工作嗎?

    時(shí)刻充滿新鮮感和挑戰(zhàn)性。 當(dāng)然,嵌入式作為一個(gè)職業(yè)發(fā)展方向并非毫無挑戰(zhàn),它要求從業(yè)者較強(qiáng)的學(xué)習(xí)能力,要不斷跟進(jìn)硬件更新?lián)Q代和軟件技術(shù)迭代,并且前期學(xué)習(xí)曲線相對較陡,需要花費(fèi)大量時(shí)
    發(fā)表于 12-16 15:43

    新手怎么學(xué)嵌入式?

    嵌入式系統(tǒng)的發(fā)展,嵌入式操作系統(tǒng)變得越來越重要。學(xué)習(xí)嵌入式操作系統(tǒng)可以幫助你更好地管理嵌入式
    發(fā)表于 12-12 10:51