0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

鸿蒙开发图形图像:【图形子系统】

jf_46214456 来源:jf_46214456 作者:jf_46214456 2024-03-23 16:50 次阅读

图形子系统

图形子系统主要包括UI组件、布局、动画、字体、输入事件、窗口管理、渲染绘制等模块,构建基于轻量OS应用框架满足硬件资源较小的物联网设备或者构建基于标准OS的应用框架满足富设备的OpenHarmony系统应用开发。

1.1 轻量系统

简介

图形子系统主要包括UI组件、布局、动画、字体、输入事件、窗口管理、渲染绘制等模块,构建基于轻量OS的应用框架,满足硬件资源较小的物联网设备的OpenHarmony系统应用开发。

图 1 图形子系统架构图[]()

各模块介绍:

  • View:应用组件,包括UIView、UIViewGroup、UIButton、UILabel、UILabelButton、UIList、UISlider等。
  • Animator:动画模块,开发者可以自定义动画。
  • Layout:布局控件,包括FlexLayout、GridLayout、ListLayout等。
  • Transform:图形变换模块,包括旋转、平移、缩放等。
  • Event:事件模块,包括click、press、drag、long press等基础事件。
  • Rendering engine:渲染绘制模块。
  • 2D graphics library:2D绘制模块,包括直线、矩形、圆、弧、图片、文字等绘制。包括软件绘制和硬件加速能力对接。
  • Multi-language:多语言模块,用于处理不用不同语言文字的换行、整形等。
  • Image library:图片处理模块,用于解析和操作不同类型和格式的图片,例如png、jpeg、ARGB8888、ARGB565等
  • WindowManager:窗口管理模块,包括窗口创建、显示隐藏、合成等处理。
  • InputManager:输入事件管理模块。

目录

/foundation/arkui
├── ui_lite                  # UI模块,包括UI控件、动画、字体等功能

/foundation/graphic
├── surface_lite             # 共享内存
├── graphic_utils_lite       # 图形基础库和硬件适配层

/foundation/window
└── window_manager_lite      # 窗口管理和输入事件管理

约束

  • 图形组件不支持多线程并发操作,建议相关操作都在ui线程中执行;
  • utils/interfaces/innerkits/graphic_config.h文件列举了图形部分可配置功能的宏开关,需要在编译前配置,配置时需要注意部分宏开关是分平台配置的。

鸿蒙开发学习知识已更新gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md前往参考。

鸿蒙开发OpenHarmony就业必修技能.png

1.2 标准系统

简介

图形子系统 提供了图形接口能力。

其主要的结构如下图所示:

图形子系统架构图

OpenHarmony 图形栈的分层说明如下:

• 接口层:提供图形的 Native API能力,包括:WebGL、Native Drawing的绘制能力、OpenGL 指令级的绘制能力支撑等。

• 框架层:分为 Render Service、Drawing、Animation、Effect、显示与内存管理五个模块。

模块能力描述
Render Service (渲染服务)提供UI框架的绘制能力,其核心职责是将ArkUI的控件描述转换成绘制树信息,根据对应的渲染策略,进行最佳路径渲染。同时,负责多窗口流畅和空间态下UI共享的核心底层机制。
Drawing (绘制)提供图形子系统内部的标准化接口,主要完成2D渲染、3D渲染和渲染引擎的管理等基本功能。
Animation (动画)提供动画引擎的相关能力。
Effect (效果)主要完成图片效果、渲染特效等效果处理的能力,包括:多效果的串联、并联处理,在布局时加入渲染特效、控件交互特效等相关能力。
显示与内存管理此模块是图形栈与硬件解耦的主要模块,主要定义了OpenHarmony显示与内存管理的能力,其定义的HDI接口需要让不同的OEM厂商完成对OpenHarmony图形栈的适配.

• 引擎层:包括2D图形库和3D图形引擎两个模块。2D图形库提供2D图形绘制底层API,支持图形绘制与文本绘制底层能力。3D图形引擎能力尚在构建中。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • API
    API
    +关注

    关注

    2

    文章

    1382

    浏览量

    60992
  • 鸿蒙
    +关注

    关注

    55

    文章

    1629

    浏览量

    42120
  • OpenHarmony
    +关注

    关注

    23

    文章

    3297

    浏览量

    15159
