• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Drawing
2
3
4Drawing模块提供包括2D图形渲染、文字绘制和图片显示等功能函数。
5
6
7提供2D绘制功能。
8
9
10@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
11
12
13**起始版本:**
14
15
168
17
18
19## 汇总
20
21
22### 文件
23
24| 文件名称                                                     | 描述                                                         |
25| ------------------------------------------------------------ | ------------------------------------------------------------ |
26| [drawing_bitmap.h](drawing__bitmap_8h.md)                    | 文件中定义了与位图相关的功能函数。<br>引用文件:<native_drawing/drawing_bitmap.h>                           |
27| [drawing_brush.h](drawing__brush_8h.md)                      | 文件中定义了与画刷相关的功能函数。<br>引用文件:<native_drawing/drawing_brush.h>                        |
28| [drawing_canvas.h](drawing__canvas_8h.md)                    | 文件中定义了与画布相关的功能函数。<br>引用文件:<native_drawing/drawing_canvas.h>                           |
29| [drawing_color.h](drawing__color_8h.md)                      | 文件中定义了与颜色相关的功能函数。<br>引用文件:<native_drawing/drawing_color.h>                            |
30| [drawing_font_collection.h](drawing__font__collection_8h.md) | 定义绘制模块中与fontCollection相关的函数。<br>引用文件:<native_drawing/drawing_font_collection.h>                    |
31| [drawing_path.h](drawing__path_8h.md)                        | 文件中定义了与自定义路径相关的功能函数。<br>引用文件:<native_drawing/drawing_path.h>                      |
32| [drawing_pen.h](drawing__pen_8h.md)                          | 文件中定义了与画笔相关的功能函数。<br>引用文件:<native_drawing/drawing_pen.h>                            |
33| [drawing_text_declaration.h](drawing__text__declaration_8h.md) | 提供2d drawing文本相关的数据结构声明。<br>引用文件:<native_drawing/drawing_text_declaration.h>                        |
34| [drawing_text_typography.h](drawing__text__typography_8h.md) | 定义绘制模块中排版相关的函数。<br>引用文件:<native_drawing/drawing_text_typography.h>                                |
35| [drawing_types.h](drawing__types_8h.md)                      | 文件中定义了用于绘制2d图形的数据类型,包括画布、画笔、画刷、位图和路径。<br>引用文件:<native_drawing/drawing_types.h>  |
36
37
38### 结构体
39
40| 结构体名称                                                   | 描述                                                     |
41| ------------------------------------------------------------ | -------------------------------------------------------- |
42| [OH_Drawing_BitmapFormat](_o_h___drawing___bitmap_format.md) | 结构体用于描述位图像素的格式,包括颜色类型和透明度类型。 |
43
44
45### 类型定义
46
47| 类型定义名称                                                | 描述                                                         |
48| ----------------------------------------------------------- | ------------------------------------------------------------ |
49| [OH_Drawing_FontCollection](#oh_drawing_fontcollection)     | OH_Drawing_FontCollection用于加载字体。                      |
50| [OH_Drawing_Typography](#oh_drawing_typography)             | OH_Drawing_Typography用于管理排版的布局和显示等。            |
51| [OH_Drawing_TextStyle](#oh_drawing_textstyle)               | OH_Drawing_TextStyle用于管理字体颜色、装饰等。               |
52| [OH_Drawing_TypographyStyle](#oh_drawing_typographystyle)   | OH_Drawing_TypographyStyle用于管理排版风格,如文字方向等。   |
53| [OH_Drawing_TypographyCreate](#oh_drawing_typographycreate) | OH_Drawing_TypographyCreate用于创建OH_Drawing_Typography。   |
54| [OH_Drawing_Canvas](#oh_drawing_canvas)                     | OH_Drawing_Canvas定义为一块矩形的画布,可以结合画笔和画刷在上面绘制各种形状、图片和文字。 |
55| [OH_Drawing_Pen](#oh_drawing_pen)                           | OH_Drawing_Pen定义为画笔,画笔用于描述绘制图形轮廓的样式和颜色。 |
56| [OH_Drawing_Brush](#oh_drawing_brush)                       | OH_Drawing_Brush定义为画刷,画刷用于描述填充图形的样式和颜色。 |
57| [OH_Drawing_Path](#oh_drawing_path)                         | OH_Drawing_Path定义为路径,路径用于自定义设置各种形状。      |
58| [OH_Drawing_Bitmap](#oh_drawing_bitmap)                     | OH_Drawing_Bitmap定义为位图,位图是一块内存,内存中包含了描述一张图片的像素数据。 |
59
60
61### 枚举
62
63| 枚举名称                                                     | 描述                                                         |
64| ------------------------------------------------------------ | ------------------------------------------------------------ |
65| [OH_Drawing_PenLineCapStyle](#oh_drawing_penlinecapstyle) { LINE_FLAT_CAP, LINE_SQUARE_CAP, LINE_ROUND_CAP } | 枚举集合定义了画笔笔帽的样式,即画笔在绘制线段时,在线段头尾端点的样式。 |
66| [OH_Drawing_PenLineJoinStyle](#oh_drawing_penlinejoinstyle) { LINE_MITER_JOIN, LINE_ROUND_JOIN, LINE_BEVEL_JOIN } | 枚举集合定义了线条转角的样式,即画笔在绘制折线段时,在折线转角处的样式。 |
67| [OH_Drawing_TextDirection](#oh_drawing_textdirection) { TEXT_DIRECTION_RTL, TEXT_DIRECTION_LTR } | 文字方向。                                                   |
68| [OH_Drawing_TextAlign](#oh_drawing_textalign) { TEXT_ALIGN_LEFT, TEXT_ALIGN_RIGHT, TEXT_ALIGN_CENTER, TEXT_ALIGN_JUSTIFY,   TEXT_ALIGN_START, TEXT_ALIGN_END } | 文字对齐方式。                                               |
69| [OH_Drawing_FontWeight](#oh_drawing_fontweight) {  FONT_WEIGHT_100, FONT_WEIGHT_200, FONT_WEIGHT_300, FONT_WEIGHT_400,   FONT_WEIGHT_500, FONT_WEIGHT_600, FONT_WEIGHT_700, FONT_WEIGHT_800,  FONT_WEIGHT_900  } | 字重。                                                       |
70| [OH_Drawing_TextBaseline](#oh_drawing_textbaseline) { TEXT_BASELINE_ALPHABETIC, TEXT_BASELINE_IDEOGRAPHIC } | 基线位置。                                                   |
71| [OH_Drawing_TextDecoration](#oh_drawing_textdecoration) { TEXT_DECORATION_NONE = 0x0, TEXT_DECORATION_UNDERLINE = 0x1, TEXT_DECORATION_OVERLINE = 0x2, TEXT_DECORATION_LINE_THROUGH = 0x4 } | 文本装饰。                                                   |
72| [OH_Drawing_FontStyle](#oh_drawing_fontstyle) { FONT_STYLE_NORMAL, FONT_STYLE_ITALIC } | 区分字体是否为斜体。                                         |
73| [OH_Drawing_ColorFormat](#oh_drawing_colorformat) {  COLOR_FORMAT_UNKNOWN, COLOR_FORMAT_ALPHA_8, COLOR_FORMAT_RGB_565, COLOR_FORMAT_ARGB_4444,   COLOR_FORMAT_RGBA_8888, COLOR_FORMAT_BGRA_8888 } | OH_Drawing_ColorFormat用于描述位图像素的存储格式。           |
74| [OH_Drawing_AlphaFormat](#oh_drawing_alphaformat) { ALPHA_FORMAT_UNKNOWN, ALPHA_FORMAT_OPAQUE, ALPHA_FORMAT_PREMUL, ALPHA_FORMAT_UNPREMUL } | OH_Drawing_AlphaFormat用于描述位图像素的透明度分量。         |
75
76
77### 函数
78
79| 函数名称                                                     | 描述                                                         |
80| ------------------------------------------------------------ | ------------------------------------------------------------ |
81| [OH_Drawing_BitmapCreate](#oh_drawing_bitmapcreate) (void)   | 创建一个位图对象。                                           |
82| [OH_Drawing_BitmapDestroy](#oh_drawing_bitmapdestroy) ([OH_Drawing_Bitmap](#oh_drawing_bitmap) \*) | 销毁位图对象并回收该对象占有内存。                           |
83| [OH_Drawing_BitmapBuild](#oh_drawing_bitmapbuild) ([OH_Drawing_Bitmap](#oh_drawing_bitmap) \*, const uint32_t width, const uint32_t height, const [OH_Drawing_BitmapFormat](_o_h___drawing___bitmap_format.md) \*) | 初始化位图对象的宽度和高度,并且为该位图设置像素格式。       |
84| [OH_Drawing_BitmapGetWidth](#oh_drawing_bitmapgetwidth) ([OH_Drawing_Bitmap](#oh_drawing_bitmap) \*) | 获取指定位图的宽度。                                         |
85| [OH_Drawing_BitmapGetHeight](#oh_drawing_bitmapgetheight) ([OH_Drawing_Bitmap](#oh_drawing_bitmap) \*) | 获取指定位图的高度。                                         |
86| [OH_Drawing_BitmapGetPixels](#oh_drawing_bitmapgetpixels) ([OH_Drawing_Bitmap](#oh_drawing_bitmap) \*) | 获取指定位图的像素地址,可以通过像素地址获取到位图的像素数据。 |
87| [OH_Drawing_BrushCreate](#oh_drawing_brushcreate) (void)     | 创建一个画刷对象。                                           |
88| [OH_Drawing_BrushDestroy](#oh_drawing_brushdestroy) ([OH_Drawing_Brush](#oh_drawing_brush) \*) | 销毁画刷对象并回收该对象占有的内存。                         |
89| [OH_Drawing_BrushIsAntiAlias](#oh_drawing_brushisantialias) (const [OH_Drawing_Brush](#oh_drawing_brush) \*) | 获取画刷是否设置抗锯齿属性,如果为真则说明画刷会启用抗锯齿功能,在绘制图形时会对图形的边缘像素进行半透明的模糊处理。 |
90| [OH_Drawing_BrushSetAntiAlias](#oh_drawing_brushsetantialias) ([OH_Drawing_Brush](#oh_drawing_brush) \*, bool) | 设置画刷的抗锯齿属性,设置为真则画刷在绘制图形时会对图形的边缘像素进行半透明的模糊处理。 |
91| [OH_Drawing_BrushGetColor](#oh_drawing_brushgetcolor) (const [OH_Drawing_Brush](#oh_drawing_brush) \*) | 获取画刷的颜色属性,颜色属性描述了画刷填充图形时使用的颜色,用一个32位(ARGB)的变量表示。 |
92| [OH_Drawing_BrushSetColor](#oh_drawing_brushsetcolor) ([OH_Drawing_Brush](#oh_drawing_brush) \*, uint32_t color) | 设置画刷的颜色属性,颜色属性描述了画刷填充图形时使用的颜色,用一个32位(ARGB)的变量表示。 |
93| [OH_Drawing_CanvasCreate](#oh_drawing_canvascreate) (void)   | 创建一个画布对象。                                           |
94| [OH_Drawing_CanvasDestroy](#oh_drawing_canvasdestroy) ([OH_Drawing_Canvas](#oh_drawing_canvas) \*) | 销毁画布对象并回收该对象占有的内存。                         |
95| [OH_Drawing_CanvasBind](#oh_drawing_canvasbind) ([OH_Drawing_Canvas](#oh_drawing_canvas) \*, [OH_Drawing_Bitmap](#oh_drawing_bitmap) \*) | 将一个位图对象绑定到画布中,使得画布绘制的内容输出到位图中(即CPU渲染)。 |
96| [OH_Drawing_CanvasAttachPen](#oh_drawing_canvasattachpen) ([OH_Drawing_Canvas](#oh_drawing_canvas) \*, const [OH_Drawing_Pen](#oh_drawing_pen) \*) | 设置画笔给画布,画布将会使用设置画笔的样式和颜色去绘制图形形状的轮廓。 |
97| [OH_Drawing_CanvasDetachPen](#oh_drawing_canvasdetachpen) ([OH_Drawing_Canvas](#oh_drawing_canvas) \*) | 去除掉画布中的画笔,使用后画布将不去绘制图形形状的轮廓。     |
98| [OH_Drawing_CanvasAttachBrush](#oh_drawing_canvasattachbrush) ([OH_Drawing_Canvas](#oh_drawing_canvas) \*, const [OH_Drawing_Brush](#oh_drawing_brush) \*) | 设置画刷给画布,画布将会使用设置的画刷样式和颜色去填充绘制的图形形状。 |
99| [OH_Drawing_CanvasDetachBrush](#oh_drawing_canvasdetachbrush) ([OH_Drawing_Canvas](#oh_drawing_canvas) \*) | 去除掉画布中的画刷,使用后画布将不去填充图形形状。           |
100| [OH_Drawing_CanvasSave](#oh_drawing_canvassave) ([OH_Drawing_Canvas](#oh_drawing_canvas) \*) | 保存当前画布的状态(画布矩阵)到一个栈顶。                   |
101| [OH_Drawing_CanvasRestore](#oh_drawing_canvasrestore) ([OH_Drawing_Canvas](#oh_drawing_canvas) \*) | 恢复保存在栈顶的画布状态(画布矩阵)。                       |
102| [OH_Drawing_CanvasDrawLine](#oh_drawing_canvasdrawline) ([OH_Drawing_Canvas](#oh_drawing_canvas) \*, float x1, float y1, float x2, float y2) | 画一条直线段。                                               |
103| [OH_Drawing_CanvasDrawPath](#oh_drawing_canvasdrawpath) ([OH_Drawing_Canvas](#oh_drawing_canvas) \*, const [OH_Drawing_Path](#oh_drawing_path) \*) | 画一个自定义路径。                                           |
104| [OH_Drawing_CanvasClear](#oh_drawing_canvasclear) ([OH_Drawing_Canvas](#oh_drawing_canvas) \*, uint32_t color) | 使用指定颜色去清空画布。                                     |
105| [OH_Drawing_ColorSetArgb](#oh_drawing_colorsetargb) (uint32_t alpha, uint32_t red, uint32_t green, uint32_t blue) | 将4个变量(分别描述透明度、红色、绿色和蓝色)转化为一个描述颜色的32位(ARGB)变量。 |
106| [OH_Drawing_CreateFontCollection](#oh_drawing_createfontcollection) (void) | 创建OH_Drawing_FontCollection。                              |
107| [OH_Drawing_DestroyFontCollection](#oh_drawing_destroyfontcollection) ([OH_Drawing_FontCollection](#oh_drawing_fontcollection) \*) | 释放被OH_Drawing_FontCollection对象占据的内存。              |
108| [OH_Drawing_PathCreate](#oh_drawing_pathcreate) (void)       | 创建一个路径对象。                                           |
109| [OH_Drawing_PathDestroy](#oh_drawing_pathdestroy) ([OH_Drawing_Path](#oh_drawing_path) \*) | 销毁路径对象并回收该对象占有的内存。                         |
110| [OH_Drawing_PathMoveTo](#oh_drawing_pathmoveto) ([OH_Drawing_Path](#oh_drawing_path) \*, float x, float y) | 设置自定义路径的起始点位置。                                 |
111| [OH_Drawing_PathLineTo](#oh_drawing_pathlineto) ([OH_Drawing_Path](#oh_drawing_path) \*, float x, float y) | 添加一条从路径的最后点位置到目标点位置的线段。               |
112| [OH_Drawing_PathArcTo](#oh_drawing_patharcto) ([OH_Drawing_Path](#oh_drawing_path) \*, float x1, float y1, float x2, float y2, float startDeg, float sweepDeg) | 给路径添加一段弧线,绘制弧线的方式为角度弧,该方式首先会指定一个矩形边框,矩形边框会包裹椭圆, 然后会指定一个起始角度和扫描度数,从起始角度扫描截取的椭圆周长一部分即为绘制的弧线。另外会默认添加一条从路径的最后点位置到弧线起始点位置的线段。 |
113| [OH_Drawing_PathQuadTo](#oh_drawing_pathquadto) ([OH_Drawing_Path](#oh_drawing_path) \*, float ctrlX, float ctrlY, float endX, float endY) | 添加一条从路径最后点位置到目标点位置的二阶贝塞尔圆滑曲线。   |
114| [OH_Drawing_PathCubicTo](#oh_drawing_pathcubicto) ([OH_Drawing_Path](#oh_drawing_path) \*, float ctrlX1, float ctrlY1, float ctrlX2, float ctrlY2, float endX, float endY) | 添加一条从路径最后点位置到目标点位置的三阶贝塞尔圆滑曲线。   |
115| [OH_Drawing_PathClose](#oh_drawing_pathclose) ([OH_Drawing_Path](#oh_drawing_path) \*) | 闭合路径,会添加一条从路径起点位置到最后点位置的线段。       |
116| [OH_Drawing_PathReset](#oh_drawing_pathreset) ([OH_Drawing_Path](#oh_drawing_path) \*) | 重置自定义路径数据。                                         |
117| [OH_Drawing_PenCreate](#oh_drawing_pencreate) (void)         | 创建一个画笔对象。                                           |
118| [OH_Drawing_PenDestroy](#oh_drawing_pendestroy) ([OH_Drawing_Pen](#oh_drawing_pen) \*) | 销毁画笔对象并回收该对象占有的内存。                         |
119| [OH_Drawing_PenIsAntiAlias](#oh_drawing_penisantialias) (const [OH_Drawing_Pen](#oh_drawing_pen) \*) | 获取画笔是否设置抗锯齿属性,如果为真则说明画笔会启用抗锯齿功能,在绘制图形时会对图形的边缘像素进行半透明的模糊处理。 |
120| [OH_Drawing_PenSetAntiAlias](#oh_drawing_pensetantialias) ([OH_Drawing_Pen](#oh_drawing_pen) \*, bool) | 设置画笔的抗锯齿属性,设置为真则画笔在绘制图形时会对图形的边缘像素进行半透明的模糊处理。 |
121| [OH_Drawing_PenGetColor](#oh_drawing_pengetcolor) (const [OH_Drawing_Pen](#oh_drawing_pen) \*) | 获取画笔的颜色属性,颜色属性描述了画笔绘制图形轮廓时使用的颜色,用一个32位(ARGB)的变量表示。 |
122| [OH_Drawing_PenSetColor](#oh_drawing_pensetcolor) ([OH_Drawing_Pen](#oh_drawing_pen) \*, uint32_t color) | 设置画笔的颜色属性,颜色属性描述了画笔绘制图形轮廓时使用的颜色,用一个32位(ARGB)的变量表示。 |
123| [OH_Drawing_PenGetWidth](#oh_drawing_pengetwidth) (const [OH_Drawing_Pen](#oh_drawing_pen) \*) | 获取画笔的厚度属性,厚度属性描述了画笔绘制图形轮廓的宽度。   |
124| [OH_Drawing_PenSetWidth](#oh_drawing_pensetwidth) ([OH_Drawing_Pen](#oh_drawing_pen) \*, float width) | 设置画笔的厚度属性,厚度属性描述了画笔绘制图形轮廓的宽度。   |
125| [OH_Drawing_PenGetMiterLimit](#oh_drawing_pengetmiterlimit) (const [OH_Drawing_Pen](#oh_drawing_pen) \*) | 获取折线尖角的限制值,当画笔绘制一条折线,转角类型设置为尖角时,那么此时该属性用于限制出现尖角的长度范围,如果超出则平角显示,不超出依然为尖角。 |
126| [OH_Drawing_PenSetMiterLimit](#oh_drawing_pensetmiterlimit) ([OH_Drawing_Pen](#oh_drawing_pen) \*, float miter) | 设置折线尖角的限制值,当画笔绘制一条折线,转角类型设置为尖角时,那么此时该属性用于限制出现尖角的长度范围,如果超出则平角显示,不超出依然为尖角。 |
127| [OH_Drawing_PenGetCap](#oh_drawing_pengetcap) (const [OH_Drawing_Pen](#oh_drawing_pen) \*) | 获取画笔笔帽的样式。                                         |
128| [OH_Drawing_PenSetCap](#oh_drawing_pensetcap) ([OH_Drawing_Pen](#oh_drawing_pen) \*, [OH_Drawing_PenLineCapStyle](#oh_drawing_penlinecapstyle)) | 设置画笔笔帽样式。                                           |
129| [OH_Drawing_PenGetJoin](#oh_drawing_pengetjoin) (const [OH_Drawing_Pen](#oh_drawing_pen) \*) | 获取画笔绘制折线转角的样式。                                 |
130| [OH_Drawing_PenSetJoin](#oh_drawing_pensetjoin) ([OH_Drawing_Pen](#oh_drawing_pen) \*, [OH_Drawing_PenLineJoinStyle](#oh_drawing_penlinejoinstyle)) | 设置画笔绘制转角的样式。                                     |
131| [OH_Drawing_CreateTypographyStyle](#oh_drawing_createtypographystyle) (void) | 创建OH_Drawing_TypographyStyle。                             |
132| [OH_Drawing_DestroyTypographyStyle](#oh_drawing_destroytypographystyle) ([OH_Drawing_TypographyStyle](#oh_drawing_typographystyle) \*) | 释放被OH_Drawing_TypographyStyle对象占据的内存。             |
133| [OH_Drawing_SetTypographyTextDirection](#oh_drawing_settypographytextdirection) ([OH_Drawing_TypographyStyle](#oh_drawing_typographystyle) \*, int) | 设置文本方向。                                               |
134| [OH_Drawing_SetTypographyTextAlign](#oh_drawing_settypographytextalign) ([OH_Drawing_TypographyStyle](#oh_drawing_typographystyle) \*, int) | 设置文本对齐方式。                                           |
135| [OH_Drawing_SetTypographyTextMaxLines](#oh_drawing_settypographytextmaxlines) ([OH_Drawing_TypographyStyle](#oh_drawing_typographystyle) \*, int) | 设置文本最大行数。                                           |
136| [OH_Drawing_CreateTextStyle](#oh_drawing_createtextstyle) (void) | 创建OH_Drawing_TextStyle。                                   |
137| [OH_Drawing_DestroyTextStyle](#oh_drawing_destroytextstyle) ([OH_Drawing_TextStyle](#oh_drawing_textstyle) \*) | 释放被OH_Drawing_TextStyle对象占据的内存。                   |
138| [OH_Drawing_SetTextStyleColor](#oh_drawing_settextstylecolor) ([OH_Drawing_TextStyle](#oh_drawing_textstyle) \*, uint32_t) | 设置文本颜色。                                               |
139| [OH_Drawing_SetTextStyleFontSize](#oh_drawing_settextstylefontsize) ([OH_Drawing_TextStyle](#oh_drawing_textstyle) \*, double) | 设置字号。                                                   |
140| [OH_Drawing_SetTextStyleFontWeight](#oh_drawing_settextstylefontweight) ([OH_Drawing_TextStyle](#oh_drawing_textstyle) \*, int) | 设置字重。                                                   |
141| [OH_Drawing_SetTextStyleBaseLine](#oh_drawing_settextstylebaseline) ([OH_Drawing_TextStyle](#oh_drawing_textstyle) \*, int) | 设置字体基线位置。                                           |
142| [OH_Drawing_SetTextStyleDecoration](#oh_drawing_settextstyledecoration) ([OH_Drawing_TextStyle](#oh_drawing_textstyle) \*, int) | 设置装饰。                                                   |
143| [OH_Drawing_SetTextStyleDecorationColor](#oh_drawing_settextstyledecorationcolor) ([OH_Drawing_TextStyle](#oh_drawing_textstyle) \*, uint32_t) | 设置装饰颜色。                                               |
144| [OH_Drawing_SetTextStyleFontHeight](#oh_drawing_settextstylefontheight) ([OH_Drawing_TextStyle](#oh_drawing_textstyle) \*, double) | 设置字体高度。                                               |
145| [OH_Drawing_SetTextStyleFontFamilies](#oh_drawing_settextstylefontfamilies) ([OH_Drawing_TextStyle](#oh_drawing_textstyle) \*, int, const char \*fontFamilies[]) | 设置字体类型。                                               |
146| [OH_Drawing_SetTextStyleFontStyle](#oh_drawing_settextstylefontstyle) ([OH_Drawing_TextStyle](#oh_drawing_textstyle) \*, int) | 设置字体风格。                                               |
147| [OH_Drawing_SetTextStyleLocale](#oh_drawing_settextstylelocale) ([OH_Drawing_TextStyle](#oh_drawing_textstyle) \*, const char \*) | 设置语言区域。                                               |
148| [OH_Drawing_CreateTypographyHandler](#oh_drawing_createtypographyhandler) ([OH_Drawing_TypographyStyle](#oh_drawing_typographystyle) \*, [OH_Drawing_FontCollection](#oh_drawing_fontcollection) \*) | 创建指向OH_Drawing_TypographyCreate对象的指针。              |
149| [OH_Drawing_DestroyTypographyHandler](#oh_drawing_destroytypographyhandler) ([OH_Drawing_TypographyCreate](#oh_drawing_typographycreate) \*) | 释放被OH_Drawing_TypographyCreate对象占据的内存。            |
150| [OH_Drawing_TypographyHandlerPushTextStyle](#oh_drawing_typographyhandlerpushtextstyle) ([OH_Drawing_TypographyCreate](#oh_drawing_typographycreate) \*, [OH_Drawing_TextStyle](#oh_drawing_textstyle) \*) | 设置排版风格。                                               |
151| [OH_Drawing_TypographyHandlerAddText](#oh_drawing_typographyhandleraddtext) ([OH_Drawing_TypographyCreate](#oh_drawing_typographycreate) \*, const char \*) | 设置文本内容。                                               |
152| [OH_Drawing_TypographyHandlerPopTextStyle](#oh_drawing_typographyhandlerpoptextstyle) ([OH_Drawing_TypographyCreate](#oh_drawing_typographycreate) \*) | 排版弹出。                                                   |
153| [OH_Drawing_CreateTypography](#oh_drawing_createtypography) ([OH_Drawing_TypographyCreate](#oh_drawing_typographycreate) \*) | 创建OH_Drawing_Typography。                                  |
154| [OH_Drawing_DestroyTypography](#oh_drawing_destroytypography) ([OH_Drawing_Typography](#oh_drawing_typography) \*) | 释放OH_Drawing_Typography对象占据的内存。                    |
155| [OH_Drawing_TypographyLayout](#oh_drawing_typographylayout) ([OH_Drawing_Typography](#oh_drawing_typography) \*, double) | 排版布局。                                                   |
156| [OH_Drawing_TypographyPaint](#oh_drawing_typographypaint) ([OH_Drawing_Typography](#oh_drawing_typography) \*, [OH_Drawing_Canvas](#oh_drawing_canvas) \*, double, double) | 显示文本。                                                   |
157| [OH_Drawing_TypographyGetMaxWidth](#oh_drawing_typographygetmaxwidth) ([OH_Drawing_Typography](#oh_drawing_typography) *) | 获取最大宽度。                                               |
158| [OH_Drawing_TypographyGetHeight](#oh_drawing_typographygetheight) ([OH_Drawing_Typography](#oh_drawing_typography) *) | 获取高度。                                                   |
159| [OH_Drawing_TypographyGetLongestLine](#oh_drawing_typographygetlongestline) ([OH_Drawing_Typography](#oh_drawing_typography) *) | 获取最长行。                                                 |
160| [OH_Drawing_TypographyGetMinIntrinsicWidth](#oh_drawing_typographygetminintrinsicwidth) ([OH_Drawing_Typography](#oh_drawing_typography) *) | 获取最小固有宽度。                                           |
161| [OH_Drawing_TypographyGetMaxIntrinsicWidth](#oh_drawing_typographygetmaxintrinsicwidth) ([OH_Drawing_Typography](#oh_drawing_typography) *) | 获取最大固有宽度。                                           |
162| [OH_Drawing_TypographyGetAlphabeticBaseline](#oh_drawing_typographygetalphabeticbaseline)([OH_Drawing_Typography](#oh_drawing_typography) *) | 获取字母文字基线。                                           |
163| [OH_Drawing_TypographyGetIdeographicBaseline](#oh_drawing_typographygetideographicbaseline) ([OH_Drawing_Typography](#oh_drawing_typography) *) | 获取表意文字基线。                                           |
164
165
166## 类型定义说明
167
168
169### OH_Drawing_Bitmap
170
171
172```
173typedef struct OH_Drawing_Bitmap OH_Drawing_Bitmap
174```
175
176**描述:**
177
178OH_Drawing_Bitmap定义为位图,位图是一块内存,内存中包含了描述一张图片的像素数据
179
180**起始版本:**
181
1828
183
184
185### OH_Drawing_Brush
186
187
188```
189typedef struct OH_Drawing_Brush OH_Drawing_Brush
190```
191
192**描述:**
193
194OH_Drawing_Brush定义为画刷,画刷用于描述填充图形的样式和颜色
195
196**起始版本:**
197
1988
199
200
201### OH_Drawing_Canvas
202
203
204```
205typedef struct OH_Drawing_Canvas OH_Drawing_Canvas
206```
207
208**描述:**
209
210OH_Drawing_Canvas定义为一块矩形的画布,可以结合画笔和画刷在上面绘制各种形状、图片和文字
211
212**起始版本:**
213
2148
215
216
217### OH_Drawing_FontCollection
218
219
220```
221typedef struct OH_Drawing_FontCollection OH_Drawing_FontCollection
222```
223
224**描述:**
225
226OH_Drawing_FontCollection用于加载字体
227
228**起始版本:**
229
2308
231
232
233### OH_Drawing_Path
234
235
236```
237typedef struct OH_Drawing_Path OH_Drawing_Path
238```
239
240**描述:**
241
242OH_Drawing_Path定义为路径,路径用于自定义设置各种形状
243
244**起始版本:**
245
2468
247
248
249### OH_Drawing_Pen
250
251
252```
253typedef struct OH_Drawing_Pen OH_Drawing_Pen
254```
255
256**描述:**
257
258OH_Drawing_Pen定义为画笔,画笔用于描述绘制图形轮廓的样式和颜色
259
260**起始版本:**
261
2628
263
264
265### OH_Drawing_TextStyle
266
267
268```
269typedef struct OH_Drawing_TextStyle OH_Drawing_TextStyle
270```
271
272**描述:**
273
274OH_Drawing_TextStyle用于管理字体颜色、装饰等
275
276**起始版本:**
277
2788
279
280
281### OH_Drawing_Typography
282
283
284```
285typedef struct OH_Drawing_Typography OH_Drawing_Typography
286```
287
288**描述:**
289
290OH_Drawing_Typography用于管理排版的布局和显示等
291
292**起始版本:**
293
2948
295
296
297### OH_Drawing_TypographyCreate
298
299
300```
301typedef struct OH_Drawing_TypographyCreate OH_Drawing_TypographyCreate
302```
303
304**描述:**
305
306OH_Drawing_TypographyCreate用于创建OH_Drawing_Typography
307
308**起始版本:**
309
3108
311
312
313### OH_Drawing_TypographyStyle
314
315
316```
317typedef struct OH_Drawing_TypographyStyle OH_Drawing_TypographyStyle
318```
319
320**描述:**
321
322OH_Drawing_TypographyStyle用于管理排版风格,如文字方向等
323
324**起始版本:**
325
3268
327
328
329## 枚举类型说明
330
331
332### OH_Drawing_AlphaFormat
333
334
335```
336enum OH_Drawing_AlphaFormat
337```
338
339**描述:**
340
341OH_Drawing_AlphaFormat用于描述位图像素的透明度分量
342
343| 枚举值                | 描述                                     |
344| --------------------- | ---------------------------------------- |
345| ALPHA_FORMAT_UNKNOWN  | 未知格式                                 |
346| ALPHA_FORMAT_OPAQUE   | 位图无透明度                             |
347| ALPHA_FORMAT_PREMUL   | 每个像素的颜色组件由透明度分量预先乘以   |
348| ALPHA_FORMAT_UNPREMUL | 每个像素的颜色组件未由透明度分量预先乘以 |
349
350**起始版本:**
351
3528
353
354
355### OH_Drawing_ColorFormat
356
357
358```
359enum OH_Drawing_ColorFormat
360```
361
362**描述:**
363
364OH_Drawing_ColorFormat用于描述位图像素的存储格式
365
366| 枚举值                 | 描述                                                         |
367| ---------------------- | ------------------------------------------------------------ |
368| COLOR_FORMAT_UNKNOWN   | 未知格式.                                                    |
369| COLOR_FORMAT_ALPHA_8   | 每个像素用一个8位的量表示,8个位比特位表示透明度             |
370| COLOR_FORMAT_RGB_565   | 每个像素用一个16位的量表示,高位到低位依次是5个比特位表示红,6个比特位表示绿,5个比特位表示蓝 |
371| COLOR_FORMAT_ARGB_4444 | 每个像素用一个16位的量表示,高位到低位依次是4个比特位表示透明度,4个比特位表示红,4个比特位表示绿,4个比特位表示蓝 |
372| COLOR_FORMAT_RGBA_8888 | 每个像素用一个32位的量表示,高位到低位依次是8个比特位表示透明度,8个比特位表示红,8个比特位表示绿,8个比特位表示蓝 |
373| COLOR_FORMAT_BGRA_8888 | 每个像素用一个32位的量表示,高位到低位依次是8个比特位表示蓝,8个比特位表示绿,8个比特位表示红,8个比特位表示透明度 |
374
375**起始版本:**
376
3778
378
379
380### OH_Drawing_FontStyle
381
382
383```
384enum OH_Drawing_FontStyle
385```
386
387**描述:**
388
389区分字体是否为斜体
390
391| 枚举值            | 描述   |
392| ----------------- | ------ |
393| FONT_STYLE_NORMAL | 非斜体 |
394| FONT_STYLE_ITALIC | 斜体   |
395
396**起始版本:**
397
3988
399
400
401### OH_Drawing_FontWeight
402
403
404```
405enum OH_Drawing_FontWeight
406```
407
408**描述:**
409
410字重
411
412| 枚举值          | 描述                 |
413| --------------- | -------------------- |
414| FONT_WEIGHT_100 | 字重为thin           |
415| FONT_WEIGHT_200 | 字重为extra-light    |
416| FONT_WEIGHT_300 | 字重为light          |
417| FONT_WEIGHT_400 | 字重为normal/regular |
418| FONT_WEIGHT_500 | 字重为medium         |
419| FONT_WEIGHT_600 | 字重为semi-bold      |
420| FONT_WEIGHT_700 | 字重为bold           |
421| FONT_WEIGHT_800 | 字重为extra-bold     |
422| FONT_WEIGHT_900 | 字重为black          |
423
424**起始版本:**
425
4268
427
428
429### OH_Drawing_PenLineCapStyle
430
431
432```
433enum OH_Drawing_PenLineCapStyle
434```
435
436**描述:**
437
438枚举集合定义了画笔笔帽的样式,即画笔在绘制线段时,在线段头尾端点的样式
439
440| 枚举值          | 描述                                                         |
441| --------------- | ------------------------------------------------------------ |
442| LINE_FLAT_CAP   | 没有笔帽样式,线条头尾端点处横切                             |
443| LINE_SQUARE_CAP | 笔帽的样式为方框,线条的头尾端点处多出一个方框,方框宽度和线段一样宽,高度时线段厚度的一半 |
444| LINE_ROUND_CAP  | 笔帽的样式为圆弧,线条的头尾端点处多出一个半圆弧,半圆的直径与线段厚度一致 |
445
446**起始版本:**
447
4488
449
450
451### OH_Drawing_PenLineJoinStyle
452
453
454```
455enum OH_Drawing_PenLineJoinStyle
456```
457
458**描述:**
459
460枚举集合定义了线条转角的样式,即画笔在绘制折线段时,在折线转角处的样式
461
462| 枚举值          | 描述                                                         |
463| --------------- | ------------------------------------------------------------ |
464| LINE_MITER_JOIN | 转角类型为尖角,如果折线角度比较小,则尖角会很长,需要使用限制值(miter limit)进行限制 |
465| LINE_ROUND_JOIN | 转角类型为圆头                                               |
466| LINE_BEVEL_JOIN | 转角类型为平头                                               |
467
468**起始版本:**
469
4708
471
472
473### OH_Drawing_TextAlign
474
475
476```
477enum OH_Drawing_TextAlign
478```
479
480**描述:**
481
482文字对齐方式
483
484| 枚举值             | 描述                                                         |
485| ------------------ | ------------------------------------------------------------ |
486| TEXT_ALIGN_LEFT    | 左对齐                                                       |
487| TEXT_ALIGN_RIGHT   | 右对齐                                                       |
488| TEXT_ALIGN_CENTER  | 居中对齐                                                     |
489| TEXT_ALIGN_JUSTIFY | 两端对齐,即紧靠左和右边缘,中间单词空隙由空格填充 最后一行除外 |
490| TEXT_ALIGN_START   | 当OH_Drawing_TextDirection是TEXT_DIRECTION_LTR时, TEXT_ALIGN_START和TEXT_ALIGN_LEFT相同; 类似地,当OH_Drawing_TextDirection是TEXT_DIRECTION_RTL时, TEXT_ALIGN_START和TEXT_ALIGN_RIGHT相同。 |
491| TEXT_ALIGN_END     | 当OH_Drawing_TextDirection是TEXT_DIRECTION_LTR时, TEXT_ALIGN_END和TEXT_ALIGN_RIGHT相同; 类似地,当OH_Drawing_TextDirection是TEXT_DIRECTION_RTL时, TEXT_ALIGN_END和TEXT_ALIGN_LEFT相同。 |
492
493**起始版本:**
494
4958
496
497
498### OH_Drawing_TextBaseline
499
500
501```
502enum OH_Drawing_TextBaseline
503```
504
505**描述:**
506
507基线位置
508
509| 枚举值                    | 描述                               |
510| ------------------------- | ---------------------------------- |
511| TEXT_BASELINE_ALPHABETIC  | 用于表音文字,基线在中间偏下的位置 |
512| TEXT_BASELINE_IDEOGRAPHIC | 用于表意文字,基线位于底部         |
513
514**起始版本:**
515
5168
517
518
519### OH_Drawing_TextDecoration
520
521
522```
523enum OH_Drawing_TextDecoration
524```
525
526**描述:**
527
528文本装饰
529
530| 枚举值                       | 描述   |
531| ---------------------------- | ------ |
532| TEXT_DECORATION_NONE         | 无装饰 |
533| TEXT_DECORATION_UNDERLINE    | 下划线 |
534| TEXT_DECORATION_OVERLINE     | 上划线 |
535| TEXT_DECORATION_LINE_THROUGH | 删除线 |
536
537**起始版本:**
538
5398
540
541
542### OH_Drawing_TextDirection
543
544
545```
546enum OH_Drawing_TextDirection
547```
548
549**描述:**
550
551文字方向
552
553| 枚举值             | 描述           |
554| ------------------ | -------------- |
555| TEXT_DIRECTION_RTL | 方向:从右到左 |
556| TEXT_DIRECTION_LTR | 方向:从左到右 |
557
558**起始版本:**
559
5608
561
562
563## 函数说明
564
565
566### OH_Drawing_BitmapBuild()
567
568
569```
570void OH_Drawing_BitmapBuild (OH_Drawing_Bitmap * , const uint32_t width, const uint32_t height, const OH_Drawing_BitmapFormat *  )
571```
572
573**描述:**
574
575设置初始化位图对象的宽度和高度,并且为该位图设置像素格式
576
577@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
578
579**参数:**
580
581| Name                                                         | 描述                                                         |
582| ------------------------------------------------------------ | ------------------------------------------------------------ |
583| OH_Drawing_Bitmap                                            | 参数是一个指向位图对象的指针                                 |
584| width                                                        | 参数是位图要初始化设置的宽度                                 |
585| height                                                       | 参数是位图要初始化设置的高度                                 |
586| [OH_Drawing_BitmapFormat](_o_h___drawing___bitmap_format.md) | 参数是位图要初始化设置的像素格式,包括像素的颜色类型和透明度类型 |
587
588**起始版本:**
589
5908
591
592
593### OH_Drawing_BitmapCreate()
594
595
596```
597OH_Drawing_Bitmap* OH_Drawing_BitmapCreate (void )
598```
599
600**描述:**
601
602创建一个位图对象。
603
604@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
605
606**返回:**
607
608函数会返回一个指针,指针指向创建的位图对象
609
610**起始版本:**
611
6128
613
614
615### OH_Drawing_BitmapDestroy()
616
617
618```
619void OH_Drawing_BitmapDestroy (OH_Drawing_Bitmap * )
620```
621
622**描述:**
623
624销毁位图对象并回收该对象占有内存。
625
626@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
627
628**参数:**
629
630| Name              | 描述                         |
631| ----------------- | ---------------------------- |
632| OH_Drawing_Bitmap | 参数是一个指向位图对象的指针 |
633
634**起始版本:**
635
6368
637
638
639### OH_Drawing_BitmapGetHeight()
640
641
642```
643uint32_t OH_Drawing_BitmapGetHeight (OH_Drawing_Bitmap * )
644```
645
646**描述:**
647
648获取指定位图的高度
649
650@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
651
652**参数:**
653
654| Name              | 描述                         |
655| ----------------- | ---------------------------- |
656| OH_Drawing_Bitmap | 参数是一个指向位图对象的指针 |
657
658**返回:**
659
660函数返回位图的高度
661
662**起始版本:**
663
6648
665
666
667### OH_Drawing_BitmapGetPixels()
668
669
670```
671void* OH_Drawing_BitmapGetPixels (OH_Drawing_Bitmap * )
672```
673
674**描述:**
675
676获取指定位图的像素地址,可以通过像素地址获取到位图的像素数据
677
678@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
679
680**参数:**
681
682| Name              | 描述                         |
683| ----------------- | ---------------------------- |
684| OH_Drawing_Bitmap | 参数是一个指向位图对象的指针 |
685
686**返回:**
687
688函数返回位图的像素地址
689
690**起始版本:**
691
6928
693
694
695### OH_Drawing_BitmapGetWidth()
696
697
698```
699uint32_t OH_Drawing_BitmapGetWidth (OH_Drawing_Bitmap * )
700```
701
702**描述:**
703
704获取指定位图的宽度
705
706@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
707
708**参数:**
709
710| Name              | 描述                         |
711| ----------------- | ---------------------------- |
712| OH_Drawing_Bitmap | 参数是一个指向位图对象的指针 |
713
714**返回:**
715
716函数返回位图的宽度
717
718**起始版本:**
719
7208
721
722
723### OH_Drawing_BrushCreate()
724
725
726```
727OH_Drawing_Brush* OH_Drawing_BrushCreate (void )
728```
729
730**描述:**
731
732创建一个画刷对象
733
734@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
735
736**返回:**
737
738函数会返回一个指针,指针指向创建的画刷对象
739
740**起始版本:**
741
7428
743
744
745### OH_Drawing_BrushDestroy()
746
747
748```
749void OH_Drawing_BrushDestroy (OH_Drawing_Brush * )
750```
751
752**描述:**
753
754销毁画刷对象并回收该对象占有的内存。
755
756@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
757
758**参数:**
759
760| Name             | 描述                         |
761| ---------------- | ---------------------------- |
762| OH_Drawing_Brush | 参数是一个指向画刷对象的指针 |
763
764**起始版本:**
765
7668
767
768
769### OH_Drawing_BrushGetColor()
770
771
772```
773uint32_t OH_Drawing_BrushGetColor (const OH_Drawing_Brush * )
774```
775
776**描述:**
777
778获取画刷的颜色属性,颜色属性描述了画刷填充图形时使用的颜色,用一个32位(ARGB)的变量表示
779
780@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
781
782**参数:**
783
784| Name             | 描述                         |
785| ---------------- | ---------------------------- |
786| OH_Drawing_Brush | 参数是一个指向画刷对象的指针 |
787
788**返回:**
789
790函数返回一个描述颜色的32位(ARGB)变量
791
792**起始版本:**
793
7948
795
796
797### OH_Drawing_BrushIsAntiAlias()
798
799
800```
801bool OH_Drawing_BrushIsAntiAlias (const OH_Drawing_Brush * )
802```
803
804**描述:**
805
806获取画刷是否设置抗锯齿属性,如果为真则说明画刷会启用抗锯齿功能,在绘制图形时会对图形的边缘像素进行半透明的模糊处理
807
808@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
809
810**参数:**
811
812| Name             | 描述                         |
813| ---------------- | ---------------------------- |
814| OH_Drawing_Brush | 参数是一个指向画刷对象的指针 |
815
816**返回:**
817
818函数返回画刷对象是否设置抗锯齿属性,返回真则设置了抗锯齿,返回假则没有设置抗锯齿
819
820**起始版本:**
821
8228
823
824
825### OH_Drawing_BrushSetAntiAlias()
826
827
828```
829void OH_Drawing_BrushSetAntiAlias (OH_Drawing_Brush * , bool  )
830```
831
832**描述:**
833
834设置画刷的抗锯齿属性,设置为真则画刷在绘制图形时会对图形的边缘像素进行半透明的模糊处理
835
836@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
837
838**参数:**
839
840| Name             | 描述                                   |
841| ---------------- | -------------------------------------- |
842| OH_Drawing_Brush | 参数是一个指向画刷对象的指针           |
843| bool             | 参数真为抗锯齿,参数假则不做抗锯齿处理 |
844
845**起始版本:**
846
8478
848
849
850### OH_Drawing_BrushSetColor()
851
852
853```
854void OH_Drawing_BrushSetColor (OH_Drawing_Brush * , uint32_t color )
855```
856
857**描述:**
858
859设置画刷的颜色属性,颜色属性描述了画刷填充图形时使用的颜色,用一个32位(ARGB)的变量表示
860
861@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
862
863**参数:**
864
865| Name             | 描述                                 |
866| ---------------- | ------------------------------------ |
867| OH_Drawing_Brush | 参数是一个指向画刷对象的指针         |
868| color            | 参数是一个描述颜色的32位(ARGB)变量 |
869
870**起始版本:**
871
8728
873
874
875### OH_Drawing_CanvasAttachBrush()
876
877
878```
879void OH_Drawing_CanvasAttachBrush (OH_Drawing_Canvas * , const OH_Drawing_Brush *  )
880```
881
882**描述:**
883
884设置画刷给画布,画布将会使用设置的画刷样式和颜色去填充绘制的图形形状
885
886@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
887
888**参数:**
889
890| Name              | 描述                         |
891| ----------------- | ---------------------------- |
892| OH_Drawing_Canvas | 参数为一个指向画布对象的指针 |
893| OH_Drawing_Brush  | 参数为一个指向画刷对象的指针 |
894
895**起始版本:**
896
8978
898
899
900### OH_Drawing_CanvasAttachPen()
901
902
903```
904void OH_Drawing_CanvasAttachPen (OH_Drawing_Canvas * , const OH_Drawing_Pen *  )
905```
906
907**描述:**
908
909设置画笔给画布,画布将会使用设置画笔的样式和颜色去绘制图形形状的轮廓
910
911@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
912
913**参数:**
914
915| Name              | 描述                         |
916| ----------------- | ---------------------------- |
917| OH_Drawing_Canvas | 参数为一个指向画布对象的指针 |
918| OH_Drawing_Pen    | 参数为一个指向画笔对象的指针 |
919
920**起始版本:**
921
9228
923
924
925### OH_Drawing_CanvasBind()
926
927
928```
929void OH_Drawing_CanvasBind (OH_Drawing_Canvas * , OH_Drawing_Bitmap *  )
930```
931
932**描述:**
933
934将一个位图对象绑定到画布中,使得画布绘制的内容输出到位图中(即CPU渲染)
935
936@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
937
938**参数:**
939
940| Name              | 描述                         |
941| ----------------- | ---------------------------- |
942| OH_Drawing_Canvas | 参数为一个指向画布对象的指针 |
943| OH_Drawing_Bitmap | 参数为一个指向位图对象的指针 |
944
945**起始版本:**
946
9478
948
949
950### OH_Drawing_CanvasClear()
951
952
953```
954void OH_Drawing_CanvasClear (OH_Drawing_Canvas * , uint32_t color )
955```
956
957**描述:**
958
959使用指定颜色去清空画布
960
961@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
962
963**参数:**
964
965| Name              | 描述                                 |
966| ----------------- | ------------------------------------ |
967| OH_Drawing_Canvas | 参数为一个指向画布对象的指针         |
968| color             | 参数为一个描述颜色的32位(ARGB)变量 |
969
970**起始版本:**
971
9728
973
974
975### OH_Drawing_CanvasCreate()
976
977
978```
979OH_Drawing_Canvas* OH_Drawing_CanvasCreate (void )
980```
981
982**描述:**
983
984创建一个画布对象
985
986@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
987
988**返回:**
989
990函数会返回一个指针,指针指向创建的画布对象
991
992**起始版本:**
993
9948
995
996
997### OH_Drawing_CanvasDestroy()
998
999
1000```
1001void OH_Drawing_CanvasDestroy (OH_Drawing_Canvas * )
1002```
1003
1004**描述:**
1005
1006销毁画布对象并回收该对象占有的内存
1007
1008@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1009
1010**参数:**
1011
1012| Name              | 描述                         |
1013| ----------------- | ---------------------------- |
1014| OH_Drawing_Canvas | 参数是一个指向画布对象的指针 |
1015
1016**起始版本:**
1017
10188
1019
1020
1021### OH_Drawing_CanvasDetachBrush()
1022
1023
1024```
1025void OH_Drawing_CanvasDetachBrush (OH_Drawing_Canvas * )
1026```
1027
1028**描述:**
1029
1030去除掉画布中的画刷,使用后画布将不去填充图形形状
1031
1032@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1033
1034**参数:**
1035
1036| Name              | 描述                         |
1037| ----------------- | ---------------------------- |
1038| OH_Drawing_Canvas | 参数为一个指向画布对象的指针 |
1039
1040**起始版本:**
1041
10428
1043
1044
1045### OH_Drawing_CanvasDetachPen()
1046
1047
1048```
1049void OH_Drawing_CanvasDetachPen (OH_Drawing_Canvas * )
1050```
1051
1052**描述:**
1053
1054去除掉画布中的画笔,使用后画布将不去绘制图形形状的轮廓
1055
1056@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1057
1058**参数:**
1059
1060| Name              | 描述                         |
1061| ----------------- | ---------------------------- |
1062| OH_Drawing_Canvas | 参数为一个指向画布对象的指针 |
1063
1064**起始版本:**
1065
10668
1067
1068
1069### OH_Drawing_CanvasDrawLine()
1070
1071
1072```
1073void OH_Drawing_CanvasDrawLine (OH_Drawing_Canvas * , float x1, float y1, float x2, float y2 )
1074```
1075
1076**描述:**
1077
1078画一条直线段
1079
1080@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1081
1082**参数:**
1083
1084| Name              | 描述                         |
1085| ----------------- | ---------------------------- |
1086| OH_Drawing_Canvas | 参数为一个指向画布对象的指针 |
1087| x1                | 参数为线段起始点的横坐标     |
1088| y1                | 参数为线段起始点的纵坐标     |
1089| x2                | 参数为线段结束点的横坐标     |
1090| y2                | 参数为线段结束点的纵坐标     |
1091
1092**起始版本:**
1093
10948
1095
1096
1097### OH_Drawing_CanvasDrawPath()
1098
1099
1100```
1101void OH_Drawing_CanvasDrawPath (OH_Drawing_Canvas * , const OH_Drawing_Path *  )
1102```
1103
1104**描述:**
1105
1106画一个自定义路径
1107
1108@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1109
1110**参数:**
1111
1112| Name              | 描述                         |
1113| ----------------- | ---------------------------- |
1114| OH_Drawing_Canvas | 参数为一个指向画布对象的指针 |
1115| OH_Drawing_Path   | 参数为一个指向路径对象的指针 |
1116
1117**起始版本:**
1118
11198
1120
1121
1122### OH_Drawing_CanvasRestore()
1123
1124
1125```
1126void OH_Drawing_CanvasRestore (OH_Drawing_Canvas * )
1127```
1128
1129**描述:**
1130
1131恢复保存在栈顶的画布状态(画布矩阵)
1132
1133@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1134
1135**参数:**
1136
1137| Name              | 描述                         |
1138| ----------------- | ---------------------------- |
1139| OH_Drawing_Canvas | 参数为一个指向画布对象的指针 |
1140
1141**起始版本:**
1142
11438
1144
1145
1146### OH_Drawing_CanvasSave()
1147
1148
1149```
1150void OH_Drawing_CanvasSave (OH_Drawing_Canvas * )
1151```
1152
1153**描述:**
1154
1155保存当前画布的状态(画布矩阵)到一个栈顶
1156
1157@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1158
1159**参数:**
1160
1161| Name              | 描述                         |
1162| ----------------- | ---------------------------- |
1163| OH_Drawing_Canvas | 参数为一个指向画布对象的指针 |
1164
1165**起始版本:**
1166
11678
1168
1169
1170### OH_Drawing_ColorSetArgb()
1171
1172
1173```
1174uint32_t OH_Drawing_ColorSetArgb (uint32_t alpha, uint32_t red, uint32_t green, uint32_t blue )
1175```
1176
1177**描述:**
1178
1179将4个变量(分别描述透明度、红色、绿色和蓝色)转化为一个描述颜色的32位(ARGB)变量
1180
1181@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1182
1183**参数:**
1184
1185| Name  | 描述                                            |
1186| ----- | ----------------------------------------------- |
1187| alpha | 参数为一个描述透明度的变量, 变量范围是0x00~0xFF |
1188| red   | 参数为一个描述红色的变量, 变量范围是0x00~0xFF   |
1189| green | 参数为一个描述绿色的变量, 变量范围是0x00~0xFF   |
1190| blue  | 参数为一个描述蓝色的变量, 变量范围是0x00~0xFF   |
1191
1192**返回:**
1193
1194函数返回一个描述颜色的32位(ARGB)变量
1195
1196**起始版本:**
1197
11988
1199
1200
1201### OH_Drawing_CreateFontCollection()
1202
1203
1204```
1205OH_Drawing_FontCollection* OH_Drawing_CreateFontCollection (void )
1206```
1207
1208**描述:**
1209
1210创建OH_Drawing_FontCollection
1211
1212@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1213
1214**返回:**
1215
1216指向创建的OH_Drawing_FontCollection对象的指针
1217
1218**起始版本:**
1219
12208
1221
1222
1223### OH_Drawing_CreateTextStyle()
1224
1225
1226```
1227OH_Drawing_TextStyle* OH_Drawing_CreateTextStyle (void )
1228```
1229
1230**描述:**
1231
1232创建OH_Drawing_TextStyle
1233
1234@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1235
1236**返回:**
1237
1238指向创建的OH_Drawing_TextStyle对象的指针
1239
1240**起始版本:**
1241
12428
1243
1244
1245### OH_Drawing_CreateTypography()
1246
1247
1248```
1249OH_Drawing_Typography* OH_Drawing_CreateTypography (OH_Drawing_TypographyCreate * )
1250```
1251
1252**描述:**
1253
1254创建OH_Drawing_Typography
1255
1256@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1257
1258**参数:**
1259
1260| Name                        | 描述                                      |
1261| --------------------------- | ----------------------------------------- |
1262| OH_Drawing_TypographyCreate | 指向OH_Drawing_TypographyCreate对象的指针 |
1263
1264**返回:**
1265
1266指向OH_Drawing_Typography对象的指针
1267
1268**起始版本:**
1269
12708
1271
1272
1273### OH_Drawing_CreateTypographyHandler()
1274
1275
1276```
1277OH_Drawing_TypographyCreate* OH_Drawing_CreateTypographyHandler (OH_Drawing_TypographyStyle * , OH_Drawing_FontCollection *  )
1278```
1279
1280**描述:**
1281
1282创建指向OH_Drawing_TypographyCreate对象的指针
1283
1284@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1285
1286**参数:**
1287
1288| Name                       | 描述                                 |
1289| -------------------------- | ------------------------------------ |
1290| OH_Drawing_TypographyStyle | 指向OH_Drawing_TypographyStyle的指针 |
1291| OH_Drawing_FontCollection  | 指向OH_Drawing_FontCollection的指针  |
1292
1293**返回:**
1294
1295指向新创建的OH_Drawing_TypographyCreate对象的指针
1296
1297**起始版本:**
1298
12998
1300
1301
1302### OH_Drawing_CreateTypographyStyle()
1303
1304
1305```
1306OH_Drawing_TypographyStyle* OH_Drawing_CreateTypographyStyle (void )
1307```
1308
1309**描述:**
1310
1311创建OH_Drawing_TypographyStyle
1312
1313@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1314
1315**返回:**
1316
1317指向创建的OH_Drawing_TypographyStyle对象的指针
1318
1319**起始版本:**
1320
13218
1322
1323
1324### OH_Drawing_DestroyFontCollection()
1325
1326
1327```
1328void OH_Drawing_DestroyFontCollection (OH_Drawing_FontCollection * )
1329```
1330
1331**描述:**
1332
1333释放被OH_Drawing_FontCollection对象占据的内存
1334
1335@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1336
1337**参数:**
1338
1339| Name                      | 描述                                    |
1340| ------------------------- | --------------------------------------- |
1341| OH_Drawing_FontCollection | 指向OH_Drawing_FontCollection对象的指针 |
1342
1343**起始版本:**
1344
13458
1346
1347
1348### OH_Drawing_DestroyTextStyle()
1349
1350
1351```
1352void OH_Drawing_DestroyTextStyle (OH_Drawing_TextStyle * )
1353```
1354
1355**描述:**
1356
1357释放被OH_Drawing_TextStyle对象占据的内存
1358
1359@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1360
1361**参数:**
1362
1363| Name                 | 描述                               |
1364| -------------------- | ---------------------------------- |
1365| OH_Drawing_TextStyle | 指向OH_Drawing_TextStyle对象的指针 |
1366
1367**起始版本:**
1368
13698
1370
1371
1372### OH_Drawing_DestroyTypography()
1373
1374
1375```
1376void OH_Drawing_DestroyTypography (OH_Drawing_Typography * )
1377```
1378
1379**描述:**
1380
1381释放OH_Drawing_Typography对象占据的内存
1382
1383@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1384
1385**参数:**
1386
1387| Name                  | 描述                                |
1388| --------------------- | ----------------------------------- |
1389| OH_Drawing_Typography | 指向OH_Drawing_Typography对象的指针 |
1390
1391**起始版本:**
1392
13938
1394
1395
1396### OH_Drawing_DestroyTypographyHandler()
1397
1398
1399```
1400void OH_Drawing_DestroyTypographyHandler (OH_Drawing_TypographyCreate * )
1401```
1402
1403**描述:**
1404
1405释放被OH_Drawing_TypographyCreate对象占据的内存
1406
1407@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1408
1409**参数:**
1410
1411| Name                        | 描述                                      |
1412| --------------------------- | ----------------------------------------- |
1413| OH_Drawing_TypographyCreate | 指向OH_Drawing_TypographyCreate对象的指针 |
1414
1415**起始版本:**
1416
14178
1418
1419
1420### OH_Drawing_DestroyTypographyStyle()
1421
1422
1423```
1424void OH_Drawing_DestroyTypographyStyle (OH_Drawing_TypographyStyle * )
1425```
1426
1427**描述:**
1428
1429释放被OH_Drawing_TypographyStyle对象占据的内存
1430
1431@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1432
1433**参数:**
1434
1435| Name                       | 描述                                     |
1436| -------------------------- | ---------------------------------------- |
1437| OH_Drawing_TypographyStyle | 指向OH_Drawing_TypographyStyle对象的指针 |
1438
1439**起始版本:**
1440
14418
1442
1443
1444### OH_Drawing_PathArcTo()
1445
1446
1447```
1448void OH_Drawing_PathArcTo (OH_Drawing_Path * , float x1, float y1, float x2, float y2, float startDeg, float sweepDeg )
1449```
1450
1451**描述:**
1452
1453给路径添加一段弧线,绘制弧线的方式为角度弧,该方式首先会指定一个矩形边框,矩形边框会包裹椭圆, 然后会指定一个起始角度和扫描度数,从起始角度扫描截取的椭圆周长一部分即为绘制的弧线。另外会默认添加一条从路径的最后点位置到弧线起始点位置的线段
1454
1455@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1456
1457**参数:**
1458
1459| Name            | 描述                                     |
1460| --------------- | ---------------------------------------- |
1461| OH_Drawing_Path | 参数为一个指向路径对象的指针             |
1462| x1              | 参数为包围椭圆的矩形左上角点位置的横坐标 |
1463| y1              | 参数为包围椭圆的矩形左上角点位置的纵坐标 |
1464| x2              | 参数为包围椭圆的矩形右下角点位置的横坐标 |
1465| y2              | 参数为包围椭圆的矩形右下角点位置的纵坐标 |
1466| startDeg        | 参数为起始的角度                         |
1467| sweepDeg        | 参数为扫描的度数                         |
1468
1469**起始版本:**
1470
14718
1472
1473
1474### OH_Drawing_PathClose()
1475
1476
1477```
1478void OH_Drawing_PathClose (OH_Drawing_Path * )
1479```
1480
1481**描述:**
1482
1483函数用于闭合路径,会添加一条从路径起点位置到最后点位置的线段
1484
1485@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1486
1487**参数:**
1488
1489| Name            | 描述                         |
1490| --------------- | ---------------------------- |
1491| OH_Drawing_Path | 参数为一个指向路径对象的指针 |
1492
1493**起始版本:**
1494
14958
1496
1497
1498### OH_Drawing_PathCreate()
1499
1500
1501```
1502OH_Drawing_Path* OH_Drawing_PathCreate (void )
1503```
1504
1505**描述:**
1506
1507创建一个路径对象
1508
1509@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1510
1511**返回:**
1512
1513函数会返回一个指针,指针指向创建的路径对象
1514
1515**起始版本:**
1516
15178
1518
1519
1520### OH_Drawing_PathCubicTo()
1521
1522
1523```
1524void OH_Drawing_PathCubicTo (OH_Drawing_Path * , float ctrlX1, float ctrlY1, float ctrlX2, float ctrlY2, float endX, float endY )
1525```
1526
1527**描述:**
1528
1529添加一条从路径最后点位置到目标点位置的三阶贝塞尔圆滑曲线
1530
1531@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1532
1533**参数:**
1534
1535| Name            | 描述                           |
1536| --------------- | ------------------------------ |
1537| OH_Drawing_Path | 参数为一个指向路径对象的指针   |
1538| ctrlX1          | 参数为第一个控制点位置的横坐标 |
1539| ctrlY1          | 参数为第一个控制点位置的纵坐标 |
1540| ctrlX2          | 参数为第二个控制点位置的横坐标 |
1541| ctrlY2          | 参数为第二个控制点位置的纵坐标 |
1542| endX            | 参数为目标点位置的横坐标       |
1543| endY            | 参数为目标点位置的纵坐标       |
1544
1545**起始版本:**
1546
15478
1548
1549
1550### OH_Drawing_PathDestroy()
1551
1552
1553```
1554void OH_Drawing_PathDestroy (OH_Drawing_Path * )
1555```
1556
1557**描述:**
1558
1559销毁路径对象并回收该对象占有的内存
1560
1561@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1562
1563**参数:**
1564
1565| Name            | 描述                         |
1566| --------------- | ---------------------------- |
1567| OH_Drawing_Path | 参数为一个指向路径对象的指针 |
1568
1569**起始版本:**
1570
15718
1572
1573
1574### OH_Drawing_PathLineTo()
1575
1576
1577```
1578void OH_Drawing_PathLineTo (OH_Drawing_Path * , float x, float y )
1579```
1580
1581**描述:**
1582
1583添加一条从路径的最后点位置到目标点位置的线段
1584
1585@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1586
1587**参数:**
1588
1589| Name            | 描述                         |
1590| --------------- | ---------------------------- |
1591| OH_Drawing_Path | 参数为一个指向路径对象的指针 |
1592| x               | 参数为目标点的横坐标         |
1593| y               | 参数为目标点的纵坐标         |
1594
1595**起始版本:**
1596
15978
1598
1599
1600### OH_Drawing_PathMoveTo()
1601
1602
1603```
1604void OH_Drawing_PathMoveTo (OH_Drawing_Path * , float x, float y )
1605```
1606
1607**描述:**
1608
1609设置自定义路径的起始点位置
1610
1611@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1612
1613**参数:**
1614
1615| Name            | 描述                         |
1616| --------------- | ---------------------------- |
1617| OH_Drawing_Path | 参数为一个指向路径对象的指针 |
1618| x               | 参数为起始点的横坐标         |
1619| y               | 参数为起始点的纵坐标         |
1620
1621**起始版本:**
1622
16238
1624
1625
1626### OH_Drawing_PathQuadTo()
1627
1628
1629```
1630void OH_Drawing_PathQuadTo (OH_Drawing_Path * , float ctrlX, float ctrlY, float endX, float endY )
1631```
1632
1633**描述:**
1634
1635添加一条从路径最后点位置到目标点位置的二阶贝塞尔圆滑曲线
1636
1637@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1638
1639**参数:**
1640
1641| Name            | 描述                         |
1642| --------------- | ---------------------------- |
1643| OH_Drawing_Path | 参数为一个指向路径对象的指针 |
1644| ctrlX           | 参数为控制点位置的横坐标     |
1645| ctrlY           | 参数为控制点位置的纵坐标     |
1646| endX            | 参数为目标点位置的横坐标     |
1647| endY            | 参数为目标点位置的纵坐标     |
1648
1649**起始版本:**
1650
16518
1652
1653
1654### OH_Drawing_PathReset()
1655
1656
1657```
1658void OH_Drawing_PathReset (OH_Drawing_Path * )
1659```
1660
1661**描述:**
1662
1663重置自定义路径数据
1664
1665@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1666
1667**参数:**
1668
1669| Name            | 描述                         |
1670| --------------- | ---------------------------- |
1671| OH_Drawing_Path | 参数为一个指向路径对象的指针 |
1672
1673**起始版本:**
1674
16758
1676
1677
1678### OH_Drawing_PenCreate()
1679
1680
1681```
1682OH_Drawing_Pen* OH_Drawing_PenCreate (void )
1683```
1684
1685**描述:**
1686
1687创建一个画笔对象
1688
1689@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1690
1691**返回:**
1692
1693函数会返回一个指针,指针指向创建的画笔对象
1694
1695**起始版本:**
1696
16978
1698
1699
1700### OH_Drawing_PenDestroy()
1701
1702
1703```
1704void OH_Drawing_PenDestroy (OH_Drawing_Pen * )
1705```
1706
1707**描述:**
1708
1709销毁画笔对象并回收该对象占有的内存
1710
1711@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1712
1713**参数:**
1714
1715| Name           | 描述                         |
1716| -------------- | ---------------------------- |
1717| OH_Drawing_Pen | 参数是一个指向画笔对象的指针 |
1718
1719**起始版本:**
1720
17218
1722
1723
1724### OH_Drawing_PenGetCap()
1725
1726
1727```
1728OH_Drawing_PenLineCapStyle OH_Drawing_PenGetCap (const OH_Drawing_Pen * )
1729```
1730
1731**描述:**
1732
1733获取画笔笔帽的样式
1734
1735@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1736
1737**参数:**
1738
1739| Name           | 描述                         |
1740| -------------- | ---------------------------- |
1741| OH_Drawing_Pen | 参数是一个指向画笔对象的指针 |
1742
1743**返回:**
1744
1745函数返回画笔笔帽样式
1746
1747**起始版本:**
1748
17498
1750
1751
1752### OH_Drawing_PenGetColor()
1753
1754
1755```
1756uint32_t OH_Drawing_PenGetColor (const OH_Drawing_Pen * )
1757```
1758
1759**描述:**
1760
1761获取画笔的颜色属性,颜色属性描述了画笔绘制图形轮廓时使用的颜色,用一个32位(ARGB)的变量表示
1762
1763@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1764
1765**参数:**
1766
1767| Name           | 描述                         |
1768| -------------- | ---------------------------- |
1769| OH_Drawing_Pen | 参数是一个指向画笔对象的指针 |
1770
1771**返回:**
1772
1773函数返回一个描述颜色的32位(ARGB)变量
1774
1775**起始版本:**
1776
17778
1778
1779
1780### OH_Drawing_PenGetJoin()
1781
1782
1783```
1784OH_Drawing_PenLineJoinStyle OH_Drawing_PenGetJoin (const OH_Drawing_Pen * )
1785```
1786
1787**描述:**
1788
1789获取画笔绘制折线转角的样式
1790
1791@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1792
1793**参数:**
1794
1795| Name           | 描述                         |
1796| -------------- | ---------------------------- |
1797| OH_Drawing_Pen | 参数是一个指向画笔对象的指针 |
1798
1799**返回:**
1800
1801函数返回折线转角的样式
1802
1803**起始版本:**
1804
18058
1806
1807
1808### OH_Drawing_PenGetMiterLimit()
1809
1810
1811```
1812float OH_Drawing_PenGetMiterLimit (const OH_Drawing_Pen * )
1813```
1814
1815**描述:**
1816
1817获取折线尖角的限制值,当画笔绘制一条折线,转角类型设置为尖角时,那么此时该属性用于限制出现尖角的长度范围,如果超出则平角显示,不超出依然为尖角
1818
1819@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1820
1821**参数:**
1822
1823| Name           | 描述                         |
1824| -------------- | ---------------------------- |
1825| OH_Drawing_Pen | 参数是一个指向画笔对象的指针 |
1826
1827**返回:**
1828
1829函数返回尖角的限制值
1830
1831**起始版本:**
1832
18338
1834
1835
1836### OH_Drawing_PenGetWidth()
1837
1838
1839```
1840float OH_Drawing_PenGetWidth (const OH_Drawing_Pen * )
1841```
1842
1843**描述:**
1844
1845获取画笔的厚度属性,厚度属性描述了画笔绘制图形轮廓的宽度
1846
1847@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1848
1849**参数:**
1850
1851| Name           | 描述                         |
1852| -------------- | ---------------------------- |
1853| OH_Drawing_Pen | 参数是一个指向画笔对象的指针 |
1854
1855**返回:**
1856
1857函数返回画笔的厚度
1858
1859**起始版本:**
1860
18618
1862
1863
1864### OH_Drawing_PenIsAntiAlias()
1865
1866
1867```
1868bool OH_Drawing_PenIsAntiAlias (const OH_Drawing_Pen * )
1869```
1870
1871**描述:**
1872
1873获取画笔是否设置抗锯齿属性,如果为真则说明画笔会启用抗锯齿功能,在绘制图形时会对图形的边缘像素进行半透明的模糊处理
1874
1875@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1876
1877**参数:**
1878
1879| Name           | 描述                         |
1880| -------------- | ---------------------------- |
1881| OH_Drawing_Pen | 参数是一个指向画笔对象的指针 |
1882
1883**返回:**
1884
1885函数返回画笔对象是否设置抗锯齿属性,返回真则设置了抗锯齿,返回假则没有设置抗锯齿
1886
1887**起始版本:**
1888
18898
1890
1891
1892### OH_Drawing_PenSetAntiAlias()
1893
1894
1895```
1896void OH_Drawing_PenSetAntiAlias (OH_Drawing_Pen * , bool  )
1897```
1898
1899**描述:**
1900
1901设置画笔的抗锯齿属性,设置为真则画笔在绘制图形时会对图形的边缘像素进行半透明的模糊处理
1902
1903@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1904
1905**参数:**
1906
1907| Name           | 描述                                   |
1908| -------------- | -------------------------------------- |
1909| OH_Drawing_Pen | 参数是一个指向画笔对象的指针           |
1910| bool           | 参数真为抗锯齿,参数假则不做抗锯齿处理 |
1911
1912**起始版本:**
1913
19148
1915
1916
1917### OH_Drawing_PenSetCap()
1918
1919
1920```
1921void OH_Drawing_PenSetCap (OH_Drawing_Pen * , OH_Drawing_PenLineCapStyle  )
1922```
1923
1924**描述:**
1925
1926设置画笔笔帽样式
1927
1928@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1929
1930**参数:**
1931
1932| Name                       | 描述                             |
1933| -------------------------- | -------------------------------- |
1934| OH_Drawing_Pen             | 参数是一个指向画笔对象的指针     |
1935| OH_Drawing_PenLineCapStyle | 参数是一个描述画笔笔帽样式的变量 |
1936
1937**起始版本:**
1938
19398
1940
1941
1942### OH_Drawing_PenSetColor()
1943
1944
1945```
1946void OH_Drawing_PenSetColor (OH_Drawing_Pen * , uint32_t color )
1947```
1948
1949**描述:**
1950
1951设置画笔的颜色属性,颜色属性描述了画笔绘制图形轮廓时使用的颜色,用一个32位(ARGB)的变量表示
1952
1953@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1954
1955**参数:**
1956
1957| Name           | 描述                                 |
1958| -------------- | ------------------------------------ |
1959| OH_Drawing_Pen | 参数是一个指向画笔对象的指针         |
1960| color          | 参数是一个描述颜色的32位(ARGB)变量 |
1961
1962**起始版本:**
1963
19648
1965
1966
1967### OH_Drawing_PenSetJoin()
1968
1969
1970```
1971void OH_Drawing_PenSetJoin (OH_Drawing_Pen * , OH_Drawing_PenLineJoinStyle  )
1972```
1973
1974**描述:**
1975
1976设置画笔绘制转角的样式
1977
1978@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1979
1980**参数:**
1981
1982| Name                        | 描述                             |
1983| --------------------------- | -------------------------------- |
1984| OH_Drawing_Pen              | 参数是一个指向画笔对象的指针     |
1985| OH_Drawing_PenLineJoinStyle | 参数值一个描述折线转角样式的变量 |
1986
1987**起始版本:**
1988
19898
1990
1991
1992### OH_Drawing_PenSetMiterLimit()
1993
1994
1995```
1996void OH_Drawing_PenSetMiterLimit (OH_Drawing_Pen * , float miter )
1997```
1998
1999**描述:**
2000
2001设置折线尖角的限制值,当画笔绘制一条折线,转角类型设置为尖角时,那么此时该属性用于限制出现尖角的长度范围,如果超出则平角显示,不超出依然为尖角
2002
2003@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2004
2005**参数:**
2006
2007| Name           | 描述                           |
2008| -------------- | ------------------------------ |
2009| OH_Drawing_Pen | 参数是一个指向画笔对象的指针   |
2010| miter          | 参数是一个描述尖角限制值的变量 |
2011
2012**起始版本:**
2013
20148
2015
2016
2017### OH_Drawing_PenSetWidth()
2018
2019
2020```
2021void OH_Drawing_PenSetWidth (OH_Drawing_Pen * , float width )
2022```
2023
2024**描述:**
2025
2026设置画笔的厚度属性,厚度属性描述了画笔绘制图形轮廓的宽度
2027
2028@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2029
2030**参数:**
2031
2032| Name           | 描述                         |
2033| -------------- | ---------------------------- |
2034| OH_Drawing_Pen | 参数是一个指向画笔对象的指针 |
2035| width          | 参数是一个描述画笔厚度的变量 |
2036
2037**起始版本:**
2038
20398
2040
2041
2042### OH_Drawing_SetTextStyleBaseLine()
2043
2044
2045```
2046void OH_Drawing_SetTextStyleBaseLine (OH_Drawing_TextStyle * , int  )
2047```
2048
2049**描述:**
2050
2051设置字体基线位置
2052
2053@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2054
2055**参数:**
2056
2057| Name                 | 描述                               |
2058| -------------------- | ---------------------------------- |
2059| OH_Drawing_TextStyle | 指向OH_Drawing_TextStyle对象的指针 |
2060| int                  | OH_Drawing_TextBaseline枚举类型    |
2061
2062**起始版本:**
2063
20648
2065
2066
2067### OH_Drawing_SetTextStyleColor()
2068
2069
2070```
2071void OH_Drawing_SetTextStyleColor (OH_Drawing_TextStyle * , uint32_t  )
2072```
2073
2074**描述:**
2075
2076设置文本颜色
2077
2078@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2079
2080**参数:**
2081
2082| Name                 | 描述                               |
2083| -------------------- | ---------------------------------- |
2084| OH_Drawing_TextStyle | 指向OH_Drawing_TextStyle对象的指针 |
2085| uint32_t             | 颜色                               |
2086
2087**起始版本:**
2088
20898
2090
2091
2092### OH_Drawing_SetTextStyleDecoration()
2093
2094
2095```
2096void OH_Drawing_SetTextStyleDecoration (OH_Drawing_TextStyle * , int  )
2097```
2098
2099**描述:**
2100
2101设置装饰
2102
2103@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2104
2105**参数:**
2106
2107| Name                 | 描述                               |
2108| -------------------- | ---------------------------------- |
2109| OH_Drawing_TextStyle | 指向OH_Drawing_TextStyle对象的指针 |
2110| int                  | OH_Drawing_TextDecoration枚举类型  |
2111
2112**起始版本:**
2113
21148
2115
2116
2117### OH_Drawing_SetTextStyleDecorationColor()
2118
2119
2120```
2121void OH_Drawing_SetTextStyleDecorationColor (OH_Drawing_TextStyle * , uint32_t  )
2122```
2123
2124**描述:**
2125
2126设置装饰颜色
2127
2128@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2129
2130**参数:**
2131
2132| Name                 | 描述                               |
2133| -------------------- | ---------------------------------- |
2134| OH_Drawing_TextStyle | 指向OH_Drawing_TextStyle对象的指针 |
2135| uint32_t             | 颜色                               |
2136
2137**起始版本:**
2138
21398
2140
2141
2142### OH_Drawing_SetTextStyleFontFamilies()
2143
2144
2145```
2146void OH_Drawing_SetTextStyleFontFamilies (OH_Drawing_TextStyle * , int , const char * fontFamilies[] )
2147```
2148
2149**描述:**
2150
2151设置字体类型
2152
2153@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2154
2155**参数:**
2156
2157| Name                 | 描述                               |
2158| -------------------- | ---------------------------------- |
2159| OH_Drawing_TextStyle | 指向OH_Drawing_TextStyle对象的指针 |
2160| int                  | 字体名称数量                       |
2161| fontFamilies         | 指向字体类型的指针数组             |
2162
2163**起始版本:**
2164
21658
2166
2167
2168### OH_Drawing_SetTextStyleFontHeight()
2169
2170
2171```
2172void OH_Drawing_SetTextStyleFontHeight (OH_Drawing_TextStyle * , double  )
2173```
2174
2175**描述:**
2176
2177设置字体高度
2178
2179@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2180
2181**参数:**
2182
2183| Name                 | 描述                               |
2184| -------------------- | ---------------------------------- |
2185| OH_Drawing_TextStyle | 指向OH_Drawing_TextStyle对象的指针 |
2186| double               | 字体高度                           |
2187
2188**起始版本:**
2189
21908
2191
2192
2193### OH_Drawing_SetTextStyleFontSize()
2194
2195
2196```
2197void OH_Drawing_SetTextStyleFontSize (OH_Drawing_TextStyle * , double  )
2198```
2199
2200**描述:**
2201
2202设置字号
2203
2204@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2205
2206**参数:**
2207
2208| Name                 | 描述                               |
2209| -------------------- | ---------------------------------- |
2210| OH_Drawing_TextStyle | 指向OH_Drawing_TextStyle对象的指针 |
2211| double               | 字号                               |
2212
2213**起始版本:**
2214
22158
2216
2217
2218### OH_Drawing_SetTextStyleFontStyle()
2219
2220
2221```
2222void OH_Drawing_SetTextStyleFontStyle (OH_Drawing_TextStyle * , int  )
2223```
2224
2225**描述:**
2226
2227设置字体风格
2228
2229@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2230
2231**参数:**
2232
2233| Name                 | 描述                               |
2234| -------------------- | ---------------------------------- |
2235| OH_Drawing_TextStyle | 指向OH_Drawing_TextStyle对象的指针 |
2236| int                  | OH_Drawing_FontStyle枚举类型       |
2237
2238**起始版本:**
2239
22408
2241
2242
2243### OH_Drawing_SetTextStyleFontWeight()
2244
2245
2246```
2247void OH_Drawing_SetTextStyleFontWeight (OH_Drawing_TextStyle * , int  )
2248```
2249
2250**描述:**
2251
2252设置字重
2253
2254@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2255
2256**参数:**
2257
2258| Name                 | 描述                               |
2259| -------------------- | ---------------------------------- |
2260| OH_Drawing_TextStyle | 指向OH_Drawing_TextStyle对象的指针 |
2261| int                  | OH_Drawing_FontWeight枚举类型      |
2262
2263**起始版本:**
2264
22658
2266
2267
2268### OH_Drawing_SetTextStyleLocale()
2269
2270
2271```
2272void OH_Drawing_SetTextStyleLocale (OH_Drawing_TextStyle * , const char *  )
2273```
2274
2275**描述:**
2276
2277设置语言区域
2278
2279@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2280
2281**参数:**
2282
2283| Name                 | 描述                               |
2284| -------------------- | ---------------------------------- |
2285| OH_Drawing_TextStyle | 指向OH_Drawing_TextStyle对象的指针 |
2286| char                 | 语言区域,数据类型为指向char的指针 |
2287
2288**起始版本:**
2289
22908
2291
2292
2293### OH_Drawing_SetTypographyTextAlign()
2294
2295
2296```
2297void OH_Drawing_SetTypographyTextAlign (OH_Drawing_TypographyStyle * , int  )
2298```
2299
2300**描述:**
2301
2302设置文本对齐方式
2303
2304@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2305
2306**参数:**
2307
2308| Name                       | 描述                                     |
2309| -------------------------- | ---------------------------------------- |
2310| OH_Drawing_TypographyStyle | 指向OH_Drawing_TypographyStyle对象的指针 |
2311| int                        | OH_Drawing_TextAlign枚举类型             |
2312
2313**起始版本:**
2314
23158
2316
2317
2318### OH_Drawing_SetTypographyTextDirection()
2319
2320
2321```
2322void OH_Drawing_SetTypographyTextDirection (OH_Drawing_TypographyStyle * , int  )
2323```
2324
2325**描述:**
2326
2327设置文本方向
2328
2329@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2330
2331**参数:**
2332
2333| Name                       | 描述                                     |
2334| -------------------------- | ---------------------------------------- |
2335| OH_Drawing_TypographyStyle | 指向OH_Drawing_TypographyStyle对象的指针 |
2336| int                        | OH_Drawing_TextDirection枚举类型         |
2337
2338**起始版本:**
2339
23408
2341
2342
2343### OH_Drawing_SetTypographyTextMaxLines()
2344
2345
2346```
2347void OH_Drawing_SetTypographyTextMaxLines (OH_Drawing_TypographyStyle * , int  )
2348```
2349
2350**描述:**
2351
2352设置文本最大行数
2353
2354@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2355
2356**参数:**
2357
2358| Name                       | 描述                                     |
2359| -------------------------- | ---------------------------------------- |
2360| OH_Drawing_TypographyStyle | 指向OH_Drawing_TypographyStyle对象的指针 |
2361| int                        | 最大行数                                 |
2362
2363**起始版本:**
2364
23658
2366
2367### OH_Drawing_TypographyGetAlphabeticBaseline()
2368
2369```
2370double OH_Drawing_TypographyGetAlphabeticBaseline (OH_Drawing_Typography * )
2371```
2372
2373**描述:**
2374
2375获取字母文字基线
2376
2377@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2378
2379**参数:**
2380
2381| 名称                  | 描述                                |
2382| --------------------- | ----------------------------------- |
2383| OH_Drawing_Typography | 指向OH_Drawing_Typography对象的指针 |
2384
2385**返回:**
2386
2387返回字母文字基线
2388
2389**起始版本:**
2390
23919
2392
2393### OH_Drawing_TypographyGetHeight()
2394
2395```
2396double OH_Drawing_TypographyGetHeight (OH_Drawing_Typography * )
2397```
2398
2399**描述:**
2400
2401获取高度
2402
2403@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2404
2405**参数:**
2406
2407| 名称                  | 描述                                |
2408| --------------------- | ----------------------------------- |
2409| OH_Drawing_Typography | 指向OH_Drawing_Typography对象的指针 |
2410
2411**返回:**
2412
2413返回高度
2414
2415**起始版本:**
2416
24179
2418
2419### OH_Drawing_TypographyGetIdeographicBaseline()
2420
2421```
2422double OH_Drawing_TypographyGetIdeographicBaseline (OH_Drawing_Typography * )
2423```
2424
2425**描述:**
2426
2427获取表意文字基线
2428
2429@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2430
2431**参数:**
2432
2433| 名称                  | 描述                                |
2434| --------------------- | ----------------------------------- |
2435| OH_Drawing_Typography | 指向OH_Drawing_Typography对象的指针 |
2436
2437**返回:**
2438
2439返回表意文字基线
2440
2441**起始版本:**
2442
24439
2444
2445### OH_Drawing_TypographyGetLongestLine()
2446
2447**描述:**
2448
2449获取最长行
2450
2451@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2452
2453**参数:**
2454
2455| 名称                  | 描述                                |
2456| --------------------- | ----------------------------------- |
2457| OH_Drawing_Typography | 指向OH_Drawing_Typography对象的指针 |
2458
2459**返回:**
2460
2461返回最长行
2462
2463**起始版本:**
2464
24659
2466
2467### OH_Drawing_TypographyGetMaxIntrinsicWidth()
2468
2469```
2470double OH_Drawing_TypographyGetMaxIntrinsicWidth (OH_Drawing_Typography * )
2471```
2472
2473**描述:**
2474
2475获取最大固有宽度
2476
2477@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2478
2479**参数:**
2480
2481| 名称                  | 描述                                |
2482| --------------------- | ----------------------------------- |
2483| OH_Drawing_Typography | 指向OH_Drawing_Typography对象的指针 |
2484
2485**返回:**
2486
2487返回最大固有宽度
2488
2489**起始版本:**
2490
24919
2492
2493### OH_Drawing_TypographyGetMaxWidth()
2494
2495```
2496double OH_Drawing_TypographyGetMaxWidth (OH_Drawing_Typography * )
2497```
2498
2499**描述:**
2500
2501获取最大宽度
2502
2503@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2504
2505**参数:**
2506
2507| 名称                  | 描述                                |
2508| --------------------- | ----------------------------------- |
2509| OH_Drawing_Typography | 指向OH_Drawing_Typography对象的指针 |
2510
2511**返回:**
2512
2513返回最大宽度
2514
2515**起始版本:**
2516
25179
2518
2519### OH_Drawing_TypographyGetMinIntrinsicWidth()
2520
2521```
2522double OH_Drawing_TypographyGetMinIntrinsicWidth (OH_Drawing_Typography * )
2523```
2524
2525**描述:**
2526
2527获取最小固有宽度
2528
2529@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2530
2531**参数:**
2532
2533| 名称                  | 描述                                |
2534| --------------------- | ----------------------------------- |
2535| OH_Drawing_Typography | 指向OH_Drawing_Typography对象的指针 |
2536
2537**返回:**
2538
2539返回最小固有宽度
2540
2541**起始版本:**
2542
25439
2544
2545### OH_Drawing_TypographyHandlerAddText()
2546
2547
2548```
2549void OH_Drawing_TypographyHandlerAddText (OH_Drawing_TypographyCreate * , const char *  )
2550```
2551
2552**描述:**
2553
2554设置文本内容
2555
2556@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2557
2558**参数:**
2559
2560| Name                        | 描述                                      |
2561| --------------------------- | ----------------------------------------- |
2562| OH_Drawing_TypographyCreate | 指向OH_Drawing_TypographyCreate对象的指针 |
2563| char                        | 指向文本内容的指针                        |
2564
2565**起始版本:**
2566
25678
2568
2569
2570### OH_Drawing_TypographyHandlerPopTextStyle()
2571
2572
2573```
2574void OH_Drawing_TypographyHandlerPopTextStyle (OH_Drawing_TypographyCreate * )
2575```
2576
2577**描述:**
2578
2579排版弹出
2580
2581@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2582
2583**参数:**
2584
2585| Name                        | 描述                                      |
2586| --------------------------- | ----------------------------------------- |
2587| OH_Drawing_TypographyCreate | 指向OH_Drawing_TypographyCreate对象的指针 |
2588
2589**起始版本:**
2590
25918
2592
2593
2594### OH_Drawing_TypographyHandlerPushTextStyle()
2595
2596
2597```
2598void OH_Drawing_TypographyHandlerPushTextStyle (OH_Drawing_TypographyCreate * , OH_Drawing_TextStyle *  )
2599```
2600
2601**描述:**
2602
2603设置排版风格
2604
2605@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2606
2607**参数:**
2608
2609| Name                        | 描述                                      |
2610| --------------------------- | ----------------------------------------- |
2611| OH_Drawing_TypographyCreate | 指向OH_Drawing_TypographyCreate对象的指针 |
2612| OH_Drawing_TextStyle        | 指向OH_Drawing_TextStyle对象的指针        |
2613
2614**起始版本:**
2615
26168
2617
2618
2619### OH_Drawing_TypographyLayout()
2620
2621
2622```
2623void OH_Drawing_TypographyLayout (OH_Drawing_Typography * , double  )
2624```
2625
2626**描述:**
2627
2628排版布局
2629
2630@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2631
2632**参数:**
2633
2634| Name                  | 描述                                |
2635| --------------------- | ----------------------------------- |
2636| OH_Drawing_Typography | 指向OH_Drawing_Typography对象的指针 |
2637| double                | 文本最大宽度                        |
2638
2639**起始版本:**
2640
26418
2642
2643
2644### OH_Drawing_TypographyPaint()
2645
2646
2647```
2648void OH_Drawing_TypographyPaint (OH_Drawing_Typography * , OH_Drawing_Canvas * , double , double  )
2649```
2650
2651**描述:**
2652
2653显示文本
2654
2655@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2656
2657**参数:**
2658
2659| Name                  | 描述                                |
2660| --------------------- | ----------------------------------- |
2661| OH_Drawing_Typography | 指向OH_Drawing_Typography对象的指针 |
2662| OH_Drawing_Canvas     | 指向OH_Drawing_Canvas对象的指针     |
2663| double                | x坐标                               |
2664| double                | y坐标                               |
2665
2666**起始版本:**
2667
26688