80690e91创建于 2025年2月28日历史提交

介绍Image_NativeModule结构体信息

本章节对Image_NativeModule模块开放给开发者使用的结构体进行解释说明。其余结构体说明可直接查阅API参考

OH_ImageNative结构体

OH_ImageNative是native层封装的图像对象结构体。OH_ImageNative结构体内容不可直接操作,采用函数调用方式操作具体字段,结构体内容和操作方式如下:

字段类型 字段名称 字段描述 操作函数 函数描述
Image_Size imageSize 图像大小 OH_ImageNative_GetImageSize 获取 OH_ImageNative 对象的 Image_Size 信息。
uint32_t types 组件类型,用于描述图像颜色分量。 OH_ImageNative_GetComponentTypes 获取 OH_ImageNative 对象的组件列表信息。
OH_NativeBuffer nativeBuffer 组件缓冲区 OH_ImageNative_GetByteBuffer 获取 OH_ImageNative 对象中某个组件类型所对应的缓冲区。
size_t bufferSize 缓冲区的大小 OH_ImageNative_GetBufferSize 获取 OH_ImageNative 对象中某个组件类型所对应的缓冲区的大小。
int32_t rowStride 像素行宽 OH_ImageNative_GetRowStride 获取 OH_ImageNative 对象中某个组件类型所对应的像素行宽。
int32_t pixelStride 像素大小 OH_ImageNative_GetPixelStride 获取 OH_ImageNative 对象中某个组件类型所对应的像素大小。

释放OH_ImageNative对象使用OH_ImageNative_Release函数。

OH_ImagePackerNative结构体

OH_ImagePackerNative是native层封装的图像打包结构体,OH_ImagePackerNative结构体内容不可直接操作,采用函数调用方式操作具体字段,结构体内容和操作方式如下:

字段类型 字段名称 字段描述 操作函数 函数描述
OH_ImageSourceNative imageSource 图片源 OH_ImagePackerNative_PackToDataFromImageSource 将ImageSource编码为指定格式的数据。
OH_PixelmapNative pixelmap native层的pixelmap OH_ImagePackerNative_PackToDataFromPixelmap 将Pixelmap编码为指定格式的数据。
int32_t imagesourceFd imagesource关联的文件描述符 OH_ImagePackerNative_PackToFileFromImageSource 将一个ImageSource编码到文件中。
int32_t pixelmapFd pixelmap关联的文件描述符 OH_ImagePackerNative_PackToFileFromPixelmap 将一个Pixelmap编码到文件中。

创建OH_ImagePackerNative对象使用OH_ImagePackerNative_Create函数。

释放OH_ImagePackerNative对象使用OH_ImagePackerNative_Release函数。

OH_PackingOptions结构体

OH_PackingOptions是native层封装的图像编码选项结构体,OH_PackingOptions结构体不可直接操作,而是采用函数调用方式创建、释放结构体以及操作具体字段。

创建PackingOptions结构体的对象使用OH_PackingOptions_Create函数。

释放OH_PackingOptions对象使用OH_PackingOptions_Release函数。

OH_PackingOptions结构体内容和操作方式如下:

字段类型 字段名称 字段描述 操作函数 函数描述
Image_MimeType mimeType MIME类型 OH_PackingOptions_GetMimeType 获取MIME类型。
Image_MimeType mimeType MIME类型 OH_PackingOptions_SetMimeType 设置MIME类型。
uint32_t quality 编码质量 OH_PackingOptions_GetQuality 获取编码质量。
uint32_t quality 编码质量 OH_PackingOptions_SetQuality 设置编码质量。
int32_t desiredDynamicRange 图片动态范围 OH_PackingOptions_GetDesiredDynamicRange 获取编码时期望的图片动态范围。
int32_t desiredDynamicRange 图片动态范围 OH_PackingOptions_SetDesiredDynamicRange 设置编码时期望的图片动态范围。

OH_ImageReceiverNative结构体

OH_ImageReceiverNative是native层封装的图片接收器结构体,OH_ImageReceiverNative结构体不可直接操作,而是采用函数调用方式创建、释放结构体以及操作具体字段。

