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

    文章

    1522

    浏览量

    62506
  • 鸿蒙
    +关注

    关注

    57

    文章

    2398

    浏览量

    43133
  • OpenHarmony
    +关注

    关注

    25

    文章

    3753

    浏览量

    16718
收藏 人收藏

    评论

    相关推荐

    云天励飞DeepEdge10芯片与国产鸿蒙操作系统完成适配

    日前,DeepEdge10芯片已完成国产鸿蒙操作系统的适配。目前已构建适配鸿蒙的芯片编译平台框架,完成图形子系统的适配。基于DeepEdg
    的头像 发表于 01-24 10:14 503次阅读

    GPU在图形设计中的重要性

    在数字时代,图形设计已经成为一个不可或缺的领域,它涉及到广告、出版、网页设计、游戏开发等多个行业。随着技术的进步,图形设计的要求也越来越高,设计师们需要处理越来越复杂的图像和动画,这就
    的头像 发表于 10-27 11:17 581次阅读

    图形图像硬件加速器卡设计原理图:270-VC709E 基于FMC接口的Virtex7 XC7VX690T PCIeX8 接口卡

    扩展。软件支持windows,Linux操作系统。Net FPGA , XC7VX690T板卡 , 软件无线电处理平台 , 图形图像硬件加速器
    的头像 发表于 08-06 10:16 583次阅读
    <b class='flag-5'>图形图像</b>硬件加速器卡设计原理图:270-VC709E 基于FMC接口的Virtex7 XC7VX690T PCIeX8 接口卡

    鸿蒙开发接口图形图像:【WebGL2】

    WebGL2支持图形的绘制,包括对当前绘制图形的位置、颜色等进行处理,其中相对WebGL来说对渲染管道和着色语言进行了增强。
    的头像 发表于 05-30 15:19 573次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>接口<b class='flag-5'>图形图像</b>:【WebGL2】

    鸿蒙开发接口图形图像:【@ohos.window (窗口)】

    窗口提供管理窗口的一些基础能力,包括对当前窗口的创建、销毁、各属性设置,以及对各窗口间的管理调度。
    的头像 发表于 05-30 10:07 1263次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>接口<b class='flag-5'>图形图像</b>:【@ohos.window (窗口)】

    鸿蒙开发接口图形图像:【WebGL】

    WebGL提供图形绘制的能力,包括对当前绘制图形的位置、颜色等进行处理。
    的头像 发表于 05-30 09:31 596次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>接口<b class='flag-5'>图形图像</b>:【WebGL】

    鸿蒙开发接口图形图像:【@ohos.screenshot (屏幕截图)】

    本模块提供屏幕截图的能力,截取屏幕时支持设置截取的区域、大小等图像信息。
    的头像 发表于 05-29 15:47 1039次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>接口<b class='flag-5'>图形图像</b>:【@ohos.screenshot (屏幕截图)】

    鸿蒙开发接口图形图像:【@ohos.screen (屏幕)】

    本模块提供管理屏幕的一些基础能力,包括获取屏幕对象,监听屏幕变化,创建和销毁虚拟屏幕等。
    的头像 发表于 05-29 10:49 1225次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>接口<b class='flag-5'>图形图像</b>:【@ohos.screen (屏幕)】

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

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

    鸿蒙开发学习:【驱动子系统

    OpenHarmony驱动子系统采用C面向对象编程模型构建,通过平台解耦、内核解耦,兼容不同内核,提供了归一化的驱动平台底座,旨在为开发者提供更精准、更高效的开发环境,力求做到一次开发
    的头像 发表于 03-17 22:05 678次阅读
    <b class='flag-5'>鸿蒙</b><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

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

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

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

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