HarmonyOS API:Drawing
版本:v3.1 Beta
Drawing
更新时间: 2023-02-17 09:19
Drawing模块提供包括2D图形渲染、文字绘制和图片显示等功能函数。
提供2D绘制功能。
@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
起始版本:
8
汇总
文件
文件名称 | 描述 |
文件中定义了与位图相关的功能函数。 引用文件:<native_drawing/drawing_bitmap.h> | |
文件中定义了与画刷相关的功能函数。 引用文件:<native_drawing/drawing_brush.h> | |
文件中定义了与画布相关的功能函数。 引用文件:<native_drawing/drawing_canvas.h> | |
文件中定义了与颜色相关的功能函数。 引用文件:<native_drawing/drawing_color.h> | |
定义绘制模块中与fontCollection相关的函数。 引用文件:<native_drawing/drawing_font_collection.h> | |
文件中定义了与自定义路径相关的功能函数。 引用文件:<native_drawing/drawing_path.h> | |
文件中定义了与画笔相关的功能函数。 引用文件:<native_drawing/drawing_pen.h> | |
提供2d drawing文本相关的数据结构声明。 引用文件:<native_drawing/drawing_text_declaration.h> | |
定义绘制模块中排版相关的函数。 引用文件:<native_drawing/drawing_text_typography.h> | |
文件中定义了用于绘制2d图形的数据类型,包括画布、画笔、画刷、位图和路径。 引用文件:<native_drawing/drawing_types.h> |
结构体
结构体名称 | 描述 |
结构体用于描述位图像素的格式,包括颜色类型和透明度类型。 |
类型定义
类型定义名称 | 描述 |
OH_Drawing_FontCollection用于加载字体。 | |
OH_Drawing_Typography用于管理排版的布局和显示等。 | |
OH_Drawing_TextStyle用于管理字体颜色、装饰等。 | |
OH_Drawing_TypographyStyle用于管理排版风格,如文字方向等。 | |
OH_Drawing_TypographyCreate用于创建OH_Drawing_Typography。 | |
OH_Drawing_Canvas定义为一块矩形的画布,可以结合画笔和画刷在上面绘制各种形状、图片和文字。 | |
OH_Drawing_Pen定义为画笔,画笔用于描述绘制图形轮廓的样式和颜色。 | |
OH_Drawing_Brush定义为画刷,画刷用于描述填充图形的样式和颜色。 | |
OH_Drawing_Path定义为路径,路径用于自定义各种形状。 | |
OH_Drawing_Bitmap定义为位图,位图是一块内存,内存中包含了描述一张图片的像素数据。 |
枚举
枚举名称 | 描述 |
OH_Drawing_PenLineCapStyle { LINE_FLAT_CAP, LINE_SQUARE_CAP, LINE_ROUND_CAP } | 枚举集合定义了画笔笔帽的样式,即画笔在绘制线段时,在线段头尾端点的样式。 |
OH_Drawing_PenLineJoinStyle { LINE_MITER_JOIN, LINE_ROUND_JOIN, LINE_BEVEL_JOIN } | 枚举集合定义了线条转角的样式,即画笔在绘制折线段时,在折线转角处的样式。 |
OH_Drawing_TextDirection { TEXT_DIRECTION_RTL, TEXT_DIRECTION_LTR } | 文字方向。 |
OH_Drawing_TextAlign { TEXT_ALIGN_LEFT, TEXT_ALIGN_RIGHT, TEXT_ALIGN_CENTER, TEXT_ALIGN_JUSTIFY, TEXT_ALIGN_START, TEXT_ALIGN_END } | 文字对齐方式。 |
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 } | 字重。 |
OH_Drawing_TextBaseline { TEXT_BASELINE_ALPHABETIC, TEXT_BASELINE_IDEOGRAPHIC } | 基线位置。 |
OH_Drawing_TextDecoration { TEXT_DECORATION_NONE = 0x0, TEXT_DECORATION_UNDERLINE = 0x1, TEXT_DECORATION_OVERLINE = 0x2, TEXT_DECORATION_LINE_THROUGH = 0x4 } | 文本装饰。 |
OH_Drawing_FontStyle { FONT_STYLE_NORMAL, FONT_STYLE_ITALIC } | 区分字体是否为斜体。 |
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用于描述位图像素的存储格式。 |
OH_Drawing_AlphaFormat { ALPHA_FORMAT_UNKNOWN, ALPHA_FORMAT_OPAQUE, ALPHA_FORMAT_PREMUL, ALPHA_FORMAT_UNPREMUL } | OH_Drawing_AlphaFormat用于描述位图像素的透明度分量。 |
函数
类型定义说明
OH_Drawing_Bitmap
typedef struct OH_Drawing_Bitmap OH_Drawing_Bitmap
描述:
OH_Drawing_Bitmap定义为位图,位图是一块内存,内存中包含了描述一张图片的像素数据
起始版本:
8
OH_Drawing_Brush
typedef struct OH_Drawing_Brush OH_Drawing_Brush
描述:
OH_Drawing_Brush定义为画刷,画刷用于描述填充图形的样式和颜色
起始版本:
8
OH_Drawing_Canvas
typedef struct OH_Drawing_Canvas OH_Drawing_Canvas
描述:
OH_Drawing_Canvas定义为一块矩形的画布,可以结合画笔和画刷在上面绘制各种形状、图片和文字
起始版本:
8
OH_Drawing_FontCollection
typedef struct OH_Drawing_FontCollection OH_Drawing_FontCollection
描述:
OH_Drawing_FontCollection用于加载字体
起始版本:
8
OH_Drawing_Path
typedef struct OH_Drawing_Path OH_Drawing_Path
描述:
OH_Drawing_Path定义为路径,路径用于自定义各种形状
起始版本:
8
OH_Drawing_Pen
typedef struct OH_Drawing_Pen OH_Drawing_Pen
描述:
OH_Drawing_Pen定义为画笔,画笔用于描述绘制图形轮廓的样式和颜色
起始版本:
8
OH_Drawing_TextStyle
typedef struct OH_Drawing_TextStyle OH_Drawing_TextStyle
描述:
OH_Drawing_TextStyle用于管理字体颜色、装饰等
起始版本:
8
OH_Drawing_Typography
typedef struct OH_Drawing_Typography OH_Drawing_Typography
描述:
OH_Drawing_Typography用于管理排版的布局和显示等
起始版本:
8
OH_Drawing_TypographyCreate
typedef struct OH_Drawing_TypographyCreate OH_Drawing_TypographyCreate
描述:
OH_Drawing_TypographyCreate用于创建OH_Drawing_Typography
起始版本:
8
OH_Drawing_TypographyStyle
typedef struct OH_Drawing_TypographyStyle OH_Drawing_TypographyStyle
描述:
OH_Drawing_TypographyStyle用于管理排版风格,如文字方向等
起始版本:
8
枚举类型说明
OH_Drawing_AlphaFormat
enum OH_Drawing_AlphaFormat
描述:
OH_Drawing_AlphaFormat用于描述位图像素的透明度分量
枚举值 | 描述 |
ALPHA_FORMAT_UNKNOWN | 未知格式 |
ALPHA_FORMAT_OPAQUE | 位图无透明度 |
ALPHA_FORMAT_PREMUL | 每个像素的颜色组件由透明度分量预先乘以 |
ALPHA_FORMAT_UNPREMUL | 每个像素的颜色组件未由透明度分量预先乘以 |
起始版本:
8
OH_Drawing_ColorFormat
enum OH_Drawing_ColorFormat
描述:
OH_Drawing_ColorFormat用于描述位图像素的存储格式
枚举值 | 描述 |
COLOR_FORMAT_UNKNOWN | 未知格式. |
COLOR_FORMAT_ALPHA_8 | 每个像素用一个8位的量表示,8个位比特位表示透明度 |
COLOR_FORMAT_RGB_565 | 每个像素用一个16位的量表示,高位到低位依次是5个比特位表示红,6个比特位表示绿,5个比特位表示蓝 |
COLOR_FORMAT_ARGB_4444 | 每个像素用一个16位的量表示,高位到低位依次是4个比特位表示透明度,4个比特位表示红,4个比特位表示绿,4个比特位表示蓝 |
COLOR_FORMAT_RGBA_8888 | 每个像素用一个32位的量表示,高位到低位依次是8个比特位表示透明度,8个比特位表示红,8个比特位表示绿,8个比特位表示蓝 |
COLOR_FORMAT_BGRA_8888 | 每个像素用一个32位的量表示,高位到低位依次是8个比特位表示蓝,8个比特位表示绿,8个比特位表示红,8个比特位表示透明度 |
起始版本:
8
OH_Drawing_FontStyle
enum OH_Drawing_FontStyle
描述:
区分字体是否为斜体
枚举值 | 描述 |
FONT_STYLE_NORMAL | 非斜体 |
FONT_STYLE_ITALIC | 斜体 |
起始版本:
8
OH_Drawing_FontWeight
enum OH_Drawing_FontWeight
描述:
字重
枚举值 | 描述 |
FONT_WEIGHT_100 | 字重为thin |
FONT_WEIGHT_200 | 字重为extra-light |
FONT_WEIGHT_300 | 字重为light |
FONT_WEIGHT_400 | 字重为normal/regular |
FONT_WEIGHT_500 | 字重为medium |
FONT_WEIGHT_600 | 字重为semi-bold |
FONT_WEIGHT_700 | 字重为bold |
FONT_WEIGHT_800 | 字重为extra-bold |
FONT_WEIGHT_900 | 字重为black |
起始版本:
8
OH_Drawing_PenLineCapStyle
enum OH_Drawing_PenLineCapStyle
描述:
枚举集合定义了画笔笔帽的样式,即画笔在绘制线段时,在线段头尾端点的样式
枚举值 | 描述 |
LINE_FLAT_CAP | 没有笔帽样式,线条头尾端点处横切 |
LINE_SQUARE_CAP | 笔帽的样式为方框,线条的头尾端点处多出一个方框,方框宽度和线段一样宽,高度时线段厚度的一半 |
LINE_ROUND_CAP | 笔帽的样式为圆弧,线条的头尾端点处多出一个半圆弧,半圆的直径与线段厚度一致 |
起始版本:
8
OH_Drawing_PenLineJoinStyle
enum OH_Drawing_PenLineJoinStyle
描述:
枚举集合定义了线条转角的样式,即画笔在绘制折线段时,在折线转角处的样式
枚举值 | 描述 |
LINE_MITER_JOIN | 转角类型为尖角,如果折线角度比较小,则尖角会很长,需要使用限制值(miter limit)进行限制 |
LINE_ROUND_JOIN | 转角类型为圆头 |
LINE_BEVEL_JOIN | 转角类型为平头 |
起始版本:
8
OH_Drawing_TextAlign
enum OH_Drawing_TextAlign
描述:
文字对齐方式
枚举值 | 描述 |
TEXT_ALIGN_LEFT | 左对齐 |
TEXT_ALIGN_RIGHT | 右对齐 |
TEXT_ALIGN_CENTER | 居中对齐 |
TEXT_ALIGN_JUSTIFY | 两端对齐,即紧靠左和右边缘,中间单词空隙由空格填充 最后一行除外 |
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相同。 |
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相同。 |
起始版本:
8
OH_Drawing_TextBaseline
enum OH_Drawing_TextBaseline
描述:
基线位置
枚举值 | 描述 |
TEXT_BASELINE_ALPHABETIC | 用于表音文字,基线在中间偏下的位置 |
TEXT_BASELINE_IDEOGRAPHIC | 用于表意文字,基线位于底部 |
起始版本:
8
OH_Drawing_TextDecoration
enum OH_Drawing_TextDecoration
描述:
文本装饰
枚举值 | 描述 |
TEXT_DECORATION_NONE | 无装饰 |
TEXT_DECORATION_UNDERLINE | 下划线 |
TEXT_DECORATION_OVERLINE | 上划线 |
TEXT_DECORATION_LINE_THROUGH | 删除线 |
起始版本:
8
OH_Drawing_TextDirection
enum OH_Drawing_TextDirection
描述:
文字方向
枚举值 | 描述 |
TEXT_DIRECTION_RTL | 方向:从右到左 |
TEXT_DIRECTION_LTR | 方向:从左到右 |
起始版本:
8
函数说明
OH_Drawing_BitmapBuild()
void OH_Drawing_BitmapBuild (OH_Drawing_Bitmap * , const uint32_t width, const uint32_t height, const OH_Drawing_BitmapFormat * )
描述:
函数用于初始化位图对象的宽度和高度,并且为该位图设置像素格式
@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
参数:
Name | 描述 |
OH_Drawing_Bitmap | 参数是一个指向位图对象的指针 |
width | 参数是位图要初始化设置的宽度 |
height | 参数是位图要初始化设置的高度 |
参数是位图要初始化设置的像素格式,包括像素的颜色类型和透明度类型 |
起始版本:
8
OH_Drawing_BitmapCreate()
OH_Drawing_Bitmap* OH_Drawing_BitmapCreate (void )
描述:
函数用于创建一个位图对象。
@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
返回:
函数会返回一个指针,指针指向创建的位图对象
起始版本:
8
OH_Drawing_BitmapDestroy()
void OH_Drawing_BitmapDestroy (OH_Drawing_Bitmap * )
描述:
函数用于销毁位图对象并回收该对象占有内存。
@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
参数:
Name | 描述 |
OH_Drawing_Bitmap | 参数是一个指向位图对象的指针 |
起始版本:
8
OH_Drawing_BitmapGetHeight()
uint32_t OH_Drawing_BitmapGetHeight (OH_Drawing_Bitmap * )
描述:
函数用于获取指定位图的高度
@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
参数:
Name | 描述 |
OH_Drawing_Bitmap | 参数是一个指向位图对象的指针 |
返回:
函数返回位图的高度
起始版本:
8
OH_Drawing_BitmapGetPixels()
void* OH_Drawing_BitmapGetPixels (OH_Drawing_Bitmap * )
描述:
函数用于获取指定位图的像素地址,可以通过像素地址获取到位图的像素数据
@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
参数:
Name | 描述 |
OH_Drawing_Bitmap | 参数是一个指向位图对象的指针 |
返回:
函数返回位图的像素地址
起始版本:
8
OH_Drawing_BitmapGetWidth()
uint32_t OH_Drawing_BitmapGetWidth (OH_Drawing_Bitmap * )
描述:
该函数用于获取指定位图的宽度
@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
参数:
Name | 描述 |
OH_Drawing_Bitmap | 参数是一个指向位图对象的指针 |
返回:
函数返回位图的宽度
起始版本:
8
OH_Drawing_BrushCreate()
OH_Drawing_Brush* OH_Drawing_BrushCreate (void )
描述:
函数用于创建一个画刷对象
@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
返回:
函数会返回一个指针,指针指向创建的画刷对象
起始版本:
8
OH_Drawing_BrushDestroy()
void OH_Drawing_BrushDestroy (OH_Drawing_Brush * )
描述:
函数用于销毁画刷对象并回收该对象占有的内存。
@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
参数:
Name | 描述 |
OH_Drawing_Brush | 参数是一个指向画刷对象的指针 |
起始版本:
8
OH_Drawing_BrushGetColor()
uint32_t OH_Drawing_BrushGetColor (const OH_Drawing_Brush * )
描述:
函数用于获取画刷的颜色属性,颜色属性描述了画刷填充图形时使用的颜色,用一个32位(ARGB)的变量表示
@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
参数:
Name | 描述 |
OH_Drawing_Brush | 参数是一个指向画刷对象的指针 |
返回:
函数返回一个描述颜色的32位(ARGB)变量
起始版本:
8
OH_Drawing_BrushIsAntiAlias()
bool OH_Drawing_BrushIsAntiAlias (const OH_Drawing_Brush * )
描述:
函数用于获取画刷是否设置抗锯齿属性,如果为真则说明画刷会启用抗锯齿功能,在绘制图形时会对图形的边缘像素进行半透明的模糊处理
@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
参数:
Name | 描述 |
OH_Drawing_Brush | 参数是一个指向画刷对象的指针 |
返回:
函数返回画刷对象是否设置抗锯齿属性,返回真则设置了抗锯齿,返回假则没有设置抗锯齿
起始版本:
8
OH_Drawing_BrushSetAntiAlias()
void OH_Drawing_BrushSetAntiAlias (OH_Drawing_Brush * , bool )
描述:
函数用于设置画刷的抗锯齿属性,设置为真则画刷在绘制图形时会对图形的边缘像素进行半透明的模糊处理
@syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
参数:
Name | 描述 |
OH_Drawing_Brush | 参数是一个指向画刷对象的指针 |
bool | 参数真为抗锯齿,参数假则不做抗锯齿处理 |
起始版本:
8