创建OH_ImageReceiverNative对象使用OH_ImageReceiverNative_Create函数。

释放OH_ImageReceiverNative对象使用OH_ImageReceiverNative_Release函数。

OH_ImageReceiverNative结构体内容和操作方式如下:

字段类型 字段名称 字段描述 操作函数 函数描述
uint64_t surfaceId 接收器的surfaceId OH_ImageReceiverNative_GetReceivingSurfaceId 通过OH_ImageReceiverNative获取receiver的id。
OH_ImageNative image native层的image OH_ImageReceiverNative_ReadLatestImage 通过OH_ImageReceiverNative获取最新的一张图片。
OH_ImageNative image native层的image OH_ImageReceiverNative_ReadNextImage 通过OH_ImageReceiverNative获取下一张图片。
OH_ImageReceiver_OnCallback callback 图片接收器回调函数 OH_ImageReceiverNative_On 注册一个OH_ImageReceiver_OnCallback回调事件。
OH_ImageReceiver_OnCallback callback 图片接收器回调函数 OH_ImageReceiverNative_Off 关闭OH_ImageReceiver_OnCallback回调事件。
Image_Size size ImageReceiver的大小 OH_ImageReceiverNative_GetSize 通过OH_ImageReceiverNative获取ImageReceiver的大小。
int32_t capacity 图片接收器容量 OH_ImageReceiverNative_GetCapacity 通过OH_ImageReceiverNative获取ImageReceiver的容量。

OH_ImageReceiverOptions结构体

OH_ImageReceiverOptions是native层封装的图片接收器选项设置器结构体,用于创建OH_ImageReceiverNative时传入设置参数。 OH_ImageReceiverOptions结构体不可直接操作,而是采用函数调用方式创建、释放结构体以及操作具体字段。

创建OH_ImageReceiverOptions对象使用OH_ImageReceiverOptions_Create函数。

释放OH_ImageReceiverOptions对象使用OH_ImageReceiverOptions_Release函数。

OH_ImageReceiverOptions结构体内容和操作方式如下:

字段类型 字段名称 字段描述 操作函数 函数描述
Image_Size size 图像大小 OH_ImageReceiverOptions_GetSize 获取 OH_ImageReceiverOptions 对象的 Image_Size 信息。
Image_Size size 图像大小 OH_ImageReceiverOptions_SetSize 设置 OH_ImageReceiverOptions 对象的 Image_Size 信息。
int32_t capacity 图片缓存容量 OH_ImageReceiverOptions_GetCapacity 获取 OH_ImageReceiverOptions 对象的图片缓存容量的信息。
int32_t capacity 图片缓存容量 OH_ImageReceiverOptions_SetCapacity 设置 OH_ImageReceiverOptions 对象的图片缓存容量的信息。

OH_ImageSourceNative结构体

OH_ImageSourceNative是native层封装的图片源结构体,用于创建图片数据。OH_ImageSourceNative结构体不可直接操作,而是采用函数调用方式创建、释放结构体以及操作具体字段。

有多种方式创建OH_ImageSourceNative,具体如下:

函数 描述
OH_ImageSourceNative_CreateFromUri 通过uri创建OH_ImageSourceNative对象。
OH_ImageSourceNative_CreateFromFd 通过fd创建OH_ImageSourceNative对象。
OH_ImageSourceNative_CreateFromData 通过缓冲区数据创建OH_ImageSourceNative对象。
OH_ImageSourceNative_CreateFromRawFile 通过图像资源文件的RawFileDescriptor创建OH_ImageSourceNative对象。
OH_ImageSourceNative_CreatePixelmap 通过图片解码参数创建OH_PixelmapNative对象。
OH_ImageSourceNative_CreatePixelmapList 通过图片解码参数创建OH_PixelmapNative数组。

释放OH_ImageSourceNative对象使用OH_ImageSourceNative_Release函数。

OH_ImageSourceNative结构体内容和操作方式如下:

