harmony 鸿蒙image_native.h

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

image_native.h

概述

声明图像的剪辑矩形、大小和组件数据的接口函数。

库: libohimage.so

系统能力: SystemCapability.Multimedia.Image.Core

起始版本: 12

相关模块: Image_NativeModule

汇总

结构体

|名称|typedef关键字|描述| |–|–|–| |OH_ImageNative|OH_ImageNative|为图像接口定义native层图像对象的别名。|

函数

|名称|描述| |–|–| |Image_ErrorCode OH_ImageNative_GetImageSize(OH_ImageNative *image, Image_Size *size)|获取Native OH_ImageNative对象的Image_Size信息。| |Image_ErrorCode OH_ImageNative_GetComponentTypes(OH_ImageNative *image,uint32_t **types, size_t *typeSize)|获取Native OH_ImageNative对象的组件列表信息。| |Image_ErrorCode OH_ImageNative_GetByteBuffer(OH_ImageNative *image,uint32_t componentType, OH_NativeBuffer **nativeBuffer)|获取Native OH_ImageNative对象中某个组件类型所对应的缓冲区。| |Image_ErrorCode OH_ImageNative_GetBufferSize(OH_ImageNative *image,uint32_t componentType, size_t *size)|获取Native OH_ImageNative对象中某个组件类型所对应的缓冲区的大小。| |Image_ErrorCode OH_ImageNative_GetRowStride(OH_ImageNative *image,uint32_t componentType, int32_t *rowStride)|获取Native OH_ImageNative对象中某个组件类型所对应的像素行宽。| |Image_ErrorCode OH_ImageNative_GetPixelStride(OH_ImageNative *image,uint32_t componentType, int32_t *pixelStride)|获取Native OH_ImageNative对象中某个组件类型所对应的像素大小。| |Image_ErrorCode OH_ImageNative_GetTimestamp(OH_ImageNative *image, int64_t *timestamp)|获取Native OH_ImageNative对象中的时间戳信息。| |Image_ErrorCode OH_ImageNative_Release(OH_ImageNative *image)|释放Native OH_ImageNative对象。|

函数说明

OH_ImageNative_GetImageSize()

Image_ErrorCode OH_ImageNative_GetImageSize(OH_ImageNative *image, Image_Size *size)

描述

获取Native OH_ImageNative对象的Image_Size信息。

如果OH_ImageNative对象所存储的是相机预览流数据,即YUV图像数据,那么获取到的Image_Size中的宽高分别对应YUV图像的宽高;如果OH_ImageNative对象所存储的是相机拍照流数据,即JPEG图像,由于已经是编码后的数据,Image_Size中的宽等于JPEG数据大小,高等于1。

OH_ImageNative对象所存储的数据是预览流还是拍照流,取决于应用将receiver中的surfaceId传给相机的previewOutput还是captureOutput。相机预览与拍照最佳实践请参考预览流二次处理(C/C++)拍照(C/C++)

起始版本: 12

参数:

|参数项|描述| |–|–| |OH_ImageNative *image|表示OH_ImageNative native对象的指针。| |Image_Size *size|表示作为获取结果的Image_Size对象的指针。|

返回:

|类型|说明| |–|–| |Image_ErrorCode|IMAGE_SUCCESS:执行成功。
IMAGE_BAD_PARAMETER:参数错误。
IMAGE_UNKNOWN_ERROR:未知原因错误。|

OH_ImageNative_GetComponentTypes()

Image_ErrorCode OH_ImageNative_GetComponentTypes(OH_ImageNative *image,uint32_t **types, size_t *typeSize)

描述

获取Native OH_ImageNative对象的组件列表信息。

起始版本: 12

参数:

|参数项|描述| |–|–| |OH_ImageNative *image|表示OH_ImageNative native对象的指针。| |uint32_t **types|表示作为获取结果的组件列表对象的指针。| |size_t *typeSize|表示作为获取结果的组件列表中,元素个数的指针。|

返回:

|类型|说明| |–|–| |Image_ErrorCode|IMAGE_SUCCESS:执行成功。
IMAGE_BAD_PARAMETER:参数错误。|

OH_ImageNative_GetByteBuffer()

Image_ErrorCode OH_ImageNative_GetByteBuffer(OH_ImageNative *image,uint32_t componentType, OH_NativeBuffer **nativeBuffer)

描述

获取Native OH_ImageNative对象中某个组件类型所对应的缓冲区。

起始版本: 12

参数:

|参数项|描述| |–|–| |OH_ImageNative *image|表示OH_ImageNative native对象的指针。| |uint32_t componentType|表示组件的类型。| |OH_NativeBuffer **nativeBuffer|表示作为获取结果的OH_NativeBuffer缓冲区对象的指针。|