收藏 人收藏

    评论

    相关推荐

    鸿蒙OS元服务开发:【WebGL网页图形开发概述】

    WebGL的全称为Web Graphic Library(网页图形库),主要用于交互式渲染2D图形和3D图形。目前HarmonyOS中使用的WebGL是基于OpenGL裁剪的OpenGL ES,可以
    的头像 发表于 04-02 17:26 162次阅读
    <b class='flag-5'>鸿蒙</b>OS元服务<b class='flag-5'>开发</b>:【WebGL网页<b class='flag-5'>图形</b>库<b class='flag-5'>开发</b>概述】

    鸿蒙OS元服务开发说明:【WebGL网页图形开发接口】

    WebGL主要帮助开发者在前端开发中完成图形图像的相关处理,比如绘制彩色图形等。目前该功能仅支持使用兼容JS的类Web开发范式
    的头像 发表于 04-02 17:02 205次阅读
    <b class='flag-5'>鸿蒙</b>OS元服务<b class='flag-5'>开发</b>说明:【WebGL网页<b class='flag-5'>图形</b>库<b class='flag-5'>开发</b>接口】

    鸿蒙原生应用元服务开发-WebGL网页图形开发无着色器绘制2D图形

    无着色器绘制2D图形 使用WebGL开发时,为保证界面图形显示效果,请使用真机运行。 此场景为未使用WebGL绘制的2D图形(CPU绘制非GPU绘制)。
    发表于 03-12 15:42

    鸿蒙原生应用元服务开发-WebGL网页图形开发接口说明

    一、场景介绍 WebGL主要帮助开发者在前端开发中完成图形图像的相关处理,比如绘制彩色图形等。目前该功能仅支持使用兼容JS的类Web开发范式
    发表于 03-11 15:51

    鸿蒙原生应用元服务开发-WebGL网页图形开发概述

    。 JavaScript engine为图形框架,为WebGL模块提供绘制对象Surface。 WebGL模块对外暴露OpenGL ES的GPU绘制接口。 中间接口层EGL(Embedded Graphics Library)完成不同平台的适配。 本文参考引用HarmonyOS官方
    发表于 03-08 14:24

    330-基于FMC接口的Kintex-7 XC7K325T PCIeX4 3U PXIe接口卡 图形图像硬件加速器

    标签: Net FPGA , XC7K325T板卡 , XC7K325T处理板 , 软件无线电处理平台 , 图形图像硬件加速器
    的头像 发表于 03-04 14:14 181次阅读
    330-基于FMC接口的Kintex-7 XC7K325T PCIeX4 3U PXIe接口卡 <b class='flag-5'>图形图像</b>硬件加速器

    鸿蒙开发图形图像——@ohos.effectKit (图像效果)

    图像效果提供处理图像的一些基础能力,包括对当前图像的亮度调节、模糊化、灰度调节、智能取色等。 该模块提供以下图像效果相关的常用功能: Filter:效果类,用于添加指定效果到
    的头像 发表于 02-22 16:08 92次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>图形图像</b>——@ohos.effectKit (<b class='flag-5'>图像</b>效果)

    Minitab 中包括哪些图形

    概述 Minitab 在“图形”菜单上提供了一套灵活的图形以支持各种分析需要。创建图形时有许多自定义选项可用。 除了可以从“图形”菜单中使用的图形
    的头像 发表于 01-29 10:28 167次阅读

    图形渲染的技术和原理:探索视觉效果的奇妙世界

    图形渲染是计算机图形学领域的核心技术之一,它通过将三维模型转化为二维图像,实现了各种视觉效果的呈现。无论是电影特效、视频游戏还是虚拟现实,都离不开图形渲染的应用。在
    的头像 发表于 12-13 08:28 380次阅读
    <b class='flag-5'>图形</b>渲染的技术和原理:探索视觉效果的奇妙世界

    华为鸿蒙系统

    华为鸿蒙系统(HUAWEI Harmony OS),是华为公司在2019年8月9日于东莞举行的华为开发者大会(HDC.2019)上正式发布的操作系统。 华为
    发表于 11-02 19:39

    开源图形驱动在OpenHarmony上的使用和落地

    的效果。对OpenHarmony这样一个完全开源的操作系统来说,图形开源驱动有很好的借鉴和学习意义,当然也存在着诸多挑战。掌握开源图形驱动有多难呢?首先图形驱动的
    发表于 08-31 18:07

    通过linux跑一个ubuntu的带图形界面的系统

    一直想通过linux平台跑一个类似于ubuntu的带图形界面的系统,于是买了一块linux开发板,最终只是能跑个linux系统,没有把图形
    发表于 07-21 14:29 528次阅读
    通过linux跑一个ubuntu的带<b class='flag-5'>图形</b>界面的<b class='flag-5'>系统</b>

    30个MATLAB图形绘制

    30个MATLAB图形绘制
    的头像 发表于 07-07 09:54 1021次阅读

    中科亿海微亮相CCIG 2023 中国图象图形大会

    涵盖图像图形各专业领域的学术盛会CCIG2023中国图象图形大会于5月11-14日在苏州狮山国际会议中心正式开幕。中科亿海微携亿海神针系列产品和开发板,以及通用加速卡、打印机控制系统
    的头像 发表于 05-16 10:33 447次阅读
    中科亿海微亮相CCIG 2023 中国图象<b class='flag-5'>图形</b>大会

    可编程芯片与系统厂商中科亿海微亮相CCIG 2023 中国图象图形大会

    涵盖图像图形各专业领域的学术盛会CCIG 2023 中国图象图形大会于5月11-14日在苏州狮山国际会议中心正式开幕。中科亿海微携亿海神针系列产品和开发板,以及通用加速卡、打印机控制系统
    发表于 05-13 17:40 657次阅读
    可编程芯片与<b class='flag-5'>系统</b>厂商中科亿海微亮相CCIG 2023 中国图象<b class='flag-5'>图形</b>大会