openharmony 鸿蒙 capi-drawing-text-blob-h

2025-06-12 浏览 (1)

drawing_text_blob.h

概述

文件中定义了与文字相关的功能函数。

引用文件: <native_drawing/drawing_text_blob.h>

库: libnative_drawing.so

起始版本: 11

相关模块: Drawing

汇总

结构体

名称typedef关键字描述
OH_Drawing_RunBufferOH_Drawing_RunBuffer结构体用于描述一块内存,描述文字和位置信息。

函数

名称描述
OH_Drawing_TextBlobBuilder* OH_Drawing_TextBlobBuilderCreate(void)用于创建一个文本构造器对象。
OH_Drawing_TextBlob* OH_Drawing_TextBlobCreateFromText(const void* text, size_t byteLength,const OH_Drawing_Font* font, OH_Drawing_TextEncoding textEncoding)使用文本创建一个文本对象。
本接口会产生错误码,可以通过OH_Drawing_ErrorCodeGet查看错误码的取值。
text、font任意一个为NULL时返回OH_DRAWING_ERROR_INVALID_PARAMETER;
textEncoding不在枚举范围内返回OH_DRAWING_ERROR_PARAMETER_OUT_OF_RANGE。
OH_Drawing_TextBlob* OH_Drawing_TextBlobCreateFromPosText(const void* text, size_t byteLength,OH_Drawing_Point2D* point2D, const OH_Drawing_Font* font, OH_Drawing_TextEncoding textEncoding)使用文本创建文本对象,文本对象中每个字符的坐标由OH_Drawing_Point2D数组中对应的坐标信息决定。
本接口会产生错误码,可以通过OH_Drawing_ErrorCodeGet查看错误码的取值。
text、point2D、font任意一个为NULL或byteLength等于0时返回OH_DRAWING_ERROR_INVALID_PARAMETER;
textEncoding不在枚举范围内返回OH_DRAWING_ERROR_PARAMETER_OUT_OF_RANGE。
OH_Drawing_TextBlob* OH_Drawing_TextBlobCreateFromString(const char* str,const OH_Drawing_Font* font, OH_Drawing_TextEncoding textEncoding)使用字符串创建文本对象。
本接口会产生错误码,可以通过OH_Drawing_ErrorCodeGet查看错误码的取值。
str、font任意一个为NULL时返回OH_DRAWING_ERROR_INVALID_PARAMETER;
textEncoding不在枚举范围内返回OH_DRAWING_ERROR_PARAMETER_OUT_OF_RANGE。
void OH_Drawing_TextBlobGetBounds(OH_Drawing_TextBlob* textBlob, OH_Drawing_Rect* rect)获取文本对象的边界范围。
本接口会产生错误码,可以通过OH_Drawing_ErrorCodeGet查看错误码的取值。
textBlob、rect任意一个为NULL时返回OH_DRAWING_ERROR_INVALID_PARAMETER。
uint32_t OH_Drawing_TextBlobUniqueID(const OH_Drawing_TextBlob* textBlob)获取文本的标识符,该标识符是唯一的非零值。
本接口会产生错误码,可以通过OH_Drawing_ErrorCodeGet查看错误码的取值。
textBlob为NULL时返回OH_DRAWING_ERROR_INVALID_PARAMETER。
const OH_Drawing_RunBuffer* OH_Drawing_TextBlobBuilderAllocRunPos(OH_Drawing_TextBlobBuilder* textBlobBuilder,const OH_Drawing_Font* font, int32_t count, const OH_Drawing_Rect* rect)申请一块内存,用于存储文字和位置信息。返回的指针无需调用者管理,当调用OH_Drawing_TextBlobBuilderMake后禁止使用。
本接口会产生错误码,可以通过OH_Drawing_ErrorCodeGet查看错误码的取值。
textBlobBuilder、font任意一个为NULL或者count小于等于0时返回OH_DRAWING_ERROR_INVALID_PARAMETER。
OH_Drawing_TextBlob* OH_Drawing_TextBlobBuilderMake(OH_Drawing_TextBlobBuilder* textBlobBuilder)用于从文本构造器中创建文本对象。
本接口会产生错误码,可以通过OH_Drawing_ErrorCodeGet查看错误码的取值。
textBlobBuilder为NULL时返回OH_DRAWING_ERROR_INVALID_PARAMETER。
void OH_Drawing_TextBlobDestroy(OH_Drawing_TextBlob* textBlob)用于销毁文本对象并回收该对象占有的内存。
void OH_Drawing_TextBlobBuilderDestroy(OH_Drawing_TextBlobBuilder* textBlobBuilder)用于销毁文本构造器对象并回收该对象占有的内存。

函数说明