字段类型 字段名称 字段描述 操作函数 函数描述
int32_t delayTimeList 图像延迟时间数组 OH_ImageSourceNative_GetDelayTimeList 获取图像延迟时间数组。
OH_ImageSource_Info info 图片源信息 OH_ImageSourceNative_GetImageInfo 获取指定序号的图片信息。
Image_String value 配置项 OH_ImageSourceNative_GetImageProperty 获取图片指定属性键的值。
Image_String value 配置项 OH_ImageSourceNative_ModifyImageProperty 通过指定的键修改图片属性的值。
uint32_t frameCount 图像帧数 OH_ImageSourceNative_GetFrameCount 获取图像帧数。

OH_ImageSource_Info结构体

OH_ImageSource_Info是native层封装的图片源信息结构体,OH_ImageSource_Info结构体不可直接操作,而是采用函数调用方式创建、释放结构体以及操作具体字段。

创建OH_ImageSource_Info对象使用OH_ImageSourceInfo_Create函数。

释放OH_ImageSource_Info对象使用OH_ImageSourceInfo_Release函数。

OH_ImageSource_Info结构体内容和操作方式如下:

字段类型 字段名称 字段描述 操作函数 函数描述
uint32_t width 图片宽度 OH_ImageSourceInfo_GetWidth 获取图片的宽。
uint32_t height 图片高度 OH_ImageSourceInfo_GetHeight 获取图片的高。
bool isHdr 是否为高动态范围的信息 OH_ImageSourceInfo_GetDynamicRange 获取图片是否为高动态范围的信息。

OH_DecodingOptions结构体

OH_DecodingOptions是native层封装的编码选项参数结构体,用于设置编码选项参数,在创建Pixelmap时作为入参传入,详细信息见 OH_ImageSourceNative_CreatePixelmap

OH_DecodingOptions结构体不可直接操作,而是采用函数调用方式创建、释放结构体以及操作具体字段。

创建OH_DecodingOptions对象使用OH_DecodingOptions_Create函数。

释放OH_DecodingOptions对象使用OH_DecodingOptions_Release函数。

OH_DecodingOptions结构体内容和操作方式如下:

字段类型 字段名称 字段描述 操作函数 函数描述
int32_t pixelFormat 像素格式 OH_DecodingOptions_GetPixelFormat 获取pixel格式。
int32_t pixelFormat 像素格式 OH_DecodingOptions_SetPixelFormat 设置像素格式。
uint32_t index 解码图片序号 OH_DecodingOptions_GetIndex 获取解码图片序号。
uint32_t index 解码图片序号 OH_DecodingOptions_SetIndex 设置解码图片序号。
float rotate 旋转角度 OH_DecodingOptions_GetRotate 获取旋转角度。
float rotate 旋转角度 OH_DecodingOptions_SetRotate 设置旋转角度。
Image_Size desiredSize 期望输出大小 OH_DecodingOptions_GetDesiredSize 获取期望输出大小。
Image_Size desiredSize 期望输出大小 OH_DecodingOptions_SetDesiredSize 设置期望输出大小。
Image_Region desiredRegion 解码区域 OH_DecodingOptions_GetDesiredRegion 获取解码区域。
Image_Region desiredRegion 解码区域 OH_DecodingOptions_SetDesiredRegion 设置解码区域。
int32_t desiredDynamicRange 期望动态范围 OH_DecodingOptions_GetDesiredDynamicRange 获取解码时设置的期望动态范围。
int32_t desiredDynamicRange 期望动态范围 OH_DecodingOptions_SetDesiredDynamicRange 设置解码时的期望动态范围。

OH_PixelmapNative结构体

OH_PixelmapNative结构体是native层封装的图像解码后无压缩的位图格式结构体。

函数创建OH_PixelmapNative使用OH_PixelmapNative_CreatePixelmap函数,默认采用BGRA_8888格式处理数据。

释放OH_PixelmapNative对象使用OH_PixelmapNative_Release函数。

OH_PixelmapNative结构体内容和操作方式如下:

