1# drawing_text_blob.h
2
3
4## 概述
5
6文件中定义了与文字相关的功能函数。
7
8**引用文件:**<native_drawing/drawing_text_blob.h>
9
10**库:** libnative_drawing.so
11
12**起始版本:** 11
13
14**相关模块:**[Drawing](_drawing.md)
15
16
17## 汇总
18
19
20### 结构体
21
22| 名称 | 描述 |
23| -------- | -------- |
24| struct  [OH_Drawing_RunBuffer](_o_h___drawing___run_buffer.md) | 结构体用于描述一块内存,描述文字和位置信息。 |
25
26
27### 类型定义
28
29| 名称 | 描述 |
30| -------- | -------- |
31| typedef struct [OH_Drawing_RunBuffer](_o_h___drawing___run_buffer.md)  [OH_Drawing_RunBuffer](_drawing.md#oh_drawing_runbuffer) | 结构体用于描述一块内存,描述文字和位置信息。 |
32
33
34### 函数
35
36| 名称 | 描述 |
37| -------- | -------- |
38| [OH_Drawing_TextBlobBuilder](_drawing.md#oh_drawing_textblobbuilder) \* [OH_Drawing_TextBlobBuilderCreate](_drawing.md#oh_drawing_textblobbuildercreate) (void) | 用于创建一个文本构造器对象。 |
39| [OH_Drawing_TextBlob](_drawing.md#oh_drawing_textblob) \* [OH_Drawing_TextBlobCreateFromText](_drawing.md#oh_drawing_textblobcreatefromtext) (const void \*text, size_t byteLength, const [OH_Drawing_Font](_drawing.md#oh_drawing_font) \*, [OH_Drawing_TextEncoding](_drawing.md#oh_drawing_textencoding)) | 使用文本创建一个文本对象。 |
40| [OH_Drawing_TextBlob](_drawing.md#oh_drawing_textblob) \* [OH_Drawing_TextBlobCreateFromPosText](_drawing.md#oh_drawing_textblobcreatefrompostext) (const void \*text, size_t byteLength, [OH_Drawing_Point2D](_o_h___drawing___point2_d.md) \*, const [OH_Drawing_Font](_drawing.md#oh_drawing_font) \*, [OH_Drawing_TextEncoding](_drawing.md#oh_drawing_textencoding)) | 使用文本创建文本对象,文本对象中每个字符的坐标由OH_Drawing_Point2D数组中对应的坐标信息决定。 |
41| [OH_Drawing_TextBlob](_drawing.md#oh_drawing_textblob) \* [OH_Drawing_TextBlobCreateFromString](_drawing.md#oh_drawing_textblobcreatefromstring) (const char \*str, const [OH_Drawing_Font](_drawing.md#oh_drawing_font) \*, [OH_Drawing_TextEncoding](_drawing.md#oh_drawing_textencoding)) | 使用字符串创建文本对象。 |
42| void [OH_Drawing_TextBlobGetBounds](_drawing.md#oh_drawing_textblobgetbounds) ([OH_Drawing_TextBlob](_drawing.md#oh_drawing_textblob) \*, [OH_Drawing_Rect](_drawing.md#oh_drawing_rect) \*) | 获取文本对象的边界范围。 |
43| uint32_t [OH_Drawing_TextBlobUniqueID](_drawing.md#oh_drawing_textblobuniqueid) (const [OH_Drawing_TextBlob](_drawing.md#oh_drawing_textblob) \*) | 获取文本的标识符,该标识符是唯一的非零值。 |
44| const [OH_Drawing_RunBuffer](_o_h___drawing___run_buffer.md) \* [OH_Drawing_TextBlobBuilderAllocRunPos](_drawing.md#oh_drawing_textblobbuilderallocrunpos) ([OH_Drawing_TextBlobBuilder](_drawing.md#oh_drawing_textblobbuilder) \*, const [OH_Drawing_Font](_drawing.md#oh_drawing_font) \*, int32_t count, const [OH_Drawing_Rect](_drawing.md#oh_drawing_rect) \*) | 申请一块内存,用于存储文字和位置信息。返回的指针无需调用者管理, 当调用[OH_Drawing_TextBlobBuilderMake](_drawing.md#oh_drawing_textblobbuildermake)后禁止使用。 |
45| [OH_Drawing_TextBlob](_drawing.md#oh_drawing_textblob) \* [OH_Drawing_TextBlobBuilderMake](_drawing.md#oh_drawing_textblobbuildermake) ([OH_Drawing_TextBlobBuilder](_drawing.md#oh_drawing_textblobbuilder) \*) | 用于从文本构造器中创建文本对象。 |
46| void [OH_Drawing_TextBlobDestroy](_drawing.md#oh_drawing_textblobdestroy) ([OH_Drawing_TextBlob](_drawing.md#oh_drawing_textblob) \*) | 用于销毁文本对象并回收该对象占有的内存。 |
47| void [OH_Drawing_TextBlobBuilderDestroy](_drawing.md#oh_drawing_textblobbuilderdestroy) ([OH_Drawing_TextBlobBuilder](_drawing.md#oh_drawing_textblobbuilder) \*) | 用于销毁文本构造器对象并回收该对象占有的内存。 |
48