返回:

|类型|说明| |–|–| |Image_ErrorCode|IMAGE_SUCCESS:执行成功。
IMAGE_BAD_PARAMETER:参数错误。|

OH_ImageNative_GetBufferSize()

Image_ErrorCode OH_ImageNative_GetBufferSize(OH_ImageNative *image,uint32_t componentType, size_t *size)

描述

获取Native OH_ImageNative对象中某个组件类型所对应的缓冲区的大小。

起始版本: 12

参数:

|参数项|描述| |–|–| |OH_ImageNative *image|表示OH_ImageNative native对象的指针。| |uint32_t componentType|表示组件的类型。| |size_t *size|表示作为获取结果的缓冲区大小的指针。|

返回:

|类型|说明| |–|–| |Image_ErrorCode|IMAGE_SUCCESS:执行成功。
IMAGE_BAD_PARAMETER:参数错误。|

OH_ImageNative_GetRowStride()

Image_ErrorCode OH_ImageNative_GetRowStride(OH_ImageNative *image,uint32_t componentType, int32_t *rowStride)

描述

获取Native OH_ImageNative对象中某个组件类型所对应的像素行宽。

读取相机预览流数据时,需要考虑按stride进行读取,具体用法参考预览流二次处理(C/C++)

起始版本: 12

参数:

|参数项|描述| |–|–| |OH_ImageNative *image|表示OH_ImageNative native对象的指针。| |uint32_t componentType|表示组件的类型。| |int32_t *rowStride|表示作为获取结果的像素行宽的指针。|

返回:

|类型|说明| |–|–| |Image_ErrorCode|IMAGE_SUCCESS:执行成功。
IMAGE_BAD_PARAMETER:参数错误。|

OH_ImageNative_GetPixelStride()

Image_ErrorCode OH_ImageNative_GetPixelStride(OH_ImageNative *image,uint32_t componentType, int32_t *pixelStride)
	

描述

获取Native OH_ImageNative对象中某个组件类型所对应的像素大小。

起始版本: 12

参数:

|参数项|描述| |–|–| |OH_ImageNative *image|表示OH_ImageNative native对象的指针。| |uint32_t componentType|表示组件的类型。| |int32_t *pixelStride|表示作为获取结果的像素大小的指针。|

返回:

|类型|说明| |–|–| |Image_ErrorCode|IMAGE_SUCCESS:执行成功。
IMAGE_BAD_PARAMETER:参数错误。|

OH_ImageNative_GetTimestamp()

Image_ErrorCode OH_ImageNative_GetTimestamp(OH_ImageNative *image, int64_t *timestamp)

描述

获取Native OH_ImageNative对象中的时间戳信息。时间戳以纳秒为单位,通常是单调递增的。

时间戳的具体含义和基准取决于图像的生产者,在相机预览/拍照场景,生产者就是相机。来自不同生产者的图像的时间戳可能有不同的含义和基准,因此可能无法进行比较。

如果要获取某张照片的生成时间,可以通过OH_ImageSourceNative_GetImageProperty接口读取相关的EXIF信息。

起始版本: 12

参数:

|参数项|描述| |–|–| |OH_ImageNative *image|表示OH_ImageNative native对象的指针。| |int64_t *timestamp|表示作为获取结果的时间戳信息的指针。|

返回:

|类型|说明| |–|–| |Image_ErrorCode|IMAGE_SUCCESS:执行成功。
IMAGE_BAD_PARAMETER:参数错误。|

OH_ImageNative_Release()

Image_ErrorCode OH_ImageNative_Release(OH_ImageNative *image)

描述

释放Native OH_ImageNative对象。

起始版本: 12

参数:

|参数项|描述| |–|–| |OH_ImageNative *image|表示OH_ImageNative native对象的指针。|

返回:

|类型|说明| |–|–| |Image_ErrorCode|IMAGE_SUCCESS:执行成功。
IMAGE_BAD_PARAMETER:参数错误。|

你可能感兴趣的鸿蒙文章

harmony 鸿蒙Image Kit(图片处理服务)

harmony 鸿蒙Interface (AuxiliaryPicture)

harmony 鸿蒙Interface (Image)

harmony 鸿蒙Interface (ImageCreator)

harmony 鸿蒙Interface (ImagePacker)

harmony 鸿蒙Interface (ImageReceiver)

harmony 鸿蒙Interface (ImageSource)

harmony 鸿蒙Interface (Metadata)

harmony 鸿蒙Interface (Picture)

harmony 鸿蒙Interface (PixelMap)

0  赞