字段类型 字段名称 字段描述 操作函数 函数描述
uint8_t data 图像像素数据 OH_PixelmapNative_ReadPixels 读取图像像素数据,结果写入ArrayBuffer里。
uint8_t data 图像像素数据 OH_PixelmapNative_WritePixels 读取缓冲区中的图片数据,结果写入PixelMap中。
OH_Pixelmap_ImageInfo imageInfo 图像像素信息 OH_PixelmapNative_GetImageInfo 获取图像像素信息。
float alphaRate 透明度 OH_PixelmapNative_Opacity 通过设置透明比率来让PixelMap达到对应的透明效果。
float, float, scaleX, scaleY scaleX沿X轴缩放比例,scaleY沿Y轴缩放比例 OH_PixelmapNative_Scale 根据输入的宽高对图片进行缩放。
float, float x, y x平移量,y平移量 OH_PixelmapNative_Translate 根据输入的坐标对图片进行位置变换。
float angle 旋转角度 OH_PixelmapNative_Rotate 根据输入的角度对图片进行旋转。
bool, bool shouldFilpHorizontally, shouldFilpVertically 是否水平翻转,是否垂直翻转 OH_PixelmapNative_Flip 根据输入的条件对图片进行翻转。
Image_Region region 裁剪区间 OH_PixelmapNative_Crop 根据输入的尺寸对图片进行裁剪。

OH_Pixelmap_InitializationOptions结构体

OH_Pixelmap_InitializationOptions是native层封装的初始化参数结构体,用于设置Pixelmap的初始化参数。

创建OH_Pixelmap_InitializationOptions对象使用OH_PixelmapInitializationOptions_Create函数。

释放OH_Pixelmap_InitializationOptions对象使用OH_PixelmapInitializationOptions_Release函数。

OH_Pixelmap_InitializationOptions结构体内容和操作方式如下:

字段类型 字段名称 字段描述 操作函数 函数描述
uint32_t width 图片宽 OH_PixelmapInitializationOptions_GetWidth 获取图片宽。
uint32_t width 图片宽 OH_PixelmapInitializationOptions_SetWidth 设置图片宽。
uint32_t height 图片高 OH_PixelmapInitializationOptions_GetHeight 获取图片高。
uint32_t height 图片高 OH_PixelmapInitializationOptions_SetHeight 设置图片高。
int32_t pixelFormat 像素格式 OH_PixelmapInitializationOptions_GetPixelFormat 获取像素格式。
int32_t pixelFormat 像素格式 OH_PixelmapInitializationOptions_SetPixelFormat 设置像素格式。
int32_t alphaType 透明度类型 OH_PixelmapInitializationOptions_GetAlphaType 获取透明度类型。
int32_t alphaType 透明度类型 OH_PixelmapInitializationOptions_SetAlphaType 设置透明度类型。

OH_Pixelmap_ImageInfo结构体

OH_Pixelmap_ImageInfo是native层封装的图像像素信息结构体,保存图像像素的宽高、行跨距、像素格式、是否是HDR。

创建OH_Pixelmap_ImageInfo对象使用OH_PixelmapImageInfo_Create函数。

释放OH_Pixelmap_ImageInfo对象使用OH_PixelmapImageInfo_Release函数。

OH_Pixelmap_ImageInfo结构体内容和操作方式如下:

字段类型 字段名称 字段描述 操作函数 函数描述
uint32_t width 图片宽 OH_PixelmapImageInfo_GetWidth 获取图片宽。
uint32_t height 图片高 OH_PixelmapImageInfo_GetHeight 获取图片高。
uint32_t rowStride 行跨距 OH_PixelmapImageInfo_GetRowStride 获取行跨距。
int32_t pixelFormat 像素格式 OH_PixelmapImageInfo_GetPixelFormat 获取像素格式。
int32_t alphaType 透明度类型 OH_PixelmapImageInfo_GetAlphaType 获取透明度类型。
bool isHdr 是否为高动态范围的信息 OH_PixelmapImageInfo_GetDynamicRange 获取Pixelmap是否为高动态范围的信息。