harmony 鸿蒙drawing_surface.h

  • 2025-06-12
  • 浏览 (2)

drawing_surface.h

概述

文件中定义与surface相关的功能函数,包括surface的创建、销毁和使用等。

引用文件:

库: libnative_drawing.so

起始版本: 12

相关模块: Drawing

汇总

函数

|名称|描述| |–|–| |OH_Drawing_Surface* OH_Drawing_SurfaceCreateFromGpuContext(OH_Drawing_GpuContext* gpuContext, bool flag, OH_Drawing_Image_Info imageInfo)|使用图形处理器上下文创建一个surface对象,用于管理画布绘制的内容。
本接口会产生错误码,可以通过OH_Drawing_ErrorCodeGet查看错误码的取值。
gpuContext为NULL时返回OH_DRAWING_ERROR_INVALID_PARAMETER。| |OH_Drawing_Surface* OH_Drawing_SurfaceCreateOnScreen(OH_Drawing_GpuContext* gpuContext, OH_Drawing_Image_Info imageInfo, void* window)|使用图形处理器上下文创建一个与屏幕窗口绑定的surface对象,用于管理画布绘制的内容。
本接口会产生错误码,可以通过OH_Drawing_ErrorCodeGet查看错误码的取值。
gpuContext或window为NULL时返回OH_DRAWING_ERROR_INVALID_PARAMETER。| |OH_Drawing_Canvas* OH_Drawing_SurfaceGetCanvas(OH_Drawing_Surface* surface)|通过surface对象获取画布对象。
本接口会产生错误码,可以通过OH_Drawing_ErrorCodeGet查看错误码的取值。
surface为NULL时返回OH_DRAWING_ERROR_INVALID_PARAMETER。| |OH_Drawing_ErrorCode OH_Drawing_SurfaceFlush(OH_Drawing_Surface* surface)|将surface对象上的画布绘制内容提交给GPU处理,完成绘制内容上屏显示。| |void OH_Drawing_SurfaceDestroy(OH_Drawing_Surface* surface)|销毁surface对象并回收该对象占用的内存。|

函数说明

OH_Drawing_SurfaceCreateFromGpuContext()

OH_Drawing_Surface* OH_Drawing_SurfaceCreateFromGpuContext(OH_Drawing_GpuContext* gpuContext, bool flag, OH_Drawing_Image_Info imageInfo)

描述

使用图形处理器上下文创建一个surface对象,用于管理画布绘制的内容。
本接口会产生错误码,可以通过OH_Drawing_ErrorCodeGet查看错误码的取值。
gpuContext为NULL时返回OH_DRAWING_ERROR_INVALID_PARAMETER。

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

起始版本: 12

参数:

|参数项|描述| |–|–| |OH_Drawing_GpuContext* gpuContext|指向图形处理器上下文对象的指针OH_Drawing_GpuContext。| |bool flag|用于控制内存分配是否计入缓存预算。true则计入高速缓存预算,false则不计入高速缓存预算。| |OH_Drawing_Image_Info imageInfo|图片信息OH_Drawing_Image_Info结构体。|

返回:

|类型|说明| |–|–| |OH_Drawing_Surface*|返回一个指针,指针指向创建的surface对象OH_Drawing_Surface。|

OH_Drawing_SurfaceCreateOnScreen()

OH_Drawing_Surface* OH_Drawing_SurfaceCreateOnScreen(OH_Drawing_GpuContext* gpuContext, OH_Drawing_Image_Info imageInfo, void* window)

描述

使用图形处理器上下文创建一个与屏幕窗口绑定的surface对象,用于管理画布绘制的内容。
本接口会产生错误码,可以通过OH_Drawing_ErrorCodeGet查看错误码的取值。
gpuContext或window为NULL时返回OH_DRAWING_ERROR_INVALID_PARAMETER。

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

起始版本: 16

参数:

|参数项|描述| |–|–| |OH_Drawing_GpuContext* gpuContext|指向图形处理器上下文对象的指针OH_Drawing_GpuContext
该图形处理器上下文对象必须由OH_Drawing_GpuContextCreate创建,否则surface对象会创建失败。| |OH_Drawing_Image_Info imageInfo|图片信息OH_Drawing_Image_Info结构体。| |void* window|指向屏幕窗口对象的指针。|

返回:

|类型|说明| |–|–| |OH_Drawing_Surface*|返回一个指针,指针指向创建的surface对象OH_Drawing_Surface。|

OH_Drawing_SurfaceGetCanvas()

OH_Drawing_Canvas* OH_Drawing_SurfaceGetCanvas(OH_Drawing_Surface* surface)

描述

通过surface对象获取画布对象。
本接口会产生错误码,可以通过OH_Drawing_ErrorCodeGet查看错误码的取值。
surface为NULL时返回OH_DRAWING_ERROR_INVALID_PARAMETER。

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

起始版本: 12

参数:

|参数项|描述| |–|–| |OH_Drawing_Surface* surface|指向创建的surface对象的指针。|

返回:

|类型|说明| |–|–| |OH_Drawing_Canvas*|返回一个指针,指针指向创建的画布对象OH_Drawing_Canvas。返回的指针不需要由调用者管理。|

OH_Drawing_SurfaceFlush()

OH_Drawing_ErrorCode OH_Drawing_SurfaceFlush(OH_Drawing_Surface* surface)

描述

将surface对象上的画布绘制内容提交给GPU处理,完成绘制内容上屏显示。

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

起始版本: 16

参数:

|参数项|描述| |–|–| |OH_Drawing_Surface* surface|指向创建的surface对象的指针OH_Drawing_Surface。该surface对象必须由OH_Drawing_SurfaceCreateOnScreen创建,否则该接口调用将没有任何效果。|

返回:

|类型|说明| |–|–| |OH_Drawing_ErrorCode|函数返回执行错误码。
返回OH_DRAWING_SUCCESS,表示执行成功。
返回OH_DRAWING_ERROR_INVALID_PARAMETER,表示参数surface为空。|

OH_Drawing_SurfaceDestroy()

void OH_Drawing_SurfaceDestroy(OH_Drawing_Surface* surface)

描述

销毁surface对象并回收该对象占用的内存。

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

起始版本: 12

参数:

|参数项|描述| |–|–| |OH_Drawing_Surface* surface|指向创建的surface对象的指针。|

你可能感兴趣的鸿蒙文章

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

0  赞