# 图形图像概述<a name="ZH-CN_TOPIC_0000001051770388"></a>

-   [UI组件](#section1987017145112)
-   [布局](#section662016231612)
-   [动画](#section73736284117)
-   [Input事件](#section672194012114)
-   [渲染](#section14338859916)

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格式。


-   字体渲染

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