OH_Drawing_TextBlobBuilderCreate()

OH_Drawing_TextBlobBuilder* OH_Drawing_TextBlobBuilderCreate(void)

描述

用于创建一个文本构造器对象。

系统能力: SystemCapability.Graphic.Graphic2D.NativeDrawing

起始版本: 11

返回:

类型说明
OH_Drawing_TextBlobBuilder*函数会返回一个指针,指针指向创建的文本构造器对象。

OH_Drawing_TextBlobCreateFromText()

OH_Drawing_TextBlob* OH_Drawing_TextBlobCreateFromText(const void* text, size_t byteLength,const OH_Drawing_Font* font, OH_Drawing_TextEncoding textEncoding)

描述

使用文本创建一个文本对象。
本接口会产生错误码,可以通过OH_Drawing_ErrorCodeGet查看错误码的取值。
text、font任意一个为NULL时返回OH_DRAWING_ERROR_INVALID_PARAMETER;
textEncoding不在枚举范围内返回OH_DRAWING_ERROR_PARAMETER_OUT_OF_RANGE。

系统能力: SystemCapability.Graphic.Graphic2D.NativeDrawing

起始版本: 12

参数:

参数项描述
const void* text指向文本的指针。
size_t byteLength文本的字节长度。
const OH_Drawing_Font* font指向字体对象OH_Drawing_Font的指针。
OH_Drawing_TextEncoding textEncoding文本编码类型OH_Drawing_TextEncoding

返回:

类型说明
OH_Drawing_TextBlob*函数返回一个指针,指针指向创建的文本对象OH_Drawing_TextBlob

OH_Drawing_TextBlobCreateFromPosText()

OH_Drawing_TextBlob* OH_Drawing_TextBlobCreateFromPosText(const void* text, size_t byteLength,OH_Drawing_Point2D* point2D, const OH_Drawing_Font* font, OH_Drawing_TextEncoding textEncoding)

描述

使用文本创建文本对象,文本对象中每个字符的坐标由OH_Drawing_Point2D数组中对应的坐标信息决定。
本接口会产生错误码,可以通过OH_Drawing_ErrorCodeGet查看错误码的取值。
text、point2D、font任意一个为NULL或byteLength等于0时返回OH_DRAWING_ERROR_INVALID_PARAMETER;
textEncoding不在枚举范围内返回OH_DRAWING_ERROR_PARAMETER_OUT_OF_RANGE。

系统能力: SystemCapability.Graphic.Graphic2D.NativeDrawing

起始版本: 12

参数:

参数项描述
const void* text指向文本的指针。
size_t byteLength文本的字节长度。
OH_Drawing_Point2D* point2D二维点OH_Drawing_Point2D数组首地址,数组个数由OH_Drawing_FontCountText计算结果决定。
const OH_Drawing_Font* font指向字体对象OH_Drawing_Font的指针。
OH_Drawing_TextEncoding textEncoding文本编码类型OH_Drawing_TextEncoding

返回:

类型说明
OH_Drawing_TextBlob*函数返回一个指针,指针指向创建的文本对象OH_Drawing_TextBlob

OH_Drawing_TextBlobCreateFromString()

OH_Drawing_TextBlob* OH_Drawing_TextBlobCreateFromString(const char* str,const OH_Drawing_Font* font, OH_Drawing_TextEncoding textEncoding)

描述

使用字符串创建文本对象。
本接口会产生错误码,可以通过OH_Drawing_ErrorCodeGet查看错误码的取值。
str、font任意一个为NULL时返回OH_DRAWING_ERROR_INVALID_PARAMETER;
textEncoding不在枚举范围内返回OH_DRAWING_ERROR_PARAMETER_OUT_OF_RANGE。

系统能力: SystemCapability.Graphic.Graphic2D.NativeDrawing

起始版本: 12

参数:

参数项描述
const char* str指向字符串的指针。
const OH_Drawing_Font* font指向字体对象OH_Drawing_Font的指针。
OH_Drawing_TextEncoding textEncoding文本编码类型OH_Drawing_TextEncoding

返回:

类型说明
OH_Drawing_TextBlob*函数返回一个指针,指针指向创建的文本对象OH_Drawing_TextBlob

OH_Drawing_TextBlobGetBounds()

void OH_Drawing_TextBlobGetBounds(OH_Drawing_TextBlob* textBlob, OH_Drawing_Rect* rect)

描述

获取文本对象的边界范围。
本接口会产生错误码,可以通过OH_Drawing_ErrorCodeGet查看错误码的取值。
textBlob、rect任意一个为NULL时返回OH_DRAWING_ERROR_INVALID_PARAMETER。

