圖形子系統(tǒng)
圖形子系統(tǒng)主要包括UI組件、布局、動(dòng)畫、字體、輸入事件、窗口管理、渲染繪制等模塊,構(gòu)建基于輕量OS應(yīng)用框架滿足硬件資源較小的物聯(lián)網(wǎng)設(shè)備或者構(gòu)建基于標(biāo)準(zhǔn)OS的應(yīng)用框架滿足富設(shè)備的OpenHarmony系統(tǒng)應(yīng)用開發(fā)。
1.1 輕量系統(tǒng)
簡(jiǎn)介
圖形子系統(tǒng)主要包括UI組件、布局、動(dòng)畫、字體、輸入事件、窗口管理、渲染繪制等模塊,構(gòu)建基于輕量OS的應(yīng)用框架,滿足硬件資源較小的物聯(lián)網(wǎng)設(shè)備的OpenHarmony系統(tǒng)應(yīng)用開發(fā)。
圖 1 圖形子系統(tǒng)架構(gòu)圖[]()
各模塊介紹:
- View:應(yīng)用組件,包括UIView、UIViewGroup、UIButton、UILabel、UILabelButton、UIList、UISlider等。
- Animator:動(dòng)畫模塊,開發(fā)者可以自定義動(dòng)畫。
- Layout:布局控件,包括FlexLayout、GridLayout、ListLayout等。
- Transform:圖形變換模塊,包括旋轉(zhuǎn)、平移、縮放等。
- Event:事件模塊,包括click、press、drag、long press等基礎(chǔ)事件。
- Rendering engine:渲染繪制模塊。
- 2D graphics library:2D繪制模塊,包括直線、矩形、圓、弧、圖片、文字等繪制。包括軟件繪制和硬件加速能力對(duì)接。
- Multi-language:多語(yǔ)言模塊,用于處理不用不同語(yǔ)言文字的換行、整形等。
- Image library:圖片處理模塊,用于解析和操作不同類型和格式的圖片,例如png、jpeg、ARGB8888、ARGB565等
- WindowManager:窗口管理模塊,包括窗口創(chuàng)建、顯示隱藏、合成等處理。
- InputManager:輸入事件管理模塊。
目錄
/foundation/arkui
├── ui_lite # UI模塊,包括UI控件、動(dòng)畫、字體等功能
/foundation/graphic
├── surface_lite # 共享內(nèi)存
├── graphic_utils_lite # 圖形基礎(chǔ)庫(kù)和硬件適配層
/foundation/window
└── window_manager_lite # 窗口管理和輸入事件管理
約束
- 圖形組件不支持多線程并發(fā)操作,建議相關(guān)操作都在ui線程中執(zhí)行;
- utils/interfaces/innerkits/graphic_config.h文件列舉了圖形部分可配置功能的宏開關(guān),需要在編譯前配置,配置時(shí)需要注意部分宏開關(guān)是分平臺(tái)配置的。
鴻蒙開發(fā)學(xué)習(xí)知識(shí)已更新gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
前往參考。
1.2 標(biāo)準(zhǔn)系統(tǒng)
簡(jiǎn)介
圖形子系統(tǒng) 提供了圖形接口能力。
其主要的結(jié)構(gòu)如下圖所示:
OpenHarmony 圖形棧的分層說(shuō)明如下:
? 接口層:提供圖形的 Native API能力,包括:WebGL、Native Drawing的繪制能力、OpenGL 指令級(jí)的繪制能力支撐等。
? 框架層:分為 Render Service、Drawing、Animation、Effect、顯示與內(nèi)存管理五個(gè)模塊。
模塊 | 能力描述 |
---|---|
Render Service (渲染服務(wù)) | 提供UI框架的繪制能力,其核心職責(zé)是將ArkUI的控件描述轉(zhuǎn)換成繪制樹信息,根據(jù)對(duì)應(yīng)的渲染策略,進(jìn)行最佳路徑渲染。同時(shí),負(fù)責(zé)多窗口流暢和空間態(tài)下UI共享的核心底層機(jī)制。 |
Drawing (繪制) | 提供圖形子系統(tǒng)內(nèi)部的標(biāo)準(zhǔn)化接口,主要完成2D渲染、3D渲染和渲染引擎的管理等基本功能。 |
Animation (動(dòng)畫) | 提供動(dòng)畫引擎的相關(guān)能力。 |
Effect (效果) | 主要完成圖片效果、渲染特效等效果處理的能力,包括:多效果的串聯(lián)、并聯(lián)處理,在布局時(shí)加入渲染特效、控件交互特效等相關(guān)能力。 |
顯示與內(nèi)存管理 | 此模塊是圖形棧與硬件解耦的主要模塊,主要定義了OpenHarmony顯示與內(nèi)存管理的能力,其定義的HDI接口需要讓不同的OEM廠商完成對(duì)OpenHarmony圖形棧的適配. |
? 引擎層:包括2D圖形庫(kù)和3D圖形引擎兩個(gè)模塊。2D圖形庫(kù)提供2D圖形繪制底層API,支持圖形繪制與文本繪制底層能力。3D圖形引擎能力尚在構(gòu)建中。
審核編輯 黃宇
-
API
+關(guān)注
關(guān)注
2文章
1521瀏覽量
62464 -
鴻蒙
+關(guān)注
關(guān)注
57文章
2398瀏覽量
43103 -
OpenHarmony
+關(guān)注
關(guān)注
25文章
3753瀏覽量
16675
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
云天勵(lì)飛DeepEdge10芯片與國(guó)產(chǎn)鴻蒙操作系統(tǒng)完成適配
GPU在圖形設(shè)計(jì)中的重要性
圖形圖像硬件加速器卡設(shè)計(jì)原理圖:270-VC709E 基于FMC接口的Virtex7 XC7VX690T PCIeX8 接口卡
![<b class='flag-5'>圖形圖像</b>硬件加速器卡設(shè)計(jì)原理圖:270-VC709E 基于FMC接口的Virtex7 XC7VX690T PCIeX8 接口卡](https://file.elecfans.com/web2/M00/65/B2/pYYBAGMJtWqAThGdAABhjE4eGDQ923.gif)
鴻蒙開發(fā)接口圖形圖像:【W(wǎng)ebGL2】
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>接口<b class='flag-5'>圖形圖像</b>:【W(wǎng)ebGL2】](https://file1.elecfans.com/web2/M00/C5/D1/wKgZomYChGOAUaiiAADe1d8SeRY102.jpg)
鴻蒙開發(fā)接口圖形圖像:【@ohos.window (窗口)】
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>接口<b class='flag-5'>圖形圖像</b>:【@ohos.window (窗口)】](https://file1.elecfans.com/web2/M00/EA/55/wKgZomZX34GAfTqdAAA9utPXPko512.png)
鴻蒙開發(fā)接口圖形圖像:【@ohos.screen (屏幕)】
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>接口<b class='flag-5'>圖形圖像</b>:【@ohos.screen (屏幕)】](https://file1.elecfans.com/web2/M00/EA/0E/wKgZomZWl8KAICKzAAA4-iO0tf8071.png)
鴻蒙OS元服務(wù)開發(fā):【W(wǎng)ebGL網(wǎng)頁(yè)圖形庫(kù)開發(fā)概述】
![<b class='flag-5'>鴻蒙</b>OS元服務(wù)<b class='flag-5'>開發(fā)</b>:【W(wǎng)ebGL網(wǎng)頁(yè)<b class='flag-5'>圖形</b>庫(kù)<b class='flag-5'>開發(fā)</b>概述】](https://file1.elecfans.com/web2/M00/C5/D1/wKgZomYChGOAUaiiAADe1d8SeRY102.jpg)
鴻蒙OS元服務(wù)開發(fā)說(shuō)明:【W(wǎng)ebGL網(wǎng)頁(yè)圖形庫(kù)開發(fā)接口】
![<b class='flag-5'>鴻蒙</b>OS元服務(wù)<b class='flag-5'>開發(fā)</b>說(shuō)明:【W(wǎng)ebGL網(wǎng)頁(yè)<b class='flag-5'>圖形</b>庫(kù)<b class='flag-5'>開發(fā)</b>接口】](https://file1.elecfans.com/web2/M00/C5/D1/wKgZomYChGOAUaiiAADe1d8SeRY102.jpg)
鴻蒙開發(fā)學(xué)習(xí):【驅(qū)動(dòng)子系統(tǒng)】
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>學(xué)習(xí):【驅(qū)動(dòng)<b class='flag-5'>子系統(tǒng)</b>】](https://file1.elecfans.com/web2/M00/C5/96/wKgaomX253mAUzenAAEabKQxcJs525.jpg)
鴻蒙原生應(yīng)用元服務(wù)開發(fā)-WebGL網(wǎng)頁(yè)圖形庫(kù)開發(fā)無(wú)著色器繪制2D圖形
鴻蒙原生應(yīng)用元服務(wù)開發(fā)-WebGL網(wǎng)頁(yè)圖形庫(kù)開發(fā)接口說(shuō)明
330-基于FMC接口的Kintex-7 XC7K325T PCIeX4 3U PXIe接口卡 圖形圖像硬件加速器
![330-基于FMC接口的Kintex-7 XC7K325T PCIeX4 3U PXIe接口卡 <b class='flag-5'>圖形圖像</b>硬件加速器](https://file1.elecfans.com/web2/M00/C2/83/wKgZomXlZjeAO4nIAABACMKOXYY327.png)
鴻蒙開發(fā)圖形圖像——@ohos.effectKit (圖像效果)
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>圖形圖像</b>——@ohos.effectKit (<b class='flag-5'>圖像</b>效果)](https://file1.elecfans.com/web2/M00/C1/8A/wKgaomXXAFaAOpt3AABKf7HO3l8081.png)
評(píng)論