图形图像概述

OpenHarmony图形系统,提供基础UI组件和容器类组件,包括button、image、label、list、animator、scroll view、swipe view、font、clock、chart、canvas、slider、layout等。同时提供截屏、导出组件树的DFX能力。模块内部实现组件渲染、动画、输入事件分发等功能。

UI组件

实现各种控件,如按钮、文本、进度条等各种基本控件。

提供界面切换、图片序列帧等复杂控件。

布局

实现网格布局、灵活布局(如居中、左对齐、右对齐)。

布局为一次性布局。布局函数每运行一次,会计算一次控件的位置,但是控件位置由其他方式改变时(如拖动),其他相关联的控件位置不会自动发生变化,需要重新调用一次布局函数。

动画

根据tick事件,由Task Manager周期性调用回调函数处理属性变化,然后触发刷新重新绘制组件,达到组件动画效果。

提供动画的开始/停止、暂停/恢复、创建/销毁等各种操作 ,用于实现动画效果。

Input事件

Input事件包括触摸屏触摸输入事件和物理按键输入事件,GUI引擎每运行一次,Input Manager会读取一次所有注册的硬件设备的输入,转化为各种事件供UI控件使用。

渲染

  • 2D图形渲染 实现线、矩形、三角形、弧线的绘制操作。

  • 图像渲染 实现各种类型图片的绘制API,如RGB565、RGB888、ARGB8888、PNG、JPG格式。

  • 字体渲染 支持矢量字体的实时绘制。