系统能力: SystemCapability.Graphic.Graphic2D.NativeDrawing

起始版本: 12

参数:

参数项描述
OH_Drawing_TextBlob* textBlob指向文本对象OH_Drawing_TextBlob的指针。
OH_Drawing_Rect* rect指向矩形对象OH_Drawing_Rect的指针,开发者可调用OH_Drawing_Rect接口创建。

OH_Drawing_TextBlobUniqueID()

uint32_t OH_Drawing_TextBlobUniqueID(const OH_Drawing_TextBlob* textBlob)

描述

获取文本的标识符,该标识符是唯一的非零值。
本接口会产生错误码,可以通过OH_Drawing_ErrorCodeGet查看错误码的取值。
textBlob为NULL时返回OH_DRAWING_ERROR_INVALID_PARAMETER。

系统能力: SystemCapability.Graphic.Graphic2D.NativeDrawing

起始版本: 12

参数:

参数项描述
const OH_Drawing_TextBlob* textBlob指向文本对象OH_Drawing_TextBlob的指针。

返回:

类型说明
uint32_t返回文本对象的标识符。

OH_Drawing_TextBlobBuilderAllocRunPos()

const OH_Drawing_RunBuffer* OH_Drawing_TextBlobBuilderAllocRunPos(OH_Drawing_TextBlobBuilder* textBlobBuilder,const OH_Drawing_Font* font, int32_t count, const OH_Drawing_Rect* rect)

描述

申请一块内存,用于存储文字和位置信息。返回的指针无需调用者管理,当调用OH_Drawing_TextBlobBuilderMake后禁止使用。
本接口会产生错误码,可以通过OH_Drawing_ErrorCodeGet查看错误码的取值。
textBlobBuilder、font任意一个为NULL或者count小于等于0时返回OH_DRAWING_ERROR_INVALID_PARAMETER。

系统能力: SystemCapability.Graphic.Graphic2D.NativeDrawing

起始版本: 11

参数:

参数项描述
OH_Drawing_TextBlobBuilder* textBlobBuilder指向文本构造器对象的指针。
const OH_Drawing_Font* font指向字体对象的指针。
int32_t count文字的数量。
const OH_Drawing_Rect* rect文本的边界框,为NULL表示不设置边界框。

OH_Drawing_TextBlobBuilderMake()

OH_Drawing_TextBlob* OH_Drawing_TextBlobBuilderMake(OH_Drawing_TextBlobBuilder* textBlobBuilder)

描述

用于从文本构造器中创建文本对象。
本接口会产生错误码,可以通过OH_Drawing_ErrorCodeGet查看错误码的取值。
textBlobBuilder为NULL时返回OH_DRAWING_ERROR_INVALID_PARAMETER。

系统能力: SystemCapability.Graphic.Graphic2D.NativeDrawing

起始版本: 11

参数:

参数项描述
OH_Drawing_TextBlobBuilder* textBlobBuilder指向文本构造器对象的指针。

返回:

类型说明
OH_Drawing_TextBlob*返回一个指针,指针指向创建的文本对象。

OH_Drawing_TextBlobDestroy()

void OH_Drawing_TextBlobDestroy(OH_Drawing_TextBlob* textBlob)

描述

用于销毁文本对象并回收该对象占有的内存。

系统能力: SystemCapability.Graphic.Graphic2D.NativeDrawing

起始版本: 11

参数:

参数项描述
OH_Drawing_TextBlob* textBlob指向文本对象的指针。

OH_Drawing_TextBlobBuilderDestroy()

void OH_Drawing_TextBlobBuilderDestroy(OH_Drawing_TextBlobBuilder* textBlobBuilder)

描述

用于销毁文本构造器对象并回收该对象占有的内存。

系统能力: SystemCapability.Graphic.Graphic2D.NativeDrawing

起始版本: 11

参数:

参数项描述
OH_Drawing_TextBlobBuilder* textBlobBuilder指向文本构造器对象的指针。

你可能感兴趣的鸿蒙文章

harmony 鸿蒙ArkGraphics 2D(方舟2D图形服务)

harmony 鸿蒙buffer_common.h

harmony 鸿蒙buffer_handle.h

harmony 鸿蒙BufferHandle

harmony 鸿蒙ColorSpacePrimaries

harmony 鸿蒙DisplaySoloist_ExpectedRateRange

harmony 鸿蒙drawing_bitmap.h

harmony 鸿蒙drawing_brush.h

harmony 鸿蒙drawing_canvas.h

harmony 鸿蒙drawing_color_filter.h

  • 所属分类: 后端技术
  • 本文标签: 软件 鸿蒙
  • 版权声明: 本文链接 https://seaxiang.com/blog/SWt6Vh