1e41f4b71Sopenharmony_ci# @ohos.graphics.text (文本模块)
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ci本模块允许开发者创建复杂的文本段落,包括多样的文本样式、段落样式、换行规则等,并最终将这些信息转换为能在屏幕上高效渲染的布局数据,本模块采用屏幕物理像素单位px。
4e41f4b71Sopenharmony_ci
5e41f4b71Sopenharmony_ci该模块提供以下创建复杂的文本段落的常用功能:
6e41f4b71Sopenharmony_ci
7e41f4b71Sopenharmony_ci- [TextStyle](#textstyle):文本样式,控制文本的字体类型、大小、间距等属性。
8e41f4b71Sopenharmony_ci- [FontCollection](#fontcollection):字体管理器,控制各种不同的字体。
9e41f4b71Sopenharmony_ci- [ParagraphStyle](#paragraphstyle):段落样式,控制整个段落的显示样式。
10e41f4b71Sopenharmony_ci- [Paragraph](#paragraph):段落,由ParagraphBuilder类调用[build()](#build)接口构建而成。
11e41f4b71Sopenharmony_ci- [ParagraphBuilder](#paragraphbuilder):段落生成器,控制生成不同的段落对象。
12e41f4b71Sopenharmony_ci- [TextLine](#textline):以行为单位的段落文本的载体,由段落类调用[getTextLines()](#gettextlines)接口获取。
13e41f4b71Sopenharmony_ci- [Run](#run):文本排版的渲染单元,由行文本类调用[getGlyphRuns()](#getglyphruns)接口获取。
14e41f4b71Sopenharmony_ci
15e41f4b71Sopenharmony_ci> **说明:**
16e41f4b71Sopenharmony_ci>
17e41f4b71Sopenharmony_ci> 本模块首批接口从API version 12开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
18e41f4b71Sopenharmony_ci
19e41f4b71Sopenharmony_ci## 导入模块
20e41f4b71Sopenharmony_ci
21e41f4b71Sopenharmony_ci```ts
22e41f4b71Sopenharmony_ciimport { text } from '@kit.ArkGraphics2D';
23e41f4b71Sopenharmony_ci```
24e41f4b71Sopenharmony_ci
25e41f4b71Sopenharmony_ci## TextAlign
26e41f4b71Sopenharmony_ci
27e41f4b71Sopenharmony_ci文本对齐方式枚举。
28e41f4b71Sopenharmony_ci
29e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Graphics.Drawing
30e41f4b71Sopenharmony_ci
31e41f4b71Sopenharmony_ci| 名称        | 值   | 说明                                          |
32e41f4b71Sopenharmony_ci| --------- | ---- | ---------------------------------------------- |
33e41f4b71Sopenharmony_ci| LEFT      | 0    | 文本靠左对齐。                                  |
34e41f4b71Sopenharmony_ci| RIGHT     | 1    | 文本靠右对齐。                                  |
35e41f4b71Sopenharmony_ci| CENTER    | 2    | 文本居中对齐。                                  |
36e41f4b71Sopenharmony_ci| JUSTIFY   | 3    | 文本两侧对齐,对最后一行无效。                    |
37e41f4b71Sopenharmony_ci| START     | 4    | 基于文本的方向[TextDirection](#textdirection),文本靠开头方向对齐。 |
38e41f4b71Sopenharmony_ci| END       | 5    | 基于文本的方向[TextDirection](#textdirection),文本以结束方向对齐。 |
39e41f4b71Sopenharmony_ci
40e41f4b71Sopenharmony_ci## TextDirection
41e41f4b71Sopenharmony_ci
42e41f4b71Sopenharmony_ci文本排版方向枚举。
43e41f4b71Sopenharmony_ci
44e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Graphics.Drawing
45e41f4b71Sopenharmony_ci
46e41f4b71Sopenharmony_ci| 名称     | 值   | 说明              |
47e41f4b71Sopenharmony_ci| -------- | ---- | ---------------- |
48e41f4b71Sopenharmony_ci| RTL      | 0    | 文本从右到左排版。 |
49e41f4b71Sopenharmony_ci| LTR      | 1    | 文本从左到右排版。 |
50e41f4b71Sopenharmony_ci
51e41f4b71Sopenharmony_ci## BreakStrategy
52e41f4b71Sopenharmony_ci
53e41f4b71Sopenharmony_ci断行策略枚举。
54e41f4b71Sopenharmony_ci
55e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Graphics.Drawing
56e41f4b71Sopenharmony_ci
57e41f4b71Sopenharmony_ci| 名称          | 值   | 说明                                            |
58e41f4b71Sopenharmony_ci| ------------- | ---- | ---------------------------------------------- |
59e41f4b71Sopenharmony_ci| GREEDY        | 0    | 尽可能将当前行填满,不会自动添加连词符。           |
60e41f4b71Sopenharmony_ci| HIGH_QUALITY  | 1    | 布局优化,必要时会自动添加连词符。                |
61e41f4b71Sopenharmony_ci| BALANCED      | 2    | 保证一个段落的每一行的宽度相同,必要时会添加连词符。|
62e41f4b71Sopenharmony_ci
63e41f4b71Sopenharmony_ci## WordBreak
64e41f4b71Sopenharmony_ci
65e41f4b71Sopenharmony_ci断词策略枚举。
66e41f4b71Sopenharmony_ci
67e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Graphics.Drawing
68e41f4b71Sopenharmony_ci
69e41f4b71Sopenharmony_ci| 名称        | 值   | 说明                                                                                                                  |
70e41f4b71Sopenharmony_ci| ----------- | ---- | -------------------------------------------------------------------------------------------------------------------- |
71e41f4b71Sopenharmony_ci| NORMAL      | 0    | 默认的换行规则。依据各自语言的规则,允许在字间发生换行。                                                                  |
72e41f4b71Sopenharmony_ci| BREAK_ALL   | 1    | 对于 Non-CJK(非中文,日文,韩文)文本允许在任意字符内发生换行。该值适合包含一些非亚洲文本的亚洲文本,比如使连续的英文字符断行。|
73e41f4b71Sopenharmony_ci| BREAK_WORD  | 2    | 与`BREAK_ALL`基本相同,不同的地方在于它要求一个没有断行破发点的词必须保持为一个整体单位。                                   |
74e41f4b71Sopenharmony_ci
75e41f4b71Sopenharmony_ci## Decoration
76e41f4b71Sopenharmony_ci
77e41f4b71Sopenharmony_ci文本装饰线。
78e41f4b71Sopenharmony_ci
79e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Graphics.Drawing
80e41f4b71Sopenharmony_ci
81e41f4b71Sopenharmony_ci| 名称                      | 类型                                                  | 只读 | 可选 | 说明                                         |
82e41f4b71Sopenharmony_ci| ------------------------- | --------------------------------------------------- | ---- | ---- | -------------------------------------------- |
83e41f4b71Sopenharmony_ci| textDecoration            | [TextDecorationType](#textdecorationtype)           | 是   | 是   | 装饰线类型,默认为NONE。                       |
84e41f4b71Sopenharmony_ci| color                     | [common2D.Color](js-apis-graphics-common2D.md#color)| 是   | 是   | 装饰线颜色,默认为透明。                       |
85e41f4b71Sopenharmony_ci| decorationStyle           | [TextDecorationStyle](#textdecorationstyle)         | 是   | 是   | 装饰线样式,默认为SOLID。                      |
86e41f4b71Sopenharmony_ci| decorationThicknessScale  | number                                              | 是   | 是   | 装饰线粗细相对于默认值的比例,浮点数,默认为1.0。|
87e41f4b71Sopenharmony_ci
88e41f4b71Sopenharmony_ci## TextDecorationType
89e41f4b71Sopenharmony_ci
90e41f4b71Sopenharmony_ci装饰线类型枚举。
91e41f4b71Sopenharmony_ci
92e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Graphics.Drawing
93e41f4b71Sopenharmony_ci
94e41f4b71Sopenharmony_ci| 名称           | 值 | 说明        |
95e41f4b71Sopenharmony_ci| -------------- | - | ----------- |
96e41f4b71Sopenharmony_ci| NONE           | 0 | 装饰线不生效。|
97e41f4b71Sopenharmony_ci| UNDERLINE      | 1 | 下划线。      |
98e41f4b71Sopenharmony_ci| OVERLINE       | 2 | 上划线。     |
99e41f4b71Sopenharmony_ci| LINE_THROUGH   | 3 | 删除线。      |
100e41f4b71Sopenharmony_ci
101e41f4b71Sopenharmony_ci## TextDecorationStyle
102e41f4b71Sopenharmony_ci
103e41f4b71Sopenharmony_ci装饰线样式枚举。
104e41f4b71Sopenharmony_ci
105e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Graphics.Drawing
106e41f4b71Sopenharmony_ci
107e41f4b71Sopenharmony_ci| 名称   | 值 | 说明   |
108e41f4b71Sopenharmony_ci| ------ | - | ------ |
109e41f4b71Sopenharmony_ci| SOLID  | 0 | 实线。  |
110e41f4b71Sopenharmony_ci| DOUBLE | 1 | 双层线。|
111e41f4b71Sopenharmony_ci| DOTTED | 2 | 点状线。|
112e41f4b71Sopenharmony_ci| DASHED | 3 | 虚线。  |
113e41f4b71Sopenharmony_ci| WAVY   | 4 | 波浪线。|
114e41f4b71Sopenharmony_ci
115e41f4b71Sopenharmony_ci## FontWeight
116e41f4b71Sopenharmony_ci
117e41f4b71Sopenharmony_ci字重枚举。
118e41f4b71Sopenharmony_ci
119e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Graphics.Drawing
120e41f4b71Sopenharmony_ci
121e41f4b71Sopenharmony_ci| 名称  | 值 | 说明   |
122e41f4b71Sopenharmony_ci| ----- | - | ------- |
123e41f4b71Sopenharmony_ci| W100  | 0 | 100字重。|
124e41f4b71Sopenharmony_ci| W200  | 1 | 200字重。|
125e41f4b71Sopenharmony_ci| W300  | 2 | 300字重。|
126e41f4b71Sopenharmony_ci| W400  | 3 | 400字重。|
127e41f4b71Sopenharmony_ci| W500  | 4 | 500字重。|
128e41f4b71Sopenharmony_ci| W600  | 5 | 600字重。|
129e41f4b71Sopenharmony_ci| W700  | 6 | 700字重。|
130e41f4b71Sopenharmony_ci| W800  | 7 | 800字重。|
131e41f4b71Sopenharmony_ci| W900  | 8 | 900字重。|
132e41f4b71Sopenharmony_ci
133e41f4b71Sopenharmony_ci## FontWidth
134e41f4b71Sopenharmony_ci
135e41f4b71Sopenharmony_ci字体宽度的枚举。
136e41f4b71Sopenharmony_ci
137e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Graphics.Drawing
138e41f4b71Sopenharmony_ci
139e41f4b71Sopenharmony_ci| 名称             | 值 | 说明       |
140e41f4b71Sopenharmony_ci| ---------------- | - | ---------- |
141e41f4b71Sopenharmony_ci| ULTRA_CONDENSED  | 1 | 超窄字宽。  |
142e41f4b71Sopenharmony_ci| EXTRA_CONDENSED  | 2 | 特窄字宽。  |
143e41f4b71Sopenharmony_ci| CONDENSED        | 3 | 窄的字宽。  |
144e41f4b71Sopenharmony_ci| SEMI_CONDENSED   | 4 | 半窄字宽。  |
145e41f4b71Sopenharmony_ci| NORMAL           | 5 | 常规字宽。  |
146e41f4b71Sopenharmony_ci| SEMI_EXPANDED    | 6 | 半宽字宽。  |
147e41f4b71Sopenharmony_ci| EXPANDED         | 7 | 宽的字宽。  |
148e41f4b71Sopenharmony_ci| EXTRA_EXPANDED   | 8 | 特宽字宽。  |
149e41f4b71Sopenharmony_ci| ULTRA_EXPANDED   | 9 | 超宽的字宽。|
150e41f4b71Sopenharmony_ci
151e41f4b71Sopenharmony_ci## FontStyle
152e41f4b71Sopenharmony_ci
153e41f4b71Sopenharmony_ci字体样式枚举。
154e41f4b71Sopenharmony_ci
155e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Graphics.Drawing
156e41f4b71Sopenharmony_ci
157e41f4b71Sopenharmony_ci| 名称    | 值 | 说明                                                 |
158e41f4b71Sopenharmony_ci| ------- | - | ---------------------------------------------------- |
159e41f4b71Sopenharmony_ci| NORMAL  | 0 | 常规样式。                                            |
160e41f4b71Sopenharmony_ci| ITALIC  | 1 | 斜体,如果当前字体没有可用的斜体版本,会选用倾斜体替代。  |
161e41f4b71Sopenharmony_ci| OBLIQUE | 2 | 倾斜体,如果当前字体没有可用的倾斜体版本,会选用斜体替代。|
162e41f4b71Sopenharmony_ci
163e41f4b71Sopenharmony_ci## TextHeightBehavior
164e41f4b71Sopenharmony_ci
165e41f4b71Sopenharmony_ci文本高度修饰符模式枚举。
166e41f4b71Sopenharmony_ci
167e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Graphics.Drawing
168e41f4b71Sopenharmony_ci
169e41f4b71Sopenharmony_ci| 名称                  |  值 | 说明                                                  |
170e41f4b71Sopenharmony_ci| --------------------- | --- | ---------------------------------------------------- |
171e41f4b71Sopenharmony_ci| ALL                   | 0x0 | 高度修饰符设置为段落中第一行和最后一行都上升。            |
172e41f4b71Sopenharmony_ci| DISABLE_FIRST_ASCENT  | 0x1 | 高度修饰符设置为禁止段落中第一行上升。                   |
173e41f4b71Sopenharmony_ci| DISABLE_LAST_ASCENT   | 0x2 | 高度修饰符设置为禁止段落中最后一行上升。                 |
174e41f4b71Sopenharmony_ci| DISABLE_ALL           | 0x3 | 高度修饰符设置为段落中第一行和最后一行都不上升。          |
175e41f4b71Sopenharmony_ci
176e41f4b71Sopenharmony_ci## TextBaseline
177e41f4b71Sopenharmony_ci
178e41f4b71Sopenharmony_ci文本基线类型枚举。
179e41f4b71Sopenharmony_ci
180e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Graphics.Drawing
181e41f4b71Sopenharmony_ci
182e41f4b71Sopenharmony_ci| 名称        | 值 | 说明 |
183e41f4b71Sopenharmony_ci| ----------- | - | ---- |
184e41f4b71Sopenharmony_ci| ALPHABETIC  | 0 | 通常用于拉丁字母的文本基线对齐。|
185e41f4b71Sopenharmony_ci| IDEOGRAPHIC | 1 | 通常用于CJK(中文,日文,韩文)的文本基线对齐。|
186e41f4b71Sopenharmony_ci
187e41f4b71Sopenharmony_ci## EllipsisMode
188e41f4b71Sopenharmony_ci
189e41f4b71Sopenharmony_ci省略号类型枚举。
190e41f4b71Sopenharmony_ci
191e41f4b71Sopenharmony_ciEllipsisMode.STARTEllipsisMode.MIDDLE仅在单行超长文本生效。
192e41f4b71Sopenharmony_ci
193e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Graphics.Drawing
194e41f4b71Sopenharmony_ci
195e41f4b71Sopenharmony_ci| 名称   | 值 | 说明      |
196e41f4b71Sopenharmony_ci| ------ | - | --------- |
197e41f4b71Sopenharmony_ci| START  | 0 | 开头省略号。|
198e41f4b71Sopenharmony_ci| MIDDLE | 1 | 中间省略号。|
199e41f4b71Sopenharmony_ci| END    | 2 | 末尾省略号。|
200e41f4b71Sopenharmony_ci
201e41f4b71Sopenharmony_ci## TextShadow
202e41f4b71Sopenharmony_ci
203e41f4b71Sopenharmony_ci字体阴影。
204e41f4b71Sopenharmony_ci
205e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Graphics.Drawing
206e41f4b71Sopenharmony_ci
207e41f4b71Sopenharmony_ci| 名称          | 类型                                                 | 只读 | 可选 | 说明                               |
208e41f4b71Sopenharmony_ci| ------------- | ---------------------------------------------------- | --  | ---  | --------------------------------- |
209e41f4b71Sopenharmony_ci| color         | [common2D.Color](js-apis-graphics-common2D.md#color) | 是  |  是   | 字体阴影的颜色,默认为黑色Color(255, 0, 0, 0)。        |
210e41f4b71Sopenharmony_ci| point         | [common2D.Point](js-apis-graphics-common2D.md#point12) | 是  |  是   | 字体阴影基于当前文本的偏移位置,横、纵坐标要大于等于零。    |
211e41f4b71Sopenharmony_ci| blurRadius    | number                                               | 是  |  是   | 模糊半径,浮点数,默认为0.0px。       |
212e41f4b71Sopenharmony_ci
213e41f4b71Sopenharmony_ci## RectStyle
214e41f4b71Sopenharmony_ci
215e41f4b71Sopenharmony_ci矩形框样式。
216e41f4b71Sopenharmony_ci
217e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Graphics.Drawing
218e41f4b71Sopenharmony_ci
219e41f4b71Sopenharmony_ci| 名称               | 类型                                                 | 只读 | 可选 | 说明                                      |
220e41f4b71Sopenharmony_ci| -----------------  | ---------------------------------------------------- | --  | ---  | ---------------------------------------- |
221e41f4b71Sopenharmony_ci| color              | [common2D.Color](js-apis-graphics-common2D.md#color) | 是  |  否   | 矩形框的颜色。                 |
222e41f4b71Sopenharmony_ci| leftTopRadius      | number                                               | 是  |  否   | 矩形框的左上半径。       |
223e41f4b71Sopenharmony_ci| rightTopRadius     | number                                               | 是  |  否   | 矩形框的右上半径。       |
224e41f4b71Sopenharmony_ci| rightBottomRadius  | number                                               | 是  |  否   | 矩形框的右下半径。       |
225e41f4b71Sopenharmony_ci| leftBottomRadius   | number                                               | 是  |  否   | 矩形框的左下半径。       |
226e41f4b71Sopenharmony_ci
227e41f4b71Sopenharmony_ci## FontFeature
228e41f4b71Sopenharmony_ci
229e41f4b71Sopenharmony_ci文本字体特征。
230e41f4b71Sopenharmony_ci
231e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Graphics.Drawing
232e41f4b71Sopenharmony_ci
233e41f4b71Sopenharmony_ci| 名称      | 类型                                                 | 只读 | 可选 | 说明                                       |
234e41f4b71Sopenharmony_ci| --------- | ---------------------------------------------------- | --  | ---  | ----------------------------------------- |
235e41f4b71Sopenharmony_ci| name      | string                                               | 是  |  否   | 字体特征键值对中关键字所标识的字符串。       |
236e41f4b71Sopenharmony_ci| value     | number                                               | 是  |  否   | 字体特征键值对的值。                        |
237e41f4b71Sopenharmony_ci
238e41f4b71Sopenharmony_ci## FontVariation
239e41f4b71Sopenharmony_ci
240e41f4b71Sopenharmony_ci可变字体属性。
241e41f4b71Sopenharmony_ci
242e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Graphics.Drawing
243e41f4b71Sopenharmony_ci
244e41f4b71Sopenharmony_ci| 名称      | 类型                                                 | 只读 | 可选 | 说明                                       |
245e41f4b71Sopenharmony_ci| --------- | ---------------------------------------------------- | --  | ---  | ----------------------------------------- |
246e41f4b71Sopenharmony_ci| axis      | string                                               | 是  |  否   | 可变字体属性键值对中关键字所标识的字符串。       |
247e41f4b71Sopenharmony_ci| value     | number                                               | 是  |  否   | 可变字体属性键值对的值。                        |
248e41f4b71Sopenharmony_ci
249e41f4b71Sopenharmony_ci## TextStyle
250e41f4b71Sopenharmony_ci
251e41f4b71Sopenharmony_ci文本样式。
252e41f4b71Sopenharmony_ci
253e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Graphics.Drawing
254e41f4b71Sopenharmony_ci
255e41f4b71Sopenharmony_ci| 名称                      | 类型                                     | 只读 | 可选 | 说明                                                   |
256e41f4b71Sopenharmony_ci| ------------- | ---------------------------------------------------- | -- | -- | --------------------------------------------------------- |
257e41f4b71Sopenharmony_ci| decoration    | [Decoration](#decoration)                            | 是 | 是 | 装饰线置,默认初始的Decoration。             |
258e41f4b71Sopenharmony_ci| color         | [common2D.Color](js-apis-graphics-common2D.md#color) | 是 | 是 | 字体色,默认为白色。                         |
259e41f4b71Sopenharmony_ci| fontWeight    | [FontWeight](#fontweight)                            | 是 | 是 | 字重,默认为W400。                          |
260e41f4b71Sopenharmony_ci| fontStyle     | [FontStyle](#fontstyle)                              | 是 | 是 | 字体样式,默认为常规样式。                          |
261e41f4b71Sopenharmony_ci| baseline      | [TextBaseline](#textbaseline)                        | 是 | 是 | 文本基线型,默认为ALPHABETIC。               |
262e41f4b71Sopenharmony_ci| fontFamilies  | Array\<string>                                       | 是 | 是 | 字体族名称列表,默认为系统字体。                    |
263e41f4b71Sopenharmony_ci| fontSize      | number                                               | 是 | 是 | 字体大小,浮点数,默认为14.0,单位为px。  |
264e41f4b71Sopenharmony_ci| letterSpacing | number                                               | 是 | 是 | 字符间距,正数拉开字符距离,若是负数则拉近字符距离,浮点数,默认为0.0,单位为物理像素px。|
265e41f4b71Sopenharmony_ci| wordSpacing   | number                                               | 是 | 是 | 单词间距,浮点数,默认为0.0,单位为px。                 |
266e41f4b71Sopenharmony_ci| heightScale   | number                                               | 是 | 是 | 行高缩放倍数,浮点数,默认为1.0,heightOnly为true时生效。              |
267e41f4b71Sopenharmony_ci| heightOnly    | boolean                                              | 是 | 是 | true表示根据字体大小和heightScale设置文本框的高度,false表示根据行高和行距,默认为false。|
268e41f4b71Sopenharmony_ci| halfLeading   | boolean                                              | 是 | 是 | true表示将行间距平分至行的顶部与底部,false则不平分,默认为false。|
269e41f4b71Sopenharmony_ci| ellipsis      | string                                               | 是 | 是 | 省略号样式,表示省略号生效后使用该字段值替换省略号部分。       |
270e41f4b71Sopenharmony_ci| ellipsisMode  | [EllipsisMode](#ellipsismode)                        | 是 | 是 | 省略号类型,默认为END,行尾省略号。                        |
271e41f4b71Sopenharmony_ci| locale        | string                                               | 是 | 是 | 语言类型,如字段为'en'代表英文,'zh-Hans'代表简体中文,'zh-Hant'代表繁体中文。具体请参照ISO 639-1规范,默认为空字符串。|
272e41f4b71Sopenharmony_ci| baselineShift | number                                               | 是 | 是 | 文本下划线的偏移距离,浮点数,默认为0.0px。                 |
273e41f4b71Sopenharmony_ci| fontFeatures  | Array\<[FontFeature](#fontfeature)>                  | 是 | 是 | 文本字体特征数组。|
274e41f4b71Sopenharmony_ci| fontVariations| Array\<[FontVariation](#fontvariation)>              | 是 | 是 | 可变字体属性数组。|
275e41f4b71Sopenharmony_ci| textShadows   | Array\<[TextShadow](#textshadow)>                    | 是 | 是 | 文本字体阴影数组。|
276e41f4b71Sopenharmony_ci| backgroundRect| [RectStyle](#rectstyle)                              | 是 | 是 | 文本矩形框样式。|
277e41f4b71Sopenharmony_ci
278e41f4b71Sopenharmony_ci## StrutStyle
279e41f4b71Sopenharmony_ci
280e41f4b71Sopenharmony_ci支柱样式,用于控制绘制文本的行间距、基线对齐方式以及其他与行高相关的属性,默认不开启。
281e41f4b71Sopenharmony_ci
282e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Graphics.Drawing
283e41f4b71Sopenharmony_ci
284e41f4b71Sopenharmony_ci| 名称                      | 类型                                       | 只读 | 可选 | 说明                                                                 |
285e41f4b71Sopenharmony_ci| -------------  | ---------------------------------------------------- | ---- | -- | --------------------------------------------------------------------- |
286e41f4b71Sopenharmony_ci| fontFamilies   | Array\<string>                                       | 是   | 是 | 字体类型,默认为系统字体。                                               |
287e41f4b71Sopenharmony_ci| fontStyle      | [FontStyle](#fontstyle)                              | 是   | 是 | 字体样式,默认为常规样式。                                               |
288e41f4b71Sopenharmony_ci| fontWidth      | [FontWidth](#fontwidth)                              | 是   | 是 | 字体宽度,默认为NORMAL。                                                |
289e41f4b71Sopenharmony_ci| fontWeight     | [FontWeight](#fontweight)                            | 是   | 是 | 字重,默认为W400。                                                      |
290e41f4b71Sopenharmony_ci| fontSize       | number                                               | 是   | 是 | 字体大小,浮点数,默认为14.0,单位为物理像素px。                             |
291e41f4b71Sopenharmony_ci| height         | number                                               | 是   | 是 | 行高缩放倍数,浮点数,默认为1.0。                                         |
292e41f4b71Sopenharmony_ci| leading        | number                                               | 是   | 是 | 以自定义行距应用于支柱的行距,浮点数,默认为-1.0。                          |
293e41f4b71Sopenharmony_ci| forceHeight    | boolean                                              | 是   | 是 | 是否所有行都将使用支柱的高度,true表示使用,false表示不使用,默认为false。     |
294e41f4b71Sopenharmony_ci| enabled        | boolean                                              | 是   | 是 | 是否启用支柱样式,true表示使用,false表示不使用,默认为false。              |
295e41f4b71Sopenharmony_ci| heightOverride | boolean                                              | 是   | 是 | 是否覆盖高度,true表示覆盖,false表示不覆盖,默认为false。                  |
296e41f4b71Sopenharmony_ci| halfLeading    | boolean                                              | 是   | 是 | true表示将行间距平分至行的顶部与底部,false则不平分,默认为false。           |
297e41f4b71Sopenharmony_ci
298e41f4b71Sopenharmony_ci## FontCollection
299e41f4b71Sopenharmony_ci
300e41f4b71Sopenharmony_ci字体管理器。
301e41f4b71Sopenharmony_ci
302e41f4b71Sopenharmony_ci### getGlobalInstance
303e41f4b71Sopenharmony_ci
304e41f4b71Sopenharmony_cistatic getGlobalInstance(): FontCollection
305e41f4b71Sopenharmony_ci
306e41f4b71Sopenharmony_ci获取应用全局FontCollection的实例。
307e41f4b71Sopenharmony_ci
308e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Graphics.Drawing
309e41f4b71Sopenharmony_ci
310e41f4b71Sopenharmony_ci**返回值:**
311e41f4b71Sopenharmony_ci
312e41f4b71Sopenharmony_ci| 类型   | 说明                |
313e41f4b71Sopenharmony_ci| ------ | ------------------ |
314e41f4b71Sopenharmony_ci| [FontCollection](#fontcollection) | FontCollection对象。|
315e41f4b71Sopenharmony_ci
316e41f4b71Sopenharmony_ci**示例:**
317e41f4b71Sopenharmony_ci
318e41f4b71Sopenharmony_ci```ts
319e41f4b71Sopenharmony_ciimport { text } from "@kit.ArkGraphics2D"
320e41f4b71Sopenharmony_ci
321e41f4b71Sopenharmony_cifunction textFunc() {
322e41f4b71Sopenharmony_ci  let fontCollection = text.FontCollection.getGlobalInstance();
323e41f4b71Sopenharmony_ci}
324e41f4b71Sopenharmony_ci
325e41f4b71Sopenharmony_ci@Entry
326e41f4b71Sopenharmony_ci@Component
327e41f4b71Sopenharmony_cistruct Index {
328e41f4b71Sopenharmony_ci  fun: Function = textFunc;
329e41f4b71Sopenharmony_ci  build() {
330e41f4b71Sopenharmony_ci    Column() {
331e41f4b71Sopenharmony_ci      Button().onClick(() => {
332e41f4b71Sopenharmony_ci        this.fun();
333e41f4b71Sopenharmony_ci      })
334e41f4b71Sopenharmony_ci    }
335e41f4b71Sopenharmony_ci  }
336e41f4b71Sopenharmony_ci}
337e41f4b71Sopenharmony_ci```
338e41f4b71Sopenharmony_ci
339e41f4b71Sopenharmony_ci### loadFontSync
340e41f4b71Sopenharmony_ci
341e41f4b71Sopenharmony_ciloadFontSync(name: string, path: string | Resource): void
342e41f4b71Sopenharmony_ci
343e41f4b71Sopenharmony_ci同步接口,将路径对应的文件,以name作为使用的别名,加载成自定义字体。其中参数name对应的值需要在[TextStyle](#textstyle)中的fontFamilies属性配置,才能显示自定义的字体效果。支持的字体文件格式包含:ttf、otf。
344e41f4b71Sopenharmony_ci
345e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Graphics.Drawing
346e41f4b71Sopenharmony_ci
347e41f4b71Sopenharmony_ci**参数:**
348e41f4b71Sopenharmony_ci
349e41f4b71Sopenharmony_ci| 参数名 | 类型               | 必填 | 说明                              |
350e41f4b71Sopenharmony_ci| ----- | ------------------ | ---- | --------------------------------------------------------------------------------- |
351e41f4b71Sopenharmony_ci| name  | string             | 是   | 加载成字体后,调用该字体所使用的命名。                                                |
352e41f4b71Sopenharmony_ci| path  | string \| [Resource](../apis-arkui/arkui-ts/ts-types.md#resource) | 是   | 需要导入的字体文件的路径,应为 "file:// + 字体文件绝对路径" 或 "rawfile/目录or文件名"。 |
353e41f4b71Sopenharmony_ci
354e41f4b71Sopenharmony_ci**示例:**
355e41f4b71Sopenharmony_ci
356e41f4b71Sopenharmony_ci```ts
357e41f4b71Sopenharmony_ciimport { text } from "@kit.ArkGraphics2D"
358e41f4b71Sopenharmony_ci
359e41f4b71Sopenharmony_cilet fontCollection: text.FontCollection = new text.FontCollection();
360e41f4b71Sopenharmony_ci
361e41f4b71Sopenharmony_ci@Entry
362e41f4b71Sopenharmony_ci@Component
363e41f4b71Sopenharmony_cistruct RenderTest {
364e41f4b71Sopenharmony_ci  LoadFontSyncTest() {
365e41f4b71Sopenharmony_ci    fontCollection.loadFontSync('Clock_01', 'file:///system/fonts/HarmonyClock_01.ttf')
366e41f4b71Sopenharmony_ci    let fontFamilies: Array<string> = ["Clock_01"]
367e41f4b71Sopenharmony_ci    let myTextStyle: text.TextStyle = {
368e41f4b71Sopenharmony_ci      fontFamilies: fontFamilies
369e41f4b71Sopenharmony_ci    };
370e41f4b71Sopenharmony_ci    let myParagraphStyle: text.ParagraphStyle = {
371e41f4b71Sopenharmony_ci      textStyle: myTextStyle,
372e41f4b71Sopenharmony_ci    }
373e41f4b71Sopenharmony_ci    let paragraphBuilder: text.ParagraphBuilder = new text.ParagraphBuilder(myParagraphStyle, fontCollection);
374e41f4b71Sopenharmony_ci
375e41f4b71Sopenharmony_ci    let textData = "测试 loadFontSync 加载字体HarmonyClock_01.ttf";
376e41f4b71Sopenharmony_ci    paragraphBuilder.addText(textData);
377e41f4b71Sopenharmony_ci    let paragraph: text.Paragraph = paragraphBuilder.build();
378e41f4b71Sopenharmony_ci    paragraph.layoutSync(600);
379e41f4b71Sopenharmony_ci  }
380e41f4b71Sopenharmony_ci
381e41f4b71Sopenharmony_ci  aboutToAppear() {
382e41f4b71Sopenharmony_ci    this.LoadFontSyncTest();
383e41f4b71Sopenharmony_ci  }
384e41f4b71Sopenharmony_ci
385e41f4b71Sopenharmony_ci  build() {
386e41f4b71Sopenharmony_ci  }
387e41f4b71Sopenharmony_ci}
388e41f4b71Sopenharmony_ci```
389e41f4b71Sopenharmony_ci
390e41f4b71Sopenharmony_ci### clearCaches
391e41f4b71Sopenharmony_ci
392e41f4b71Sopenharmony_ciclearCaches(): void
393e41f4b71Sopenharmony_ci
394e41f4b71Sopenharmony_ci清理字体排版缓存(字体排版缓存本身设有内存上限和清理机制,所占内存有限,如无内存要求,不建议清理)。
395e41f4b71Sopenharmony_ci
396e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Graphics.Drawing
397e41f4b71Sopenharmony_ci
398e41f4b71Sopenharmony_ci**示例:**
399e41f4b71Sopenharmony_ci
400e41f4b71Sopenharmony_ci```ts
401e41f4b71Sopenharmony_ciimport { text } from "@kit.ArkGraphics2D"
402e41f4b71Sopenharmony_ci
403e41f4b71Sopenharmony_ci@Entry
404e41f4b71Sopenharmony_ci@Component
405e41f4b71Sopenharmony_cistruct Index {
406e41f4b71Sopenharmony_ci  build() {
407e41f4b71Sopenharmony_ci    Column() {
408e41f4b71Sopenharmony_ci      Button().onClick(() => {
409e41f4b71Sopenharmony_ci        text.FontCollection.getGlobalInstance().clearCaches();
410e41f4b71Sopenharmony_ci      })
411e41f4b71Sopenharmony_ci    }
412e41f4b71Sopenharmony_ci  }
413e41f4b71Sopenharmony_ci}
414e41f4b71Sopenharmony_ci```
415e41f4b71Sopenharmony_ci
416e41f4b71Sopenharmony_ci## ParagraphStyle
417e41f4b71Sopenharmony_ci
418e41f4b71Sopenharmony_ci段落样式。
419e41f4b71Sopenharmony_ci
420e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Graphics.Drawing
421e41f4b71Sopenharmony_ci
422e41f4b71Sopenharmony_ci| 名称                 | 类型                                        | 只读 | 可选 | 说明                                          |
423e41f4b71Sopenharmony_ci| -------------------- | ------------------------------------------ | ---- | ---- | -------------------------------------------- |
424e41f4b71Sopenharmony_ci| textStyle            | [TextStyle](#textstyle)                    | 是   | 是   | 作用于整个段落的文本样式,默认为初始的TextStyle。|
425e41f4b71Sopenharmony_ci| textDirection        | [TextDirection](#textdirection)            | 是   | 是   | 文本方向,默认为LTR。                          |
426e41f4b71Sopenharmony_ci| align                | [TextAlign](#textalign)                    | 是   | 是   | 文本对齐方式,默认为START。                     |
427e41f4b71Sopenharmony_ci| wordBreak            | [WordBreak](#wordbreak)                    | 是   | 是   | 断词类型,默认为BREAK_WORD。                    |
428e41f4b71Sopenharmony_ci| maxLines             | number                                     | 是   | 是   | 最大行数限制,整数,默认为1e9。                  |
429e41f4b71Sopenharmony_ci| breakStrategy        | [BreakStrategy](#breakstrategy)            | 是   | 是   | 断行策略,默认为GREEDY。                        |
430e41f4b71Sopenharmony_ci| strutStyle           | [StrutStyle](#strutstyle)                  | 是   | 是   | 支柱样式,默认为初始的StrutStyle。               |
431e41f4b71Sopenharmony_ci| textHeightBehavior   | [TextHeightBehavior](#textheightbehavior)  | 是   | 是   | 文本高度修饰符模式,默认为ALL。                              |
432e41f4b71Sopenharmony_ci
433e41f4b71Sopenharmony_ci
434e41f4b71Sopenharmony_ci## PlaceholderAlignment
435e41f4b71Sopenharmony_ci
436e41f4b71Sopenharmony_ci占位符相对于周围文本的纵向的对齐方式。
437e41f4b71Sopenharmony_ci
438e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Graphics.Drawing
439e41f4b71Sopenharmony_ci
440e41f4b71Sopenharmony_ci| 名称                | 值 | 说明                   |
441e41f4b71Sopenharmony_ci| ------------------- | - | ---------------------- |
442e41f4b71Sopenharmony_ci| OFFSET_AT_BASELINE  | 0 | 基线与文本基线对齐。     |
443e41f4b71Sopenharmony_ci| ABOVE_BASELINE      | 1 | 将底部与文本基线对齐。   |
444e41f4b71Sopenharmony_ci| BELOW_BASELINE      | 2 | 将顶部与文本基线对齐。   |
445e41f4b71Sopenharmony_ci| TOP_OF_ROW_BOX      | 3 | 将顶部与文本顶部对齐。   |
446e41f4b71Sopenharmony_ci| BOTTOM_OF_ROW_BOX   | 4 | 将底部与文本底部对齐。   |
447e41f4b71Sopenharmony_ci| CENTER_OF_ROW_BOX   | 5 | 中线与文本的中线位置对齐。|
448e41f4b71Sopenharmony_ci
449e41f4b71Sopenharmony_ci![zh-ch_image_PlaceholderAlignment.png](figures/zh-ch_image_PlaceholderAlignment.png)
450e41f4b71Sopenharmony_ci
451e41f4b71Sopenharmony_ci> **说明:**
452e41f4b71Sopenharmony_ci>
453e41f4b71Sopenharmony_ci> 示意图只展示了后三种,前三种与其类似,只不过比较位置变成了文本基线位置,即绿色线条部分。
454e41f4b71Sopenharmony_ci>
455e41f4b71Sopenharmony_ci>![zh-ch_image_Baseline.png](figures/zh-ch_image_Baseline.png)
456e41f4b71Sopenharmony_ci
457e41f4b71Sopenharmony_ci## PlaceholderSpan
458e41f4b71Sopenharmony_ci
459e41f4b71Sopenharmony_ci描述占位符样式的载体。
460e41f4b71Sopenharmony_ci
461e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Graphics.Drawing
462e41f4b71Sopenharmony_ci
463e41f4b71Sopenharmony_ci| 名称           | 类型                                           | 只读 | 可选 | 说明                         |
464e41f4b71Sopenharmony_ci| -------------- | --------------------------------------------- | ---- | --- | --------------------------- |
465e41f4b71Sopenharmony_ci| width          | number                                        | 是   | 否   | 占位符的宽度,浮点数,单位为物理像素px。|
466e41f4b71Sopenharmony_ci| height         | number                                        | 是   | 否   | 占位符的高度,浮点数,单位为物理像素px。|
467e41f4b71Sopenharmony_ci| align          | [PlaceholderAlignment](#placeholderalignment) | 是   | 否   | 相对于周围文本的纵向的对齐方式。|
468e41f4b71Sopenharmony_ci| baseline       | [TextBaseline](#textbaseline)                 | 是   | 否   | 基线类型。                   |
469e41f4b71Sopenharmony_ci| baselineOffset | number                                        | 是   | 否   | 基线偏移量,浮点数,单位为物理像素px。  |
470e41f4b71Sopenharmony_ci
471e41f4b71Sopenharmony_ci## Range
472e41f4b71Sopenharmony_ci
473e41f4b71Sopenharmony_ci描述一个左闭右开的区间。
474e41f4b71Sopenharmony_ci
475e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Graphics.Drawing
476e41f4b71Sopenharmony_ci
477e41f4b71Sopenharmony_ci| 名称   | 类型   | 只读 | 可选 | 说明            |
478e41f4b71Sopenharmony_ci| ----- | ------ | ---- | --- | --------------- |
479e41f4b71Sopenharmony_ci| start | number | 是   | 否   | 区间左侧端点索引,整数。|
480e41f4b71Sopenharmony_ci| end   | number | 是   | 否   | 区间右侧端点索引,整数。|
481e41f4b71Sopenharmony_ci
482e41f4b71Sopenharmony_ci## Paragraph
483e41f4b71Sopenharmony_ci
484e41f4b71Sopenharmony_ci保存着文本内容以及样式的载体,可以进行排版绘制等操作。
485e41f4b71Sopenharmony_ci
486e41f4b71Sopenharmony_ci下列API示例中都需先使用[ParagraphBuilder](#paragraphbuilder)类的[build()](#build)接口获取到Paragraph对象实例,再通过此实例调用对应方法。
487e41f4b71Sopenharmony_ci
488e41f4b71Sopenharmony_ci### layoutSync
489e41f4b71Sopenharmony_ci
490e41f4b71Sopenharmony_cilayoutSync(width: number): void
491e41f4b71Sopenharmony_ci
492e41f4b71Sopenharmony_ci进行排版,计算所有字形的位置。
493e41f4b71Sopenharmony_ci
494e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Graphics.Drawing
495e41f4b71Sopenharmony_ci
496e41f4b71Sopenharmony_ci**参数:**
497e41f4b71Sopenharmony_ci
498e41f4b71Sopenharmony_ci| 参数名 | 类型   | 必填 | 说明           |
499e41f4b71Sopenharmony_ci| ----- | ------ | ---- | -------------- |
500e41f4b71Sopenharmony_ci| width | number | 是   | 单行的最大宽度,浮点数,单位为物理像素px。|
501e41f4b71Sopenharmony_ci
502e41f4b71Sopenharmony_ci**示例:**
503e41f4b71Sopenharmony_ci
504e41f4b71Sopenharmony_ci```ts
505e41f4b71Sopenharmony_ciparagraph.layoutSync(100);
506e41f4b71Sopenharmony_ci```
507e41f4b71Sopenharmony_ci
508e41f4b71Sopenharmony_ci### paint
509e41f4b71Sopenharmony_ci
510e41f4b71Sopenharmony_cipaint(canvas: drawing.Canvas, x: number, y: number): void
511e41f4b71Sopenharmony_ci
512e41f4b71Sopenharmony_ci在画布上以坐标点 (x, y) 为左上角位置绘制文本。
513e41f4b71Sopenharmony_ci
514e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Graphics.Drawing
515e41f4b71Sopenharmony_ci
516e41f4b71Sopenharmony_ci**参数:**
517e41f4b71Sopenharmony_ci
518e41f4b71Sopenharmony_ci| 参数名 | 类型                                                  | 必填 | 说明                    |
519e41f4b71Sopenharmony_ci| ------ | ---------------------------------------------------- | ---- | ---------------------- |
520e41f4b71Sopenharmony_ci| canvas | [drawing.Canvas](js-apis-graphics-drawing.md#canvas) | 是   | 绘制的目标画布。         |
521e41f4b71Sopenharmony_ci|    x   | number                                               | 是   | 绘制的左上角位置的横坐标,浮点数。|
522e41f4b71Sopenharmony_ci|    y   | number                                               | 是   | 绘制的左上角位置的纵坐标,浮点数。|
523e41f4b71Sopenharmony_ci
524e41f4b71Sopenharmony_ci**示例:**
525e41f4b71Sopenharmony_ci
526e41f4b71Sopenharmony_ci```ts
527e41f4b71Sopenharmony_ciconst color: ArrayBuffer = new ArrayBuffer(160000);
528e41f4b71Sopenharmony_cilet opts: image.InitializationOptions = { editable: true, pixelFormat: 3, size: { height: 200, width: 200 } }
529e41f4b71Sopenharmony_cilet pixelMap: image.PixelMap = image.createPixelMapSync(color, opts);
530e41f4b71Sopenharmony_cilet canvas = new drawing.Canvas(pixelMap);
531e41f4b71Sopenharmony_ciparagraph.paint(canvas, 0, 0);
532e41f4b71Sopenharmony_ci```
533e41f4b71Sopenharmony_ci
534e41f4b71Sopenharmony_ci### paintOnPath
535e41f4b71Sopenharmony_ci
536e41f4b71Sopenharmony_cipaintOnPath(canvas: drawing.Canvas, path: drawing.Path, hOffset: number, vOffset: number): void
537e41f4b71Sopenharmony_ci
538e41f4b71Sopenharmony_ci在画布上沿路径绘制文本。
539e41f4b71Sopenharmony_ci
540e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Graphics.Drawing
541e41f4b71Sopenharmony_ci
542e41f4b71Sopenharmony_ci**参数:**
543e41f4b71Sopenharmony_ci
544e41f4b71Sopenharmony_ci| 参数名 | 类型                                                  | 必填 | 说明                    |
545e41f4b71Sopenharmony_ci| ------ | ---------------------------------------------------- | ---- | ---------------------- |
546e41f4b71Sopenharmony_ci| canvas | [drawing.Canvas](js-apis-graphics-drawing.md#canvas) | 是   | 绘制的目标画布。         |
547e41f4b71Sopenharmony_ci| path | [drawing.Path](js-apis-graphics-drawing.md#path) | 是   | 确认文字位置的路径。         |
548e41f4b71Sopenharmony_ci|    hOffset   | number                                               | 是   | 沿路径方向偏置,从路径起点向前为正,向后为负。|
549e41f4b71Sopenharmony_ci|    vOffset   | number                                               | 是   | 沿路径垂直方向偏置,沿路径方向左侧为负,右侧为正。|
550e41f4b71Sopenharmony_ci
551e41f4b71Sopenharmony_ci**示例:**
552e41f4b71Sopenharmony_ci
553e41f4b71Sopenharmony_ci```ts
554e41f4b71Sopenharmony_ciconst color: ArrayBuffer = new ArrayBuffer(160000);
555e41f4b71Sopenharmony_cilet opts: image.InitializationOptions = { editable: true, pixelFormat: 3, size: { height: 200, width: 200 } }
556e41f4b71Sopenharmony_cilet pixelMap: image.PixelMap = image.createPixelMapSync(color, opts);
557e41f4b71Sopenharmony_cilet canvas = new drawing.Canvas(pixelMap);
558e41f4b71Sopenharmony_cilet path = new drawing.Path();
559e41f4b71Sopenharmony_cipath.arcTo(20, 20, 180, 180, 180, 90);
560e41f4b71Sopenharmony_ciparagraph.paintOnPath(canvas, path, 0, 0);
561e41f4b71Sopenharmony_ci```
562e41f4b71Sopenharmony_ci
563e41f4b71Sopenharmony_ci### getMaxWidth
564e41f4b71Sopenharmony_ci
565e41f4b71Sopenharmony_cigetMaxWidth(): number
566e41f4b71Sopenharmony_ci
567e41f4b71Sopenharmony_ci获取文本最大的行宽。
568e41f4b71Sopenharmony_ci
569e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Graphics.Drawing
570e41f4b71Sopenharmony_ci
571e41f4b71Sopenharmony_ci**返回值:**
572e41f4b71Sopenharmony_ci
573e41f4b71Sopenharmony_ci| 类型   | 说明       |
574e41f4b71Sopenharmony_ci| ------ | --------- |
575e41f4b71Sopenharmony_ci| number | 最大的行宽,浮点数,单位为物理像素px。|
576e41f4b71Sopenharmony_ci
577e41f4b71Sopenharmony_ci**示例:**
578e41f4b71Sopenharmony_ci
579e41f4b71Sopenharmony_ci```ts
580e41f4b71Sopenharmony_cilet maxWidth = paragraph.getMaxWidth();
581e41f4b71Sopenharmony_ci```
582e41f4b71Sopenharmony_ci
583e41f4b71Sopenharmony_ci### getHeight
584e41f4b71Sopenharmony_ci
585e41f4b71Sopenharmony_cigetHeight(): number
586e41f4b71Sopenharmony_ci
587e41f4b71Sopenharmony_ci获取文本总高度。
588e41f4b71Sopenharmony_ci
589e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Graphics.Drawing
590e41f4b71Sopenharmony_ci
591e41f4b71Sopenharmony_ci**返回值:**
592e41f4b71Sopenharmony_ci
593e41f4b71Sopenharmony_ci| 类型   | 说明   |
594e41f4b71Sopenharmony_ci| ------ | ----- |
595e41f4b71Sopenharmony_ci| number | 总高度,浮点数,单位为物理像素px。|
596e41f4b71Sopenharmony_ci
597e41f4b71Sopenharmony_ci**示例:**
598e41f4b71Sopenharmony_ci
599e41f4b71Sopenharmony_ci```ts
600e41f4b71Sopenharmony_cilet height = paragraph.getHeight();
601e41f4b71Sopenharmony_ci```
602e41f4b71Sopenharmony_ci
603e41f4b71Sopenharmony_ci### getLongestLine
604e41f4b71Sopenharmony_ci
605e41f4b71Sopenharmony_cigetLongestLine(): number
606e41f4b71Sopenharmony_ci
607e41f4b71Sopenharmony_ci获取文本最长一行的宽度。
608e41f4b71Sopenharmony_ci
609e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Graphics.Drawing
610e41f4b71Sopenharmony_ci
611e41f4b71Sopenharmony_ci**返回值:**
612e41f4b71Sopenharmony_ci
613e41f4b71Sopenharmony_ci| 类型   | 说明           |
614e41f4b71Sopenharmony_ci| ------ | ------------- |
615e41f4b71Sopenharmony_ci| number | 最长一行的宽度,浮点数,单位为物理像素px。|
616e41f4b71Sopenharmony_ci
617e41f4b71Sopenharmony_ci**示例:**
618e41f4b71Sopenharmony_ci
619e41f4b71Sopenharmony_ci```ts
620e41f4b71Sopenharmony_cilet longestLine = paragraph.getLongestLine();
621e41f4b71Sopenharmony_ci```
622e41f4b71Sopenharmony_ci
623e41f4b71Sopenharmony_ci### getLongestLineWithIndent<sup>13+</sup>
624e41f4b71Sopenharmony_ci
625e41f4b71Sopenharmony_cigetLongestLineWithIndent(): number
626e41f4b71Sopenharmony_ci
627e41f4b71Sopenharmony_ci获取文本最长一行的宽度(该宽度包含当前行缩进的宽度),建议实际使用时将返回值向上取整。当文本内容为空时,返回0。
628e41f4b71Sopenharmony_ci
629e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Graphics.Drawing
630e41f4b71Sopenharmony_ci
631e41f4b71Sopenharmony_ci**返回值:**
632e41f4b71Sopenharmony_ci
633e41f4b71Sopenharmony_ci| 类型   | 说明           |
634e41f4b71Sopenharmony_ci| ------ | ------------- |
635e41f4b71Sopenharmony_ci| number | 最长一行的宽度(该宽度包含当前行缩进的宽度),浮点数,单位为物理像素px。|
636e41f4b71Sopenharmony_ci
637e41f4b71Sopenharmony_ci**示例:**
638e41f4b71Sopenharmony_ci
639e41f4b71Sopenharmony_ci```ts
640e41f4b71Sopenharmony_cilet longestLineWithIndent = paragraph.getLongestLineWithIndent();
641e41f4b71Sopenharmony_ci```
642e41f4b71Sopenharmony_ci
643e41f4b71Sopenharmony_ci### getMinIntrinsicWidth
644e41f4b71Sopenharmony_ci
645e41f4b71Sopenharmony_cigetMinIntrinsicWidth(): number
646e41f4b71Sopenharmony_ci
647e41f4b71Sopenharmony_ci获取该段落所占水平空间的最小固有宽度。
648e41f4b71Sopenharmony_ci
649e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Graphics.Drawing
650e41f4b71Sopenharmony_ci
651e41f4b71Sopenharmony_ci**返回值:**
652e41f4b71Sopenharmony_ci
653e41f4b71Sopenharmony_ci| 类型   | 说明                           |
654e41f4b71Sopenharmony_ci| ------ | ----------------------------- |
655e41f4b71Sopenharmony_ci| number | 该段落所占水平空间的最小固有宽度,浮点数,单位为物理像素px。|
656e41f4b71Sopenharmony_ci
657e41f4b71Sopenharmony_ci**示例:**
658e41f4b71Sopenharmony_ci
659e41f4b71Sopenharmony_ci```ts
660e41f4b71Sopenharmony_cilet minIntrinsicWidth = paragraph.getMinIntrinsicWidth();
661e41f4b71Sopenharmony_ci```
662e41f4b71Sopenharmony_ci
663e41f4b71Sopenharmony_ci### getMaxIntrinsicWidth
664e41f4b71Sopenharmony_ci
665e41f4b71Sopenharmony_cigetMaxIntrinsicWidth(): number
666e41f4b71Sopenharmony_ci
667e41f4b71Sopenharmony_ci获取该段落所占水平空间的最大固有宽度。
668e41f4b71Sopenharmony_ci
669e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Graphics.Drawing
670e41f4b71Sopenharmony_ci
671e41f4b71Sopenharmony_ci**返回值:**
672e41f4b71Sopenharmony_ci
673e41f4b71Sopenharmony_ci| 类型   | 说明                           |
674e41f4b71Sopenharmony_ci| ------ | ----------------------------- |
675e41f4b71Sopenharmony_ci| number | 该段落所占水平空间的最大固有宽度,浮点数,单位为物理像素px。|
676e41f4b71Sopenharmony_ci
677e41f4b71Sopenharmony_ci**示例:**
678e41f4b71Sopenharmony_ci
679e41f4b71Sopenharmony_ci```ts
680e41f4b71Sopenharmony_cilet maxIntrinsicWidth = paragraph.getMaxIntrinsicWidth();
681e41f4b71Sopenharmony_ci```
682e41f4b71Sopenharmony_ci
683e41f4b71Sopenharmony_ci### getAlphabeticBaseline
684e41f4b71Sopenharmony_ci
685e41f4b71Sopenharmony_cigetAlphabeticBaseline(): number
686e41f4b71Sopenharmony_ci
687e41f4b71Sopenharmony_ci获取拉丁字母下的基线位置。
688e41f4b71Sopenharmony_ci
689e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Graphics.Drawing
690e41f4b71Sopenharmony_ci
691e41f4b71Sopenharmony_ci**返回值:**
692e41f4b71Sopenharmony_ci
693e41f4b71Sopenharmony_ci| 类型   | 说明                |
694e41f4b71Sopenharmony_ci| ------ | ------------------ |
695e41f4b71Sopenharmony_ci| number | 拉丁字母下的基线位置,浮点数,单位为物理像素px。|
696e41f4b71Sopenharmony_ci
697e41f4b71Sopenharmony_ci**示例:**
698e41f4b71Sopenharmony_ci
699e41f4b71Sopenharmony_ci```ts
700e41f4b71Sopenharmony_cilet alphabeticBaseline = paragraph.getAlphabeticBaseline();
701e41f4b71Sopenharmony_ci```
702e41f4b71Sopenharmony_ci
703e41f4b71Sopenharmony_ci### getIdeographicBaseline
704e41f4b71Sopenharmony_ci
705e41f4b71Sopenharmony_cigetIdeographicBaseline(): number
706e41f4b71Sopenharmony_ci
707e41f4b71Sopenharmony_ci获取表意字(如CJK(中文,日文,韩文))下的基线位置。
708e41f4b71Sopenharmony_ci
709e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Graphics.Drawing
710e41f4b71Sopenharmony_ci
711e41f4b71Sopenharmony_ci**返回值:**
712e41f4b71Sopenharmony_ci
713e41f4b71Sopenharmony_ci| 类型   | 说明                  |
714e41f4b71Sopenharmony_ci| ------ | -------------------- |
715e41f4b71Sopenharmony_ci| number | 获取表意字下的基线位置,浮点数,单位为物理像素px。|
716e41f4b71Sopenharmony_ci
717e41f4b71Sopenharmony_ci**示例:**
718e41f4b71Sopenharmony_ci
719e41f4b71Sopenharmony_ci```ts
720e41f4b71Sopenharmony_cilet ideographicBaseline = paragraph.getIdeographicBaseline();
721e41f4b71Sopenharmony_ci```
722e41f4b71Sopenharmony_ci
723e41f4b71Sopenharmony_ci### getRectsForRange
724e41f4b71Sopenharmony_ci
725e41f4b71Sopenharmony_cigetRectsForRange(range: Range, widthStyle: RectWidthStyle, heightStyle: RectHeightStyle): Array\<TextBox>
726e41f4b71Sopenharmony_ci
727e41f4b71Sopenharmony_ci获取给定的矩形区域宽度以及矩形区域高度的规格下,文本中该区间范围内的字符的所占的矩形区域。
728e41f4b71Sopenharmony_ci
729e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Graphics.Drawing
730e41f4b71Sopenharmony_ci
731e41f4b71Sopenharmony_ci**参数:**
732e41f4b71Sopenharmony_ci
733e41f4b71Sopenharmony_ci| 参数名      | 类型                                 | 必填 | 说明                     |
734e41f4b71Sopenharmony_ci| ----------- | ----------------------------------- | ---- | ------------------------ |
735e41f4b71Sopenharmony_ci| range       | [Range](#range)                     | 是   | 需要获取的区域的文本区间。  |
736e41f4b71Sopenharmony_ci| widthStyle  | [RectWidthStyle](#rectwidthstyle)   | 是   | 返回的矩形区域的宽度的规格。|
737e41f4b71Sopenharmony_ci| heightStyle | [RectHeightStyle](#rectheightstyle) | 是   | 返回的矩形区域的高度的规格。|
738e41f4b71Sopenharmony_ci
739e41f4b71Sopenharmony_ci**返回值:**
740e41f4b71Sopenharmony_ci
741e41f4b71Sopenharmony_ci| 类型                         | 说明        |
742e41f4b71Sopenharmony_ci| --------------------------- | ----------- |
743e41f4b71Sopenharmony_ci| Array\<[TextBox](#textbox)> | 矩形区域数组。|
744e41f4b71Sopenharmony_ci
745e41f4b71Sopenharmony_ci**示例:**
746e41f4b71Sopenharmony_ci
747e41f4b71Sopenharmony_ci```ts
748e41f4b71Sopenharmony_cilet range: text.Range = { start: 0, end: 1};
749e41f4b71Sopenharmony_cilet rects = paragraph.getRectsForRange(range, text.RectWidthStyle.TIGHT, text.RectHeightStyle.TIGHT);
750e41f4b71Sopenharmony_ci```
751e41f4b71Sopenharmony_ci
752e41f4b71Sopenharmony_ci### getRectsForPlaceholders
753e41f4b71Sopenharmony_ci
754e41f4b71Sopenharmony_cigetRectsForPlaceholders(): Array\<TextBox>
755e41f4b71Sopenharmony_ci
756e41f4b71Sopenharmony_ci获取文本中所有占位符所占的矩形区域。
757e41f4b71Sopenharmony_ci
758e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Graphics.Drawing
759e41f4b71Sopenharmony_ci
760e41f4b71Sopenharmony_ci**返回值:**
761e41f4b71Sopenharmony_ci
762e41f4b71Sopenharmony_ci| 类型                         | 说明        |
763e41f4b71Sopenharmony_ci| --------------------------- | ----------- |
764e41f4b71Sopenharmony_ci| Array\<[TextBox](#textbox)> | 矩形区域数组。|
765e41f4b71Sopenharmony_ci
766e41f4b71Sopenharmony_ci**示例:**
767e41f4b71Sopenharmony_ci
768e41f4b71Sopenharmony_ci```ts
769e41f4b71Sopenharmony_cilet placeholderRects = paragraph.getRectsForPlaceholders();
770e41f4b71Sopenharmony_ci```
771e41f4b71Sopenharmony_ci
772e41f4b71Sopenharmony_ci### getGlyphPositionAtCoordinate
773e41f4b71Sopenharmony_ci
774e41f4b71Sopenharmony_cigetGlyphPositionAtCoordinate(x: number, y: number): PositionWithAffinity
775e41f4b71Sopenharmony_ci
776e41f4b71Sopenharmony_ci获取较为接近给定坐标的字形的位置信息。
777e41f4b71Sopenharmony_ci
778e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Graphics.Drawing
779e41f4b71Sopenharmony_ci
780e41f4b71Sopenharmony_ci**参数:**
781e41f4b71Sopenharmony_ci
782e41f4b71Sopenharmony_ci| 参数名 | 类型   | 必填 | 说明   |
783e41f4b71Sopenharmony_ci| ----- | ------ | ---- | ------ |
784e41f4b71Sopenharmony_ci| x     | number | 是   | 横坐标,浮点数。|
785e41f4b71Sopenharmony_ci| y     | number | 是   | 纵坐标,浮点数。|
786e41f4b71Sopenharmony_ci
787e41f4b71Sopenharmony_ci**返回值:**
788e41f4b71Sopenharmony_ci
789e41f4b71Sopenharmony_ci| 类型                                          | 说明        |
790e41f4b71Sopenharmony_ci| --------------------------------------------- | ----------- |
791e41f4b71Sopenharmony_ci| [PositionWithAffinity](#positionwithaffinity) | 字形位置信息。|
792e41f4b71Sopenharmony_ci
793e41f4b71Sopenharmony_ci**示例:**
794e41f4b71Sopenharmony_ci
795e41f4b71Sopenharmony_ci```ts
796e41f4b71Sopenharmony_cilet positionWithAffinity = paragraph.getGlyphPositionAtCoordinate(0, 0);
797e41f4b71Sopenharmony_ci```
798e41f4b71Sopenharmony_ci
799e41f4b71Sopenharmony_ci### getWordBoundary
800e41f4b71Sopenharmony_ci
801e41f4b71Sopenharmony_cigetWordBoundary(offset: number): Range
802e41f4b71Sopenharmony_ci
803e41f4b71Sopenharmony_ci返回给定的 offset 的字形所处的单词的索引区间。
804e41f4b71Sopenharmony_ci
805e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Graphics.Drawing
806e41f4b71Sopenharmony_ci
807e41f4b71Sopenharmony_ci**参数:**
808e41f4b71Sopenharmony_ci
809e41f4b71Sopenharmony_ci| 参数名 | 类型    | 必填 | 说明        |
810e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ----------- |
811e41f4b71Sopenharmony_ci| offset | number | 是   | 字形的偏移量,整数。|
812e41f4b71Sopenharmony_ci
813e41f4b71Sopenharmony_ci**返回值:**
814e41f4b71Sopenharmony_ci
815e41f4b71Sopenharmony_ci| 类型            | 说明            |
816e41f4b71Sopenharmony_ci| --------------- | -------------- |
817e41f4b71Sopenharmony_ci| [Range](#range) | 单词的索引区间。|
818e41f4b71Sopenharmony_ci
819e41f4b71Sopenharmony_ci**示例:**
820e41f4b71Sopenharmony_ci
821e41f4b71Sopenharmony_ci```ts
822e41f4b71Sopenharmony_cilet wordRange = paragraph.getWordBoundary(0);
823e41f4b71Sopenharmony_ci```
824e41f4b71Sopenharmony_ci
825e41f4b71Sopenharmony_ci### getLineCount
826e41f4b71Sopenharmony_ci
827e41f4b71Sopenharmony_cigetLineCount(): number
828e41f4b71Sopenharmony_ci
829e41f4b71Sopenharmony_ci返回文本行数量。
830e41f4b71Sopenharmony_ci
831e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Graphics.Drawing
832e41f4b71Sopenharmony_ci
833e41f4b71Sopenharmony_ci**返回值:**
834e41f4b71Sopenharmony_ci
835e41f4b71Sopenharmony_ci| 类型   | 说明       |
836e41f4b71Sopenharmony_ci| ------ | --------- |
837e41f4b71Sopenharmony_ci| number | 文本行数量,整数。|
838e41f4b71Sopenharmony_ci
839e41f4b71Sopenharmony_ci**示例:**
840e41f4b71Sopenharmony_ci
841e41f4b71Sopenharmony_ci```ts
842e41f4b71Sopenharmony_cilet lineCount = paragraph.getLineCount();
843e41f4b71Sopenharmony_ci```
844e41f4b71Sopenharmony_ci
845e41f4b71Sopenharmony_ci### getLineHeight
846e41f4b71Sopenharmony_ci
847e41f4b71Sopenharmony_cigetLineHeight(line: number): number
848e41f4b71Sopenharmony_ci
849e41f4b71Sopenharmony_ci返回指定行索引的行高。
850e41f4b71Sopenharmony_ci
851e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Graphics.Drawing
852e41f4b71Sopenharmony_ci
853e41f4b71Sopenharmony_ci**参数:**
854e41f4b71Sopenharmony_ci
855e41f4b71Sopenharmony_ci| 参数名 | 类型   | 必填 | 说明      |
856e41f4b71Sopenharmony_ci| ----- | ------ | ---- | --------- |
857e41f4b71Sopenharmony_ci| line  | number | 是   | 文本行索引,整数。|
858e41f4b71Sopenharmony_ci
859e41f4b71Sopenharmony_ci**返回值:**
860e41f4b71Sopenharmony_ci
861e41f4b71Sopenharmony_ci| 类型   | 说明  |
862e41f4b71Sopenharmony_ci| ------ | ---- |
863e41f4b71Sopenharmony_ci| number | 行高。|
864e41f4b71Sopenharmony_ci
865e41f4b71Sopenharmony_ci**示例:**
866e41f4b71Sopenharmony_ci
867e41f4b71Sopenharmony_ci```ts
868e41f4b71Sopenharmony_cilet lineHeight = paragraph.getLineHeight(0);
869e41f4b71Sopenharmony_ci```
870e41f4b71Sopenharmony_ci
871e41f4b71Sopenharmony_ci### getLineWidth
872e41f4b71Sopenharmony_ci
873e41f4b71Sopenharmony_cigetLineWidth(line: number): number
874e41f4b71Sopenharmony_ci
875e41f4b71Sopenharmony_ci返回指定行索引的行宽。
876e41f4b71Sopenharmony_ci
877e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Graphics.Drawing
878e41f4b71Sopenharmony_ci
879e41f4b71Sopenharmony_ci**参数:**
880e41f4b71Sopenharmony_ci
881e41f4b71Sopenharmony_ci| 参数名 | 类型   | 必填 | 说明      |
882e41f4b71Sopenharmony_ci| ----- | ------ | ---- | --------- |
883e41f4b71Sopenharmony_ci| line  | number | 是   | 文本行索引,整数。|
884e41f4b71Sopenharmony_ci
885e41f4b71Sopenharmony_ci**返回值:**
886e41f4b71Sopenharmony_ci
887e41f4b71Sopenharmony_ci| 类型   | 说明  |
888e41f4b71Sopenharmony_ci| ------ | ---- |
889e41f4b71Sopenharmony_ci| number | 行宽。|
890e41f4b71Sopenharmony_ci
891e41f4b71Sopenharmony_ci**示例:**
892e41f4b71Sopenharmony_ci
893e41f4b71Sopenharmony_ci```ts
894e41f4b71Sopenharmony_cilet lineWidth = paragraph.getLineWidth(0);
895e41f4b71Sopenharmony_ci```
896e41f4b71Sopenharmony_ci
897e41f4b71Sopenharmony_ci### didExceedMaxLines
898e41f4b71Sopenharmony_ci
899e41f4b71Sopenharmony_cididExceedMaxLines(): boolean
900e41f4b71Sopenharmony_ci
901e41f4b71Sopenharmony_ci返回段落是否超过最大行限制。
902e41f4b71Sopenharmony_ci
903e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Graphics.Drawing
904e41f4b71Sopenharmony_ci
905e41f4b71Sopenharmony_ci**返回值:**
906e41f4b71Sopenharmony_ci
907e41f4b71Sopenharmony_ci| 类型    | 说明                                                      |
908e41f4b71Sopenharmony_ci| ------- | -------------------------------------------------------- |
909e41f4b71Sopenharmony_ci| boolean | true表示段落超出了最大行限制,false则表示没有超出最大行限制。 |
910e41f4b71Sopenharmony_ci
911e41f4b71Sopenharmony_ci**示例:**
912e41f4b71Sopenharmony_ci
913e41f4b71Sopenharmony_ci```ts
914e41f4b71Sopenharmony_cilet didExceed = paragraph.didExceedMaxLines();
915e41f4b71Sopenharmony_ci```
916e41f4b71Sopenharmony_ci
917e41f4b71Sopenharmony_ci### getTextLines
918e41f4b71Sopenharmony_ci
919e41f4b71Sopenharmony_cigetTextLines(): Array\<TextLine>
920e41f4b71Sopenharmony_ci
921e41f4b71Sopenharmony_ci返回所有的文本行载体。
922e41f4b71Sopenharmony_ci
923e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Graphics.Drawing
924e41f4b71Sopenharmony_ci
925e41f4b71Sopenharmony_ci**返回值:**
926e41f4b71Sopenharmony_ci
927e41f4b71Sopenharmony_ci| 类型                          | 说明          |
928e41f4b71Sopenharmony_ci| ----------------------------- | ------------- |
929e41f4b71Sopenharmony_ci| Array\<[TextLine](#textline)> | 文本行载体数组。|
930e41f4b71Sopenharmony_ci
931e41f4b71Sopenharmony_ci**示例:**
932e41f4b71Sopenharmony_ci
933e41f4b71Sopenharmony_ci```ts
934e41f4b71Sopenharmony_cilet lines = paragraph.getTextLines();
935e41f4b71Sopenharmony_ci```
936e41f4b71Sopenharmony_ci
937e41f4b71Sopenharmony_ci### getActualTextRange
938e41f4b71Sopenharmony_ci
939e41f4b71Sopenharmony_cigetActualTextRange(lineNumber: number, includeSpaces: boolean): Range
940e41f4b71Sopenharmony_ci
941e41f4b71Sopenharmony_ci获取指定行号上的实际可见文本范围,这不包括由于文本溢出而显示的省略号。
942e41f4b71Sopenharmony_ci
943e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Graphics.Drawing
944e41f4b71Sopenharmony_ci
945e41f4b71Sopenharmony_ci**参数:**
946e41f4b71Sopenharmony_ci
947e41f4b71Sopenharmony_ci| 参数名 | 类型   | 必填 | 说明      |
948e41f4b71Sopenharmony_ci| ----- | ------ | ---- | --------- |
949e41f4b71Sopenharmony_ci| lineNumber  | number | 是   | 要获取文本范围的行号,行号从0开始。|
950e41f4b71Sopenharmony_ci| includeSpaces  | boolean | 是   | 指示是否应包含空白字符。true表示包含空白字符,false表示不包含空白字符。|
951e41f4b71Sopenharmony_ci
952e41f4b71Sopenharmony_ci**返回值:**
953e41f4b71Sopenharmony_ci
954e41f4b71Sopenharmony_ci| 类型             | 说明                                              |
955e41f4b71Sopenharmony_ci| ---------------- | ------------------------------------------------ |
956e41f4b71Sopenharmony_ci| [Range](#range)  | 表明了对应行数的实际文本范围。                               |
957e41f4b71Sopenharmony_ci
958e41f4b71Sopenharmony_ci**示例:**
959e41f4b71Sopenharmony_ci
960e41f4b71Sopenharmony_ci```ts
961e41f4b71Sopenharmony_cilet rang = paragraph.getActualTextRange(0, true);
962e41f4b71Sopenharmony_ci```
963e41f4b71Sopenharmony_ci
964e41f4b71Sopenharmony_ci
965e41f4b71Sopenharmony_ci### getLineMetrics
966e41f4b71Sopenharmony_ci
967e41f4b71Sopenharmony_cigetLineMetrics(): Array\<LineMetrics>
968e41f4b71Sopenharmony_ci
969e41f4b71Sopenharmony_ci获取文本行的行度量数组。
970e41f4b71Sopenharmony_ci
971e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Graphics.Drawing
972e41f4b71Sopenharmony_ci
973e41f4b71Sopenharmony_ci**返回值:**
974e41f4b71Sopenharmony_ci
975e41f4b71Sopenharmony_ci| 类型                          | 说明          |
976e41f4b71Sopenharmony_ci| ----------------------------- | ------------- |
977e41f4b71Sopenharmony_ci| Array\<[LineMetrics](#linemetrics)> | 文本行的行度量数组。|
978e41f4b71Sopenharmony_ci
979e41f4b71Sopenharmony_ci**示例:**
980e41f4b71Sopenharmony_ci
981e41f4b71Sopenharmony_ci```ts
982e41f4b71Sopenharmony_cilet arrLineMetrc =  paragraph.getLineMetrics();
983e41f4b71Sopenharmony_ci```
984e41f4b71Sopenharmony_ci
985e41f4b71Sopenharmony_ci### getLineMetrics
986e41f4b71Sopenharmony_ci
987e41f4b71Sopenharmony_cigetLineMetrics(lineNumber: number): LineMetrics | undefined
988e41f4b71Sopenharmony_ci
989e41f4b71Sopenharmony_ci获取特定行号的行度量信息。
990e41f4b71Sopenharmony_ci
991e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Graphics.Drawing
992e41f4b71Sopenharmony_ci
993e41f4b71Sopenharmony_ci**参数:**
994e41f4b71Sopenharmony_ci
995e41f4b71Sopenharmony_ci| 参数名 | 类型   | 必填 | 说明      |
996e41f4b71Sopenharmony_ci| ----- | ------ | ---- | --------- |
997e41f4b71Sopenharmony_ci| lineNumber  | number | 是   | 要查询度量信息的行的编号, 行号从0开始。|
998e41f4b71Sopenharmony_ci
999e41f4b71Sopenharmony_ci**返回值:**
1000e41f4b71Sopenharmony_ci
1001e41f4b71Sopenharmony_ci| 类型             | 说明                                              |
1002e41f4b71Sopenharmony_ci| ---------------- | ------------------------------------------------ |
1003e41f4b71Sopenharmony_ci| [LineMetrics](#linemetrics) | 如果指定的行号有效且度量信息存在,则返回一个包含该行度量数据的LineMetrics对象;如果行号无效或无法获取度量信息,则返回undefined。                  |
1004e41f4b71Sopenharmony_ci
1005e41f4b71Sopenharmony_ci**示例:**
1006e41f4b71Sopenharmony_ci
1007e41f4b71Sopenharmony_ci```ts
1008e41f4b71Sopenharmony_cilet lineMetrics =  paragraph.getLineMetrics(0);
1009e41f4b71Sopenharmony_ci```
1010e41f4b71Sopenharmony_ci
1011e41f4b71Sopenharmony_ci## RunMetrics
1012e41f4b71Sopenharmony_ci
1013e41f4b71Sopenharmony_ci描述文本行中连续文本块的布局信息和度量数据。
1014e41f4b71Sopenharmony_ci
1015e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Graphics.Drawing
1016e41f4b71Sopenharmony_ci
1017e41f4b71Sopenharmony_ci| 名称      | 类型                                                | 只读 | 可选 | 说明        |
1018e41f4b71Sopenharmony_ci| --------- | -------------------------------------------------- | ---- | ---- | ----------- |
1019e41f4b71Sopenharmony_ci| textStyle | [TextStyle](#textstyle)                             | 是   | 否   | 字体的样式信息。|
1020e41f4b71Sopenharmony_ci| fontMetrics | [drawing.FontMetrics](js-apis-graphics-drawing.md#fontmetrics)| 是   | 否   | 字体度量信息。    |
1021e41f4b71Sopenharmony_ci
1022e41f4b71Sopenharmony_ci## LineMetrics
1023e41f4b71Sopenharmony_ci
1024e41f4b71Sopenharmony_ci用于描述文本布局中单行文字的度量信息。
1025e41f4b71Sopenharmony_ci
1026e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Graphics.Drawing
1027e41f4b71Sopenharmony_ci
1028e41f4b71Sopenharmony_ci| 名称      | 类型                                                | 只读 | 可选 | 说明        |
1029e41f4b71Sopenharmony_ci| --------- | -------------------------------------------------- | ---- | ---- | ----------- |
1030e41f4b71Sopenharmony_ci| startIndex | number                                            | 是   | 否   | 文本缓冲区中该行开始的索引位置。|
1031e41f4b71Sopenharmony_ci| endIndex   | number                                            | 是   | 否   | 文本缓冲区中该行结束的索引位置。|
1032e41f4b71Sopenharmony_ci| ascent     | number                                            | 是   | 否   | 文字上升高度,即从基线到字符顶部的距离。|
1033e41f4b71Sopenharmony_ci| descent    | number                                            | 是   | 否   | 文字下降高度,即从基线到字符底部的距离。|
1034e41f4b71Sopenharmony_ci| height     | number                                            | 是   | 否   | 当前行的高度,计算方式为 `Math.round(ascent + descent)`|
1035e41f4b71Sopenharmony_ci| width      | number                                            | 是   | 否   | 行的宽度。                      |
1036e41f4b71Sopenharmony_ci| left       | number                        | 是   | 否   | 行的左边缘位置。右边缘可通过 `left+width` 计算得出。|
1037e41f4b71Sopenharmony_ci| baseline   | number                        | 是   | 否   | 该行基线相对于段落顶部的 Y 坐标位置。|
1038e41f4b71Sopenharmony_ci| lineNumber   | number                        | 是   | 否   | 行号,从0开始计数。|
1039e41f4b71Sopenharmony_ci| topHeight   | number                        | 是   | 否   | 从顶部到当前行的高度。|
1040e41f4b71Sopenharmony_ci| runMetrics   | Map<number, [RunMetrics](#runmetrics)>                        | 是   | 否   | 文本索引范围与关联的字体度量信息之间的映射。|
1041e41f4b71Sopenharmony_ci
1042e41f4b71Sopenharmony_ci## TextBox
1043e41f4b71Sopenharmony_ci
1044e41f4b71Sopenharmony_ci文本矩形区域。
1045e41f4b71Sopenharmony_ci
1046e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Graphics.Drawing
1047e41f4b71Sopenharmony_ci
1048e41f4b71Sopenharmony_ci| 名称      | 类型                                                | 只读 | 可选 | 说明        |
1049e41f4b71Sopenharmony_ci| --------- | -------------------------------------------------- | ---- | ---- | ----------- |
1050e41f4b71Sopenharmony_ci| rect      | [common2D.Rect](js-apis-graphics-common2D.md#rect) | 是   | 否   | 矩形区域信息。|
1051e41f4b71Sopenharmony_ci| direction | [TextDirection](#textdirection)                    | 是   | 否   | 文本方向。    |
1052e41f4b71Sopenharmony_ci
1053e41f4b71Sopenharmony_ci## PositionWithAffinity
1054e41f4b71Sopenharmony_ci
1055e41f4b71Sopenharmony_ci位置以及亲和度。
1056e41f4b71Sopenharmony_ci
1057e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Graphics.Drawing
1058e41f4b71Sopenharmony_ci
1059e41f4b71Sopenharmony_ci| 名称      | 类型                   | 只读 | 可选 | 说明                      |
1060e41f4b71Sopenharmony_ci| --------- | --------------------- | ---- | ---- | ------------------------ |
1061e41f4b71Sopenharmony_ci| position  | number                | 是   | 否   | 字形相对于段落的索引,整数。  |
1062e41f4b71Sopenharmony_ci| affinity  | [Affinity](#affinity) | 是   | 否   | 位置亲和度。               |
1063e41f4b71Sopenharmony_ci
1064e41f4b71Sopenharmony_ci## RectWidthStyle
1065e41f4b71Sopenharmony_ci
1066e41f4b71Sopenharmony_ci矩形区域宽度规格枚举。
1067e41f4b71Sopenharmony_ci
1068e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Graphics.Drawing
1069e41f4b71Sopenharmony_ci
1070e41f4b71Sopenharmony_ci| 名称  | 值 | 说明                                   |
1071e41f4b71Sopenharmony_ci| ----- | - | -------------------------------------- |
1072e41f4b71Sopenharmony_ci| TIGHT | 0 | 不设置letterSpacing时,与字形紧贴,否则包含letterSpacing。                            |
1073e41f4b71Sopenharmony_ci| MAX   | 1 | 扩展宽度,以匹配所有行上最宽矩形的位置。   |
1074e41f4b71Sopenharmony_ci
1075e41f4b71Sopenharmony_ci## RectHeightStyle
1076e41f4b71Sopenharmony_ci
1077e41f4b71Sopenharmony_ci矩形区域高度规格枚举。
1078e41f4b71Sopenharmony_ci
1079e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Graphics.Drawing
1080e41f4b71Sopenharmony_ci
1081e41f4b71Sopenharmony_ci| 名称                      | 值 | 说明                                           |
1082e41f4b71Sopenharmony_ci| ------------------------- | - | ---------------------------------------------- |
1083e41f4b71Sopenharmony_ci| TIGHT                     | 0 | 与字形紧贴。                                    |
1084e41f4b71Sopenharmony_ci| MAX                       | 1 | 扩展高度,以匹配所有行上最高矩形的位置。           |
1085e41f4b71Sopenharmony_ci| INCLUDE_LINE_SPACE_MIDDLE | 2 | 每个矩形的顶部和底部将覆盖行上方和行下方的一半空间。|
1086e41f4b71Sopenharmony_ci| INCLUDE_LINE_SPACE_TOP    | 3 | 行间距将被添加到矩形的顶部。                      |
1087e41f4b71Sopenharmony_ci| INCLUDE_LINE_SPACE_BOTTOM | 4 | 行间距将被添加到矩形的底部。                      |
1088e41f4b71Sopenharmony_ci| STRUT                     | 5 | 高度按照文本的样式设置。                          |
1089e41f4b71Sopenharmony_ci
1090e41f4b71Sopenharmony_ci## Affinity
1091e41f4b71Sopenharmony_ci
1092e41f4b71Sopenharmony_ci位置亲和度枚举。
1093e41f4b71Sopenharmony_ci
1094e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Graphics.Drawing
1095e41f4b71Sopenharmony_ci
1096e41f4b71Sopenharmony_ci| 名称       | 值 | 说明                          |
1097e41f4b71Sopenharmony_ci| ---------- | - | ----------------------------- |
1098e41f4b71Sopenharmony_ci| UPSTREAM   | 0 | 该位置与文本位置的前一位有关联。 |
1099e41f4b71Sopenharmony_ci| DOWNSTREAM | 1 | 该位置与文本位置的后一位有关联。 |
1100e41f4b71Sopenharmony_ci
1101e41f4b71Sopenharmony_ci## ParagraphBuilder
1102e41f4b71Sopenharmony_ci
1103e41f4b71Sopenharmony_ci段落生成器。
1104e41f4b71Sopenharmony_ci
1105e41f4b71Sopenharmony_ci### constructor
1106e41f4b71Sopenharmony_ci
1107e41f4b71Sopenharmony_ciconstructor(paragraphStyle: ParagraphStyle, fontCollection: FontCollection)
1108e41f4b71Sopenharmony_ci
1109e41f4b71Sopenharmony_ciParagraphBuilder对象的构造函数。
1110e41f4b71Sopenharmony_ci
1111e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Graphics.Drawing
1112e41f4b71Sopenharmony_ci
1113e41f4b71Sopenharmony_ci**参数:**
1114e41f4b71Sopenharmony_ci
1115e41f4b71Sopenharmony_ci| 参数名         | 类型                               | 必填 | 说明        |
1116e41f4b71Sopenharmony_ci| -------------- | --------------------------------- | ---- | ----------- |
1117e41f4b71Sopenharmony_ci| paragraphStyle | [ParagraphStyle](#paragraphstyle) | 是   | 段落样式。   |
1118e41f4b71Sopenharmony_ci| fontCollection | [FontCollection](#fontcollection) | 是   | 字体管理器。 |
1119e41f4b71Sopenharmony_ci
1120e41f4b71Sopenharmony_ci**示例:**
1121e41f4b71Sopenharmony_ci
1122e41f4b71Sopenharmony_ci```ts
1123e41f4b71Sopenharmony_ciimport { text } from "@kit.ArkGraphics2D";
1124e41f4b71Sopenharmony_ci
1125e41f4b71Sopenharmony_cifunction textFunc() {
1126e41f4b71Sopenharmony_ci  let myTextStyle: text.TextStyle = {
1127e41f4b71Sopenharmony_ci    color: { alpha: 255, red: 255, green: 0, blue: 0 },
1128e41f4b71Sopenharmony_ci    fontSize: 33,
1129e41f4b71Sopenharmony_ci  };
1130e41f4b71Sopenharmony_ci  let myParagraphStyle: text.ParagraphStyle = {
1131e41f4b71Sopenharmony_ci    textStyle: myTextStyle,
1132e41f4b71Sopenharmony_ci    align: text.TextAlign.END,
1133e41f4b71Sopenharmony_ci  };
1134e41f4b71Sopenharmony_ci  let fontCollection = new text.FontCollection();
1135e41f4b71Sopenharmony_ci  let ParagraphGraphBuilder = new text.ParagraphBuilder(myParagraphStyle, fontCollection);
1136e41f4b71Sopenharmony_ci}
1137e41f4b71Sopenharmony_ci
1138e41f4b71Sopenharmony_ci@Entry
1139e41f4b71Sopenharmony_ci@Component
1140e41f4b71Sopenharmony_cistruct Index {
1141e41f4b71Sopenharmony_ci  fun: Function = textFunc;
1142e41f4b71Sopenharmony_ci  build() {
1143e41f4b71Sopenharmony_ci    Column() {
1144e41f4b71Sopenharmony_ci      Button().onClick(() => {
1145e41f4b71Sopenharmony_ci        this.fun();
1146e41f4b71Sopenharmony_ci      })
1147e41f4b71Sopenharmony_ci    }
1148e41f4b71Sopenharmony_ci  }
1149e41f4b71Sopenharmony_ci}
1150e41f4b71Sopenharmony_ci```
1151e41f4b71Sopenharmony_ci
1152e41f4b71Sopenharmony_ci### pushStyle
1153e41f4b71Sopenharmony_ci
1154e41f4b71Sopenharmony_ci pushStyle(textStyle: TextStyle): void
1155e41f4b71Sopenharmony_ci
1156e41f4b71Sopenharmony_ci更新文本样式。
1157e41f4b71Sopenharmony_ci
1158e41f4b71Sopenharmony_ci> **说明:**
1159e41f4b71Sopenharmony_ci>
1160e41f4b71Sopenharmony_ci> 更新当前文本块的样式 ,直到对应的 [popStyle](#popstyle) 操作被执行,会还原到上一个文本样式。
1161e41f4b71Sopenharmony_ci
1162e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Graphics.Drawing
1163e41f4b71Sopenharmony_ci
1164e41f4b71Sopenharmony_ci**参数:**
1165e41f4b71Sopenharmony_ci
1166e41f4b71Sopenharmony_ci| 参数名    | 类型       | 必填 | 说明                                                                                                   |
1167e41f4b71Sopenharmony_ci| --------- | --------- | ---- | ------------------------------------------------------------------------------------------------------ |
1168e41f4b71Sopenharmony_ci| textStyle | [TextStyle](#textstyle) | 是   | 包含了对文本的各种视觉属性的定义,如字体、字号、颜色、字重、字间距、行距、装饰(如下划线、删除线)、文本阴影等。 |
1169e41f4b71Sopenharmony_ci
1170e41f4b71Sopenharmony_ci**示例:**
1171e41f4b71Sopenharmony_ci
1172e41f4b71Sopenharmony_ci```ts
1173e41f4b71Sopenharmony_ciimport { drawing } from '@kit.ArkGraphics2D'
1174e41f4b71Sopenharmony_ciimport { text } from "@kit.ArkGraphics2D"
1175e41f4b71Sopenharmony_ciimport { common2D } from "@kit.ArkGraphics2D"
1176e41f4b71Sopenharmony_ciimport { image } from '@kit.ImageKit';
1177e41f4b71Sopenharmony_ci
1178e41f4b71Sopenharmony_cifunction textFunc() {
1179e41f4b71Sopenharmony_ci  let myTextStyle: text.TextStyle = {
1180e41f4b71Sopenharmony_ci    color: { alpha: 255, red: 255, green: 0, blue: 0 },
1181e41f4b71Sopenharmony_ci    fontSize: 33,
1182e41f4b71Sopenharmony_ci  };
1183e41f4b71Sopenharmony_ci  let myParagraphStyle: text.ParagraphStyle = {
1184e41f4b71Sopenharmony_ci    textStyle: myTextStyle,
1185e41f4b71Sopenharmony_ci    align: text.TextAlign.CENTER,
1186e41f4b71Sopenharmony_ci  };
1187e41f4b71Sopenharmony_ci  let fontCollection = new text.FontCollection();
1188e41f4b71Sopenharmony_ci  let ParagraphGraphBuilder = new text.ParagraphBuilder(myParagraphStyle, fontCollection);
1189e41f4b71Sopenharmony_ci  ParagraphGraphBuilder.pushStyle(myTextStyle);
1190e41f4b71Sopenharmony_ci}
1191e41f4b71Sopenharmony_ci
1192e41f4b71Sopenharmony_ci@Entry
1193e41f4b71Sopenharmony_ci@Component
1194e41f4b71Sopenharmony_cistruct Index {
1195e41f4b71Sopenharmony_ci  fun: Function = textFunc;
1196e41f4b71Sopenharmony_ci  build() {
1197e41f4b71Sopenharmony_ci    Column() {
1198e41f4b71Sopenharmony_ci      Button().onClick(() => {
1199e41f4b71Sopenharmony_ci        this.fun();
1200e41f4b71Sopenharmony_ci      })
1201e41f4b71Sopenharmony_ci    }
1202e41f4b71Sopenharmony_ci  }
1203e41f4b71Sopenharmony_ci}
1204e41f4b71Sopenharmony_ci```
1205e41f4b71Sopenharmony_ci
1206e41f4b71Sopenharmony_ci### popStyle
1207e41f4b71Sopenharmony_ci
1208e41f4b71Sopenharmony_cipopStyle(): void
1209e41f4b71Sopenharmony_ci
1210e41f4b71Sopenharmony_ci还原至上一个文本样式。
1211e41f4b71Sopenharmony_ci
1212e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Graphics.Drawing
1213e41f4b71Sopenharmony_ci
1214e41f4b71Sopenharmony_ci**示例:**
1215e41f4b71Sopenharmony_ci
1216e41f4b71Sopenharmony_ci```ts
1217e41f4b71Sopenharmony_ciimport { drawing } from '@kit.ArkGraphics2D'
1218e41f4b71Sopenharmony_ciimport { text } from "@kit.ArkGraphics2D"
1219e41f4b71Sopenharmony_ciimport { common2D } from "@kit.ArkGraphics2D"
1220e41f4b71Sopenharmony_ciimport { image } from '@kit.ImageKit';
1221e41f4b71Sopenharmony_ci
1222e41f4b71Sopenharmony_cifunction textFunc() {
1223e41f4b71Sopenharmony_ci  let myTextStyle: text.TextStyle = {
1224e41f4b71Sopenharmony_ci    color: { alpha: 255, red: 255, green: 0, blue: 0 },
1225e41f4b71Sopenharmony_ci    fontSize: 33,
1226e41f4b71Sopenharmony_ci  };
1227e41f4b71Sopenharmony_ci  let myParagraphStyle: text.ParagraphStyle = {
1228e41f4b71Sopenharmony_ci    textStyle: myTextStyle,
1229e41f4b71Sopenharmony_ci    align: text.TextAlign.END,
1230e41f4b71Sopenharmony_ci  };
1231e41f4b71Sopenharmony_ci  let fontCollection = new text.FontCollection();
1232e41f4b71Sopenharmony_ci  let ParagraphGraphBuilder = new text.ParagraphBuilder(myParagraphStyle, fontCollection);
1233e41f4b71Sopenharmony_ci  ParagraphGraphBuilder.pushStyle(myTextStyle);
1234e41f4b71Sopenharmony_ci  ParagraphGraphBuilder.popStyle();
1235e41f4b71Sopenharmony_ci}
1236e41f4b71Sopenharmony_ci
1237e41f4b71Sopenharmony_ci@Entry
1238e41f4b71Sopenharmony_ci@Component
1239e41f4b71Sopenharmony_cistruct Index {
1240e41f4b71Sopenharmony_ci  fun: Function = textFunc;
1241e41f4b71Sopenharmony_ci  build() {
1242e41f4b71Sopenharmony_ci    Column() {
1243e41f4b71Sopenharmony_ci      Button().onClick(() => {
1244e41f4b71Sopenharmony_ci        this.fun();
1245e41f4b71Sopenharmony_ci      })
1246e41f4b71Sopenharmony_ci    }
1247e41f4b71Sopenharmony_ci  }
1248e41f4b71Sopenharmony_ci}
1249e41f4b71Sopenharmony_ci```
1250e41f4b71Sopenharmony_ci
1251e41f4b71Sopenharmony_ci### addText
1252e41f4b71Sopenharmony_ci
1253e41f4b71Sopenharmony_ciaddText(text: string): void
1254e41f4b71Sopenharmony_ci
1255e41f4b71Sopenharmony_ci用于向正在构建的文本段落中插入具体的文本字符串。
1256e41f4b71Sopenharmony_ci
1257e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Graphics.Drawing
1258e41f4b71Sopenharmony_ci
1259e41f4b71Sopenharmony_ci**参数:**
1260e41f4b71Sopenharmony_ci
1261e41f4b71Sopenharmony_ci| 参数名   | 类型    | 必填 | 说明                       |
1262e41f4b71Sopenharmony_ci| ------- | ------- | ---- | -------------------------- |
1263e41f4b71Sopenharmony_ci| text    | string  | 是   | 段落中插入的具体文本字符串。 |
1264e41f4b71Sopenharmony_ci
1265e41f4b71Sopenharmony_ci**示例:**
1266e41f4b71Sopenharmony_ci
1267e41f4b71Sopenharmony_ci```ts
1268e41f4b71Sopenharmony_ciimport { drawing } from '@kit.ArkGraphics2D'
1269e41f4b71Sopenharmony_ciimport { text } from "@kit.ArkGraphics2D"
1270e41f4b71Sopenharmony_ciimport { common2D } from "@kit.ArkGraphics2D"
1271e41f4b71Sopenharmony_ciimport { image } from '@kit.ImageKit';
1272e41f4b71Sopenharmony_ci
1273e41f4b71Sopenharmony_cifunction textFunc() {
1274e41f4b71Sopenharmony_ci  let myTextStyle: text.TextStyle = {
1275e41f4b71Sopenharmony_ci    color: { alpha: 255, red: 255, green: 0, blue: 0 },
1276e41f4b71Sopenharmony_ci    fontSize: 33,
1277e41f4b71Sopenharmony_ci  };
1278e41f4b71Sopenharmony_ci  let myParagraphStyle: text.ParagraphStyle = {
1279e41f4b71Sopenharmony_ci    textStyle: myTextStyle,
1280e41f4b71Sopenharmony_ci    align: text.TextAlign.END,
1281e41f4b71Sopenharmony_ci  };
1282e41f4b71Sopenharmony_ci  let fontCollection = new text.FontCollection();
1283e41f4b71Sopenharmony_ci  let ParagraphGraphBuilder = new text.ParagraphBuilder(myParagraphStyle, fontCollection);
1284e41f4b71Sopenharmony_ci  ParagraphGraphBuilder.addText("123666");
1285e41f4b71Sopenharmony_ci}
1286e41f4b71Sopenharmony_ci
1287e41f4b71Sopenharmony_ci@Entry
1288e41f4b71Sopenharmony_ci@Component
1289e41f4b71Sopenharmony_cistruct Index {
1290e41f4b71Sopenharmony_ci  fun: Function = textFunc;
1291e41f4b71Sopenharmony_ci  build() {
1292e41f4b71Sopenharmony_ci    Column() {
1293e41f4b71Sopenharmony_ci      Button().onClick(() => {
1294e41f4b71Sopenharmony_ci        this.fun();
1295e41f4b71Sopenharmony_ci      })
1296e41f4b71Sopenharmony_ci    }
1297e41f4b71Sopenharmony_ci  }
1298e41f4b71Sopenharmony_ci}
1299e41f4b71Sopenharmony_ci```
1300e41f4b71Sopenharmony_ci
1301e41f4b71Sopenharmony_ci### addPlaceholder
1302e41f4b71Sopenharmony_ci
1303e41f4b71Sopenharmony_ciaddPlaceholder(placeholderSpan: PlaceholderSpan): void
1304e41f4b71Sopenharmony_ci
1305e41f4b71Sopenharmony_ci用于在构建文本段落时插入占位符。
1306e41f4b71Sopenharmony_ci
1307e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Graphics.Drawing
1308e41f4b71Sopenharmony_ci
1309e41f4b71Sopenharmony_ci**参数:**
1310e41f4b71Sopenharmony_ci
1311e41f4b71Sopenharmony_ci| 参数名          | 类型                                 | 必填 | 说明                                                |
1312e41f4b71Sopenharmony_ci| --------------- | ----------------------------------- | ---- | --------------------------------------------------- |
1313e41f4b71Sopenharmony_ci| placeholderSpan | [PlaceholderSpan](#placeholderspan) | 是   | 定义了占位符的尺寸、对齐方式、基线类型以及基线偏移量。  |
1314e41f4b71Sopenharmony_ci
1315e41f4b71Sopenharmony_ci**示例:**
1316e41f4b71Sopenharmony_ci
1317e41f4b71Sopenharmony_ci```ts
1318e41f4b71Sopenharmony_ciimport { drawing } from '@kit.ArkGraphics2D'
1319e41f4b71Sopenharmony_ciimport { text } from "@kit.ArkGraphics2D"
1320e41f4b71Sopenharmony_ciimport { common2D } from "@kit.ArkGraphics2D"
1321e41f4b71Sopenharmony_ciimport { image } from '@kit.ImageKit';
1322e41f4b71Sopenharmony_ci
1323e41f4b71Sopenharmony_cifunction textFunc() {
1324e41f4b71Sopenharmony_ci  let myParagraphStyle: text.ParagraphStyle = {
1325e41f4b71Sopenharmony_ci    align: text.TextAlign.END,
1326e41f4b71Sopenharmony_ci  };
1327e41f4b71Sopenharmony_ci  let myPlaceholderSpan: text.PlaceholderSpan = {
1328e41f4b71Sopenharmony_ci    width: 10000,
1329e41f4b71Sopenharmony_ci    height: 10000000,
1330e41f4b71Sopenharmony_ci    align: text.PlaceholderAlignment.ABOVE_BASELINE,
1331e41f4b71Sopenharmony_ci    baseline: text.TextBaseline.ALPHABETIC,
1332e41f4b71Sopenharmony_ci    baselineOffset: 100000
1333e41f4b71Sopenharmony_ci  };
1334e41f4b71Sopenharmony_ci  let fontCollection = new text.FontCollection();
1335e41f4b71Sopenharmony_ci  let ParagraphGraphBuilder = new text.ParagraphBuilder(myParagraphStyle, fontCollection);
1336e41f4b71Sopenharmony_ci  ParagraphGraphBuilder.addPlaceholder(myPlaceholderSpan);
1337e41f4b71Sopenharmony_ci}
1338e41f4b71Sopenharmony_ci
1339e41f4b71Sopenharmony_ci@Entry
1340e41f4b71Sopenharmony_ci@Component
1341e41f4b71Sopenharmony_cistruct Index {
1342e41f4b71Sopenharmony_ci  fun: Function = textFunc;
1343e41f4b71Sopenharmony_ci  build() {
1344e41f4b71Sopenharmony_ci    Column() {
1345e41f4b71Sopenharmony_ci      Button().onClick(() => {
1346e41f4b71Sopenharmony_ci        this.fun();
1347e41f4b71Sopenharmony_ci      })
1348e41f4b71Sopenharmony_ci    }
1349e41f4b71Sopenharmony_ci  }
1350e41f4b71Sopenharmony_ci}
1351e41f4b71Sopenharmony_ci```
1352e41f4b71Sopenharmony_ci
1353e41f4b71Sopenharmony_ci### build
1354e41f4b71Sopenharmony_ci
1355e41f4b71Sopenharmony_cibuild(): Paragraph
1356e41f4b71Sopenharmony_ci
1357e41f4b71Sopenharmony_ci用于完成段落的构建过程,生成一个可用于后续排版渲染的段落对象。
1358e41f4b71Sopenharmony_ci
1359e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Graphics.Drawing
1360e41f4b71Sopenharmony_ci
1361e41f4b71Sopenharmony_ci**返回值:**
1362e41f4b71Sopenharmony_ci
1363e41f4b71Sopenharmony_ci| 类型                     | 说明                           |
1364e41f4b71Sopenharmony_ci| ------------------------ | ------------------------------ |
1365e41f4b71Sopenharmony_ci| [Paragraph](#paragraph)  | 可用于后续渲染的 Paragraph 对象。|
1366e41f4b71Sopenharmony_ci
1367e41f4b71Sopenharmony_ci**示例:**
1368e41f4b71Sopenharmony_ci
1369e41f4b71Sopenharmony_ci```ts
1370e41f4b71Sopenharmony_ciimport { drawing, text, common2D } from '@kit.ArkGraphics2D'
1371e41f4b71Sopenharmony_ciimport { image } from '@kit.ImageKit';
1372e41f4b71Sopenharmony_ci
1373e41f4b71Sopenharmony_cifunction textFunc() {
1374e41f4b71Sopenharmony_ci  let myParagraphStyle: text.ParagraphStyle = {
1375e41f4b71Sopenharmony_ci    align: text.TextAlign.END,
1376e41f4b71Sopenharmony_ci  };
1377e41f4b71Sopenharmony_ci  let fontCollection = new text.FontCollection();
1378e41f4b71Sopenharmony_ci  let ParagraphGraphBuilder = new text.ParagraphBuilder(myParagraphStyle, fontCollection);
1379e41f4b71Sopenharmony_ci  let paragraph = ParagraphGraphBuilder.build();
1380e41f4b71Sopenharmony_ci}
1381e41f4b71Sopenharmony_ci
1382e41f4b71Sopenharmony_ci@Entry
1383e41f4b71Sopenharmony_ci@Component
1384e41f4b71Sopenharmony_cistruct Index {
1385e41f4b71Sopenharmony_ci  fun: Function = textFunc;
1386e41f4b71Sopenharmony_ci  build() {
1387e41f4b71Sopenharmony_ci    Column() {
1388e41f4b71Sopenharmony_ci      Button().onClick(() => {
1389e41f4b71Sopenharmony_ci        this.fun();
1390e41f4b71Sopenharmony_ci      })
1391e41f4b71Sopenharmony_ci    }
1392e41f4b71Sopenharmony_ci  }
1393e41f4b71Sopenharmony_ci}
1394e41f4b71Sopenharmony_ci```
1395e41f4b71Sopenharmony_ci
1396e41f4b71Sopenharmony_ci### addSymbol
1397e41f4b71Sopenharmony_ci
1398e41f4b71Sopenharmony_ciaddSymbol(symbolId: number): void
1399e41f4b71Sopenharmony_ci
1400e41f4b71Sopenharmony_ci用于向正在构建的文本段落中插入具体的符号。
1401e41f4b71Sopenharmony_ci
1402e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Graphics.Drawing
1403e41f4b71Sopenharmony_ci
1404e41f4b71Sopenharmony_ci**参数:**
1405e41f4b71Sopenharmony_ci
1406e41f4b71Sopenharmony_ci| 参数名    | 类型    | 必填 | 说明                                                        |
1407e41f4b71Sopenharmony_ci| -------- | ------- | ---- | ----------------------------------------------------------- |
1408e41f4b71Sopenharmony_ci| symbolId | number  | 是   | 要设置的symbol码位,十六进制,当前支持的取值范围为:0xF0000-0xF0C97。可设置的symbol码位及其对应的symbol名称请参阅以下链接中 JSON 文件的 value 字段和 name 字段: [https://gitee.com/openharmony/global_system_resources/blob/master/systemres/main/resources/base/element/symbol.json](https://gitee.com/openharmony/global_system_resources/blob/master/systemres/main/resources/base/element/symbol.json)|
1409e41f4b71Sopenharmony_ci
1410e41f4b71Sopenharmony_ci**示例:**
1411e41f4b71Sopenharmony_ci
1412e41f4b71Sopenharmony_ci```ts
1413e41f4b71Sopenharmony_ciimport { text } from "@kit.ArkGraphics2D";
1414e41f4b71Sopenharmony_ci
1415e41f4b71Sopenharmony_cifunction textFunc() {
1416e41f4b71Sopenharmony_ci  let myTextStyle: text.TextStyle = {
1417e41f4b71Sopenharmony_ci    color: { alpha: 255, red: 255, green: 0, blue: 0 },
1418e41f4b71Sopenharmony_ci    fontSize: 33,
1419e41f4b71Sopenharmony_ci  };
1420e41f4b71Sopenharmony_ci  let myParagraphStyle: text.ParagraphStyle = {
1421e41f4b71Sopenharmony_ci    textStyle: myTextStyle,
1422e41f4b71Sopenharmony_ci    align: text.TextAlign.END,
1423e41f4b71Sopenharmony_ci  };
1424e41f4b71Sopenharmony_ci  let fontCollection = new text.FontCollection();
1425e41f4b71Sopenharmony_ci  let ParagraphGraphBuilder = new text.ParagraphBuilder(myParagraphStyle, fontCollection);
1426e41f4b71Sopenharmony_ci  ParagraphGraphBuilder.addSymbol(0xF0000);
1427e41f4b71Sopenharmony_ci  let paragraph = ParagraphGraphBuilder.build();
1428e41f4b71Sopenharmony_ci}
1429e41f4b71Sopenharmony_ci
1430e41f4b71Sopenharmony_ci@Entry
1431e41f4b71Sopenharmony_ci@Component
1432e41f4b71Sopenharmony_cistruct Index {
1433e41f4b71Sopenharmony_ci  fun: Function = textFunc;
1434e41f4b71Sopenharmony_ci  build() {
1435e41f4b71Sopenharmony_ci    Column() {
1436e41f4b71Sopenharmony_ci      Button().onClick(() => {
1437e41f4b71Sopenharmony_ci        this.fun();
1438e41f4b71Sopenharmony_ci      })
1439e41f4b71Sopenharmony_ci    }
1440e41f4b71Sopenharmony_ci  }
1441e41f4b71Sopenharmony_ci}
1442e41f4b71Sopenharmony_ci```
1443e41f4b71Sopenharmony_ci
1444e41f4b71Sopenharmony_ci## TextLine
1445e41f4b71Sopenharmony_ci
1446e41f4b71Sopenharmony_ci描述段落基础文本行结构的载体。
1447e41f4b71Sopenharmony_ci
1448e41f4b71Sopenharmony_ci下列API示例中都需先使用[Paragraph](#paragraph)类的[getTextLines()](#gettextlines)接口获取到TextLine对象实例,再通过此实例调用对应方法。
1449e41f4b71Sopenharmony_ci
1450e41f4b71Sopenharmony_ci### getGlyphCount
1451e41f4b71Sopenharmony_ci
1452e41f4b71Sopenharmony_cigetGlyphCount(): number
1453e41f4b71Sopenharmony_ci
1454e41f4b71Sopenharmony_ci获取该文本行中字形的数量。
1455e41f4b71Sopenharmony_ci
1456e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Graphics.Drawing
1457e41f4b71Sopenharmony_ci
1458e41f4b71Sopenharmony_ci**返回值:**
1459e41f4b71Sopenharmony_ci
1460e41f4b71Sopenharmony_ci| 类型    | 说明               |
1461e41f4b71Sopenharmony_ci| ------- | ------------------ |
1462e41f4b71Sopenharmony_ci| number  | 该文本行中字形数量,整数。 |
1463e41f4b71Sopenharmony_ci
1464e41f4b71Sopenharmony_ci**示例:**
1465e41f4b71Sopenharmony_ci
1466e41f4b71Sopenharmony_ci```ts
1467e41f4b71Sopenharmony_ciimport { text } from "@kit.ArkGraphics2D"
1468e41f4b71Sopenharmony_ci
1469e41f4b71Sopenharmony_cifunction textFunc() {
1470e41f4b71Sopenharmony_ci  let GlyphCount = lines[0].getGlyphCount();
1471e41f4b71Sopenharmony_ci}
1472e41f4b71Sopenharmony_ci
1473e41f4b71Sopenharmony_ci@Entry
1474e41f4b71Sopenharmony_ci@Component
1475e41f4b71Sopenharmony_cistruct Index {
1476e41f4b71Sopenharmony_ci  fun: Function = textFunc;
1477e41f4b71Sopenharmony_ci  build() {
1478e41f4b71Sopenharmony_ci    Column() {
1479e41f4b71Sopenharmony_ci      Button().onClick(() => {
1480e41f4b71Sopenharmony_ci        this.fun();
1481e41f4b71Sopenharmony_ci      })
1482e41f4b71Sopenharmony_ci    }
1483e41f4b71Sopenharmony_ci  }
1484e41f4b71Sopenharmony_ci}
1485e41f4b71Sopenharmony_ci```
1486e41f4b71Sopenharmony_ci
1487e41f4b71Sopenharmony_ci### getTextRange
1488e41f4b71Sopenharmony_ci
1489e41f4b71Sopenharmony_cigetTextRange(): Range
1490e41f4b71Sopenharmony_ci
1491e41f4b71Sopenharmony_ci获取该文本行中的文本在整个段落文本中的索引区间。
1492e41f4b71Sopenharmony_ci
1493e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Graphics.Drawing
1494e41f4b71Sopenharmony_ci
1495e41f4b71Sopenharmony_ci**返回值:**
1496e41f4b71Sopenharmony_ci
1497e41f4b71Sopenharmony_ci| 类型             | 说明                                              |
1498e41f4b71Sopenharmony_ci| ---------------- | ------------------------------------------------ |
1499e41f4b71Sopenharmony_ci| [Range](#range)  | 该文本行中的文本在整个段落文本中的索引区间。|
1500e41f4b71Sopenharmony_ci
1501e41f4b71Sopenharmony_ci**示例:**
1502e41f4b71Sopenharmony_ci
1503e41f4b71Sopenharmony_ci```ts
1504e41f4b71Sopenharmony_ciimport { text } from "@kit.ArkGraphics2D"
1505e41f4b71Sopenharmony_ci
1506e41f4b71Sopenharmony_cifunction textFunc() {
1507e41f4b71Sopenharmony_ci  let textRange = lines[0].getTextRange();
1508e41f4b71Sopenharmony_ci}
1509e41f4b71Sopenharmony_ci
1510e41f4b71Sopenharmony_ci@Entry
1511e41f4b71Sopenharmony_ci@Component
1512e41f4b71Sopenharmony_cistruct Index {
1513e41f4b71Sopenharmony_ci  fun: Function = textFunc;
1514e41f4b71Sopenharmony_ci  build() {
1515e41f4b71Sopenharmony_ci    Column() {
1516e41f4b71Sopenharmony_ci      Button().onClick(() => {
1517e41f4b71Sopenharmony_ci        this.fun();
1518e41f4b71Sopenharmony_ci      })
1519e41f4b71Sopenharmony_ci    }
1520e41f4b71Sopenharmony_ci  }
1521e41f4b71Sopenharmony_ci}
1522e41f4b71Sopenharmony_ci```
1523e41f4b71Sopenharmony_ci
1524e41f4b71Sopenharmony_ci### getGlyphRuns
1525e41f4b71Sopenharmony_ci
1526e41f4b71Sopenharmony_cigetGlyphRuns(): Array\<Run>
1527e41f4b71Sopenharmony_ci
1528e41f4b71Sopenharmony_ci获取该文本行中的文本渲染单位数组。
1529e41f4b71Sopenharmony_ci
1530e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Graphics.Drawing
1531e41f4b71Sopenharmony_ci
1532e41f4b71Sopenharmony_ci**返回值:**
1533e41f4b71Sopenharmony_ci
1534e41f4b71Sopenharmony_ci| 类型         | 说明                         |
1535e41f4b71Sopenharmony_ci| ------------ | --------------------------- |
1536e41f4b71Sopenharmony_ci| Array\<[Run](#run)>  | 该文本行中的文本渲染单位数组。|
1537e41f4b71Sopenharmony_ci
1538e41f4b71Sopenharmony_ci**示例:**
1539e41f4b71Sopenharmony_ci
1540e41f4b71Sopenharmony_ci```ts
1541e41f4b71Sopenharmony_ciimport { text } from "@kit.ArkGraphics2D"
1542e41f4b71Sopenharmony_ci
1543e41f4b71Sopenharmony_cifunction textFunc() {
1544e41f4b71Sopenharmony_ci  let runs = lines[0].getGlyphRuns();
1545e41f4b71Sopenharmony_ci}
1546e41f4b71Sopenharmony_ci
1547e41f4b71Sopenharmony_ci@Entry
1548e41f4b71Sopenharmony_ci@Component
1549e41f4b71Sopenharmony_cistruct Index {
1550e41f4b71Sopenharmony_ci  fun: Function = textFunc;
1551e41f4b71Sopenharmony_ci  build() {
1552e41f4b71Sopenharmony_ci    Column() {
1553e41f4b71Sopenharmony_ci      Button().onClick(() => {
1554e41f4b71Sopenharmony_ci        this.fun();
1555e41f4b71Sopenharmony_ci      })
1556e41f4b71Sopenharmony_ci    }
1557e41f4b71Sopenharmony_ci  }
1558e41f4b71Sopenharmony_ci}
1559e41f4b71Sopenharmony_ci```
1560e41f4b71Sopenharmony_ci
1561e41f4b71Sopenharmony_ci### paint
1562e41f4b71Sopenharmony_ci
1563e41f4b71Sopenharmony_cipaint(canvas: drawing.Canvas, x: number, y: number): void
1564e41f4b71Sopenharmony_ci
1565e41f4b71Sopenharmony_ci在画布上以坐标点 (x, y) 为左上角位置绘制该文本行。
1566e41f4b71Sopenharmony_ci
1567e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Graphics.Drawing
1568e41f4b71Sopenharmony_ci
1569e41f4b71Sopenharmony_ci**参数:**
1570e41f4b71Sopenharmony_ci
1571e41f4b71Sopenharmony_ci| 参数名 | 类型                                                  | 必填 | 说明                    |
1572e41f4b71Sopenharmony_ci| ------ | ---------------------------------------------------- | ---- | ---------------------- |
1573e41f4b71Sopenharmony_ci| canvas | [drawing.Canvas](js-apis-graphics-drawing.md#canvas) | 是   | 绘制的目标 canvas。      |
1574e41f4b71Sopenharmony_ci|    x   | number                                               | 是   | 绘制的左上角位置的横坐标,浮点数。|
1575e41f4b71Sopenharmony_ci|    y   | number                                               | 是   | 绘制的左上角位置的纵坐标,浮点数。|
1576e41f4b71Sopenharmony_ci
1577e41f4b71Sopenharmony_ci**示例:**
1578e41f4b71Sopenharmony_ci
1579e41f4b71Sopenharmony_ci```ts
1580e41f4b71Sopenharmony_ciimport { drawing } from '@kit.ArkGraphics2D'
1581e41f4b71Sopenharmony_ciimport { text } from "@kit.ArkGraphics2D"
1582e41f4b71Sopenharmony_ciimport { common2D } from "@kit.ArkGraphics2D"
1583e41f4b71Sopenharmony_ciimport { image } from '@kit.ImageKit';
1584e41f4b71Sopenharmony_ci
1585e41f4b71Sopenharmony_cifunction textFunc() {
1586e41f4b71Sopenharmony_ci  const color: ArrayBuffer = new ArrayBuffer(160000);
1587e41f4b71Sopenharmony_ci  let opts: image.InitializationOptions = { editable: true, pixelFormat: 3, size: { height: 200, width: 200 } }
1588e41f4b71Sopenharmony_ci  let pixelMap: image.PixelMap = image.createPixelMapSync(color, opts);
1589e41f4b71Sopenharmony_ci  let canvas = new drawing.Canvas(pixelMap);
1590e41f4b71Sopenharmony_ci  lines[0].paint(canvas, 0, 0);
1591e41f4b71Sopenharmony_ci}
1592e41f4b71Sopenharmony_ci
1593e41f4b71Sopenharmony_ci@Entry
1594e41f4b71Sopenharmony_ci@Component
1595e41f4b71Sopenharmony_cistruct Index {
1596e41f4b71Sopenharmony_ci  fun: Function = textFunc;
1597e41f4b71Sopenharmony_ci  build() {
1598e41f4b71Sopenharmony_ci    Column() {
1599e41f4b71Sopenharmony_ci      Button().onClick(() => {
1600e41f4b71Sopenharmony_ci        this.fun();
1601e41f4b71Sopenharmony_ci      })
1602e41f4b71Sopenharmony_ci    }
1603e41f4b71Sopenharmony_ci  }
1604e41f4b71Sopenharmony_ci}
1605e41f4b71Sopenharmony_ci```
1606e41f4b71Sopenharmony_ci
1607e41f4b71Sopenharmony_ci## Run
1608e41f4b71Sopenharmony_ci
1609e41f4b71Sopenharmony_ci文本排版的渲染单元。
1610e41f4b71Sopenharmony_ci
1611e41f4b71Sopenharmony_ci下列API示例中都需先使用[TextLine](#textline)类的[getGlyphRuns()](#getglyphruns)接口获取到Run对象实例,再通过此实例调用对应方法。
1612e41f4b71Sopenharmony_ci
1613e41f4b71Sopenharmony_ci### getGlyphCount
1614e41f4b71Sopenharmony_ci
1615e41f4b71Sopenharmony_cigetGlyphCount(): number
1616e41f4b71Sopenharmony_ci
1617e41f4b71Sopenharmony_ci获取该渲染单元中字形的数量。
1618e41f4b71Sopenharmony_ci
1619e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Graphics.Drawing
1620e41f4b71Sopenharmony_ci
1621e41f4b71Sopenharmony_ci**返回值:**
1622e41f4b71Sopenharmony_ci
1623e41f4b71Sopenharmony_ci| 类型     | 说明                |
1624e41f4b71Sopenharmony_ci| ------- | -------------------- |
1625e41f4b71Sopenharmony_ci| number  | 该渲染单元中字形数量,整数。 |
1626e41f4b71Sopenharmony_ci
1627e41f4b71Sopenharmony_ci**示例:**
1628e41f4b71Sopenharmony_ci
1629e41f4b71Sopenharmony_ci```ts
1630e41f4b71Sopenharmony_ciimport { text } from "@kit.ArkGraphics2D"
1631e41f4b71Sopenharmony_ci
1632e41f4b71Sopenharmony_cifunction textFunc() {
1633e41f4b71Sopenharmony_ci  let glyphs = runs[0].getGlyphCount();
1634e41f4b71Sopenharmony_ci}
1635e41f4b71Sopenharmony_ci
1636e41f4b71Sopenharmony_ci@Entry
1637e41f4b71Sopenharmony_ci@Component
1638e41f4b71Sopenharmony_cistruct Index {
1639e41f4b71Sopenharmony_ci  fun: Function = textFunc;
1640e41f4b71Sopenharmony_ci  build() {
1641e41f4b71Sopenharmony_ci    Column() {
1642e41f4b71Sopenharmony_ci      Button().onClick(() => {
1643e41f4b71Sopenharmony_ci        this.fun();
1644e41f4b71Sopenharmony_ci      })
1645e41f4b71Sopenharmony_ci    }
1646e41f4b71Sopenharmony_ci  }
1647e41f4b71Sopenharmony_ci}
1648e41f4b71Sopenharmony_ci```
1649e41f4b71Sopenharmony_ci
1650e41f4b71Sopenharmony_ci### getGlyphs
1651e41f4b71Sopenharmony_ci
1652e41f4b71Sopenharmony_cigetGlyphs(): Array\<number>
1653e41f4b71Sopenharmony_ci
1654e41f4b71Sopenharmony_ci获取该渲染单元中每个字符对应的字形序号。
1655e41f4b71Sopenharmony_ci
1656e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Graphics.Drawing
1657e41f4b71Sopenharmony_ci
1658e41f4b71Sopenharmony_ci**返回值:**
1659e41f4b71Sopenharmony_ci
1660e41f4b71Sopenharmony_ci| 类型            | 说明                             |
1661e41f4b71Sopenharmony_ci| --------------- | -------------------------------- |
1662e41f4b71Sopenharmony_ci| Array\<number>  | 该渲染单元中每个字符对应的字形序号。|
1663e41f4b71Sopenharmony_ci
1664e41f4b71Sopenharmony_ci**示例:**
1665e41f4b71Sopenharmony_ci
1666e41f4b71Sopenharmony_ci```ts
1667e41f4b71Sopenharmony_ciimport { text } from "@kit.ArkGraphics2D"
1668e41f4b71Sopenharmony_ci
1669e41f4b71Sopenharmony_cifunction textFunc() {
1670e41f4b71Sopenharmony_ci  let glyph = runs[0].getGlyphs();
1671e41f4b71Sopenharmony_ci}
1672e41f4b71Sopenharmony_ci
1673e41f4b71Sopenharmony_ci@Entry
1674e41f4b71Sopenharmony_ci@Component
1675e41f4b71Sopenharmony_cistruct Index {
1676e41f4b71Sopenharmony_ci  fun: Function = textFunc;
1677e41f4b71Sopenharmony_ci  build() {
1678e41f4b71Sopenharmony_ci    Column() {
1679e41f4b71Sopenharmony_ci      Button().onClick(() => {
1680e41f4b71Sopenharmony_ci        this.fun();
1681e41f4b71Sopenharmony_ci      })
1682e41f4b71Sopenharmony_ci    }
1683e41f4b71Sopenharmony_ci  }
1684e41f4b71Sopenharmony_ci}
1685e41f4b71Sopenharmony_ci```
1686e41f4b71Sopenharmony_ci
1687e41f4b71Sopenharmony_ci### getPositions
1688e41f4b71Sopenharmony_ci
1689e41f4b71Sopenharmony_cigetPositions(): Array<common2D.Point>
1690e41f4b71Sopenharmony_ci
1691e41f4b71Sopenharmony_ci获取该渲染单元中每个字形相对于每行的索引。
1692e41f4b71Sopenharmony_ci
1693e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Graphics.Drawing
1694e41f4b71Sopenharmony_ci
1695e41f4b71Sopenharmony_ci**返回值:**
1696e41f4b71Sopenharmony_ci
1697e41f4b71Sopenharmony_ci| 类型                   | 说明                                   |
1698e41f4b71Sopenharmony_ci| ---------------------- | ------------------------------------- |
1699e41f4b71Sopenharmony_ci| Array<[common2D.Point](js-apis-graphics-common2D.md#point12)>  | 该渲染单元中每个字形相对于每行的索引。 |
1700e41f4b71Sopenharmony_ci
1701e41f4b71Sopenharmony_ci**示例:**
1702e41f4b71Sopenharmony_ci
1703e41f4b71Sopenharmony_ci```ts
1704e41f4b71Sopenharmony_ciimport { text } from "@kit.ArkGraphics2D";
1705e41f4b71Sopenharmony_ci
1706e41f4b71Sopenharmony_cifunction textFunc() {
1707e41f4b71Sopenharmony_ci  let positions = runs[0].getPositions();
1708e41f4b71Sopenharmony_ci}
1709e41f4b71Sopenharmony_ci
1710e41f4b71Sopenharmony_ci@Entry
1711e41f4b71Sopenharmony_ci@Component
1712e41f4b71Sopenharmony_cistruct Index {
1713e41f4b71Sopenharmony_ci  fun: Function = textFunc;
1714e41f4b71Sopenharmony_ci  build() {
1715e41f4b71Sopenharmony_ci    Column() {
1716e41f4b71Sopenharmony_ci      Button().onClick(() => {
1717e41f4b71Sopenharmony_ci        this.fun();
1718e41f4b71Sopenharmony_ci      })
1719e41f4b71Sopenharmony_ci    }
1720e41f4b71Sopenharmony_ci  }
1721e41f4b71Sopenharmony_ci}
1722e41f4b71Sopenharmony_ci```
1723e41f4b71Sopenharmony_ci
1724e41f4b71Sopenharmony_ci### getOffsets
1725e41f4b71Sopenharmony_ci
1726e41f4b71Sopenharmony_cigetOffsets(): Array<common2D.Point>
1727e41f4b71Sopenharmony_ci
1728e41f4b71Sopenharmony_ci获取该渲染单元中每个字形相对于其索引的偏移量。
1729e41f4b71Sopenharmony_ci
1730e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Graphics.Drawing
1731e41f4b71Sopenharmony_ci
1732e41f4b71Sopenharmony_ci**返回值:**
1733e41f4b71Sopenharmony_ci
1734e41f4b71Sopenharmony_ci| 类型                   | 说明           |
1735e41f4b71Sopenharmony_ci| ---------------------- | -------------- |
1736e41f4b71Sopenharmony_ci| Array<[common2D.Point](js-apis-graphics-common2D.md#point12)>  | 该渲染单元中每个字形相对于其索引的偏移量。|
1737e41f4b71Sopenharmony_ci
1738e41f4b71Sopenharmony_ci**示例:**
1739e41f4b71Sopenharmony_ci
1740e41f4b71Sopenharmony_ci```ts
1741e41f4b71Sopenharmony_ciimport { text } from "@kit.ArkGraphics2D";
1742e41f4b71Sopenharmony_ci
1743e41f4b71Sopenharmony_cifunction textFunc() {
1744e41f4b71Sopenharmony_ci  let offsets = runs[0].getOffsets();
1745e41f4b71Sopenharmony_ci}
1746e41f4b71Sopenharmony_ci
1747e41f4b71Sopenharmony_ci@Entry
1748e41f4b71Sopenharmony_ci@Component
1749e41f4b71Sopenharmony_cistruct Index {
1750e41f4b71Sopenharmony_ci  fun: Function = textFunc;
1751e41f4b71Sopenharmony_ci  build() {
1752e41f4b71Sopenharmony_ci    Column() {
1753e41f4b71Sopenharmony_ci      Button().onClick(() => {
1754e41f4b71Sopenharmony_ci        this.fun();
1755e41f4b71Sopenharmony_ci      })
1756e41f4b71Sopenharmony_ci    }
1757e41f4b71Sopenharmony_ci  }
1758e41f4b71Sopenharmony_ci}
1759e41f4b71Sopenharmony_ci```
1760e41f4b71Sopenharmony_ci
1761e41f4b71Sopenharmony_ci### getFont
1762e41f4b71Sopenharmony_ci
1763e41f4b71Sopenharmony_cigetFont(): drawing.Font
1764e41f4b71Sopenharmony_ci
1765e41f4b71Sopenharmony_ci获取该渲染单元的字体属性对象实例。
1766e41f4b71Sopenharmony_ci
1767e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Graphics.Drawing
1768e41f4b71Sopenharmony_ci
1769e41f4b71Sopenharmony_ci**返回值:**
1770e41f4b71Sopenharmony_ci
1771e41f4b71Sopenharmony_ci| 类型                   | 说明           |
1772e41f4b71Sopenharmony_ci| ------------------------------------------------- | -------------------------- |
1773e41f4b71Sopenharmony_ci| [drawing.Font](js-apis-graphics-drawing.md#font)  | 该渲染单元的字体属性对象实例。|
1774e41f4b71Sopenharmony_ci
1775e41f4b71Sopenharmony_ci**示例:**
1776e41f4b71Sopenharmony_ci
1777e41f4b71Sopenharmony_ci```ts
1778e41f4b71Sopenharmony_ciimport { drawing } from '@kit.ArkGraphics2D'
1779e41f4b71Sopenharmony_ciimport { text } from "@kit.ArkGraphics2D";
1780e41f4b71Sopenharmony_ci
1781e41f4b71Sopenharmony_cifunction textFunc() {
1782e41f4b71Sopenharmony_ci  let font = runs[0].getFont();
1783e41f4b71Sopenharmony_ci}
1784e41f4b71Sopenharmony_ci
1785e41f4b71Sopenharmony_ci@Entry
1786e41f4b71Sopenharmony_ci@Component
1787e41f4b71Sopenharmony_cistruct Index {
1788e41f4b71Sopenharmony_ci  fun: Function = textFunc;
1789e41f4b71Sopenharmony_ci  build() {
1790e41f4b71Sopenharmony_ci    Column() {
1791e41f4b71Sopenharmony_ci      Button().onClick(() => {
1792e41f4b71Sopenharmony_ci        this.fun();
1793e41f4b71Sopenharmony_ci      })
1794e41f4b71Sopenharmony_ci    }
1795e41f4b71Sopenharmony_ci  }
1796e41f4b71Sopenharmony_ci}
1797e41f4b71Sopenharmony_ci```
1798e41f4b71Sopenharmony_ci
1799e41f4b71Sopenharmony_ci### paint
1800e41f4b71Sopenharmony_ci
1801e41f4b71Sopenharmony_cipaint(canvas: drawing.Canvas, x: number, y: number): void
1802e41f4b71Sopenharmony_ci
1803e41f4b71Sopenharmony_ci在画布上以坐标点 (x, y) 为左上角位置绘制该渲染单元。
1804e41f4b71Sopenharmony_ci
1805e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Graphics.Drawing
1806e41f4b71Sopenharmony_ci
1807e41f4b71Sopenharmony_ci**参数:**
1808e41f4b71Sopenharmony_ci
1809e41f4b71Sopenharmony_ci| 参数名 | 类型                                                  | 必填 | 说明                    |
1810e41f4b71Sopenharmony_ci| ------ | ---------------------------------------------------- | ---- | ---------------------- |
1811e41f4b71Sopenharmony_ci| canvas | [drawing.Canvas](js-apis-graphics-drawing.md#canvas) | 是   | 绘制的目标 canvas。      |
1812e41f4b71Sopenharmony_ci|    x   | number                                               | 是   | 绘制的左上角位置的横坐标,浮点数。|
1813e41f4b71Sopenharmony_ci|    y   | number                                               | 是   | 绘制的左上角位置的纵坐标。浮点数。|
1814e41f4b71Sopenharmony_ci
1815e41f4b71Sopenharmony_ci**示例:**
1816e41f4b71Sopenharmony_ci
1817e41f4b71Sopenharmony_ci```ts
1818e41f4b71Sopenharmony_ciimport { drawing } from '@kit.ArkGraphics2D'
1819e41f4b71Sopenharmony_ciimport { text } from "@kit.ArkGraphics2D"
1820e41f4b71Sopenharmony_ciimport { common2D } from "@kit.ArkGraphics2D"
1821e41f4b71Sopenharmony_ciimport { image } from '@kit.ImageKit';
1822e41f4b71Sopenharmony_ci
1823e41f4b71Sopenharmony_cifunction textFunc() {
1824e41f4b71Sopenharmony_ci  const color: ArrayBuffer = new ArrayBuffer(160000);
1825e41f4b71Sopenharmony_ci  let opts: image.InitializationOptions = { editable: true, pixelFormat: 3, size: { height: 200, width: 200 } }
1826e41f4b71Sopenharmony_ci  let pixelMap: image.PixelMap = image.createPixelMapSync(color, opts);
1827e41f4b71Sopenharmony_ci  let canvas = new drawing.Canvas(pixelMap);
1828e41f4b71Sopenharmony_ci  runs[0].paint(canvas, 0, 0);
1829e41f4b71Sopenharmony_ci}
1830e41f4b71Sopenharmony_ci
1831e41f4b71Sopenharmony_ci@Entry
1832e41f4b71Sopenharmony_ci@Component
1833e41f4b71Sopenharmony_cistruct Index {
1834e41f4b71Sopenharmony_ci  fun: Function = textFunc;
1835e41f4b71Sopenharmony_ci  build() {
1836e41f4b71Sopenharmony_ci    Column() {
1837e41f4b71Sopenharmony_ci      Button().onClick(() => {
1838e41f4b71Sopenharmony_ci        this.fun();
1839e41f4b71Sopenharmony_ci      })
1840e41f4b71Sopenharmony_ci    }
1841e41f4b71Sopenharmony_ci  }
1842e41f4b71Sopenharmony_ci}
1843e41f4b71Sopenharmony_ci```
1844