subsys-graphics-overview.md 1.9 KB
Newer Older
W
wenjun 已提交
1 2
# 图形图像概述<a name="ZH-CN_TOPIC_0000001051770388"></a>

[
[yang] 已提交
3 4 5 6 7 8
-   [UI组件](#section1987017145112)
-   [布局](#section662016231612)
-   [动画](#section73736284117)
-   [Input事件](#section672194012114)
-   [渲染](#section14338859916)

W
wenjun 已提交
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
OpenHarmony图形系统,提供基础UI组件和容器类组件,包括button、image、label、list、animator、scroll view、swipe view、font、clock、chart、canvas、slider、layout等。同时提供截屏、导出组件树的DFX能力。模块内部实现组件渲染、动画、输入事件分发等功能。

## UI组件<a name="section1987017145112"></a>

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

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

## 布局<a name="section662016231612"></a>

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

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

## 动画<a name="section73736284117"></a>

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

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

## Input事件<a name="section672194012114"></a>

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

## 渲染<a name="section14338859916"></a>

-   2D图形渲染

    实现线、矩形、三角形、弧线的绘制操作。


-   图像渲染

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


-   字体渲染

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