# OH_PictureNative

```
struct OH_PictureNative
```

#### 概述

Picture结构体类型，用于执行picture相关操作。

Picture为多图对象结构体，包含主图、辅助图和元数据。

主图包含图像的大部分信息，主要用于显示图像内容。

辅助图用于存储与主图相关但不同的数据，展示图像更丰富的信息。

元数据一般用来存储关于图像文件的信息。

有多种方式创建OH\_PictureNative，具体如下：

| 函数 | 描述 |
| --- | --- |
| OH_ImageSourceNative_CreatePicture | 通过图片解码创建OH_PictureNative对象。 |
| OH_ImageSourceNative_CreatePictureAtIndex | 通过指定序号的图片解码创建OH_PictureNative对象。 |
| OH_PictureNative_CreatePicture | 通过主图OH_PixelmapNative对象创建OH_PictureNative对象。 |

使用OH\_PictureNative\_Release函数释放OH\_PictureNative对象。

使用约束：使用OH\_PictureNative对象前，需先创建对象；使用完成后，应调用OH\_PictureNative\_Release释放对象。通过OH\_ImageSourceNative\_CreatePicture或OH\_ImageSourceNative\_CreatePictureAtIndex解码Picture时，图片源格式需支持Picture解码。通过OH\_PictureNative\_CreatePicture创建Picture时，mainPixelmap和picture均不能为空指针。

资源管理：释放OH\_ImageSourceNative对象不会自动释放已创建的OH\_PictureNative对象。通过OH\_PictureNative获取到的OH\_PixelmapNative、OH\_AuxiliaryPictureNative和OH\_PictureMetadata对象由调用方管理，使用完成后需分别调用OH\_PixelmapNative\_Destroy、OH\_AuxiliaryPictureNative\_Release和OH\_PictureMetadata\_Release释放。获取PixelMap、辅助图或元数据的接口返回失败时，输出参数的内容不能在后续流程中继续使用。

OH\_PictureNative结构体内容和操作方式如下：

| 字段类型 | 字段名称 | 字段描述 | 操作函数 | 函数描述 |
| --- | --- | --- | --- | --- |
| OH_PixelmapNative | mainPixelmap | Picture主图。 | OH_PictureNative_GetMainPixelmap | 获取主图的OH_PixelmapNative对象。 |
| OH_PixelmapNative | hdrPixelmap | HDR合成图。 | OH_PictureNative_GetHdrComposedPixelmap | 获取HDR合成后的OH_PixelmapNative对象。 |
| OH_PixelmapNative | hdrPixelmap | HDR合成图。 | OH_PictureNative_GetHdrComposedPixelmapWithOptions | 按OH_ComposeOptions配置获取HDR合成后的OH_PixelmapNative对象。 |
| OH_PixelmapNative | gainmapPixelmap | 增益图。 | OH_PictureNative_GetGainmapPixelmap | 获取增益图的OH_PixelmapNative对象。 |
| OH_AuxiliaryPictureNative | auxiliaryPicture | 辅助图。 | OH_PictureNative_SetAuxiliaryPicture | 设置辅助图。 |
| OH_AuxiliaryPictureNative | auxiliaryPicture | 辅助图。 | OH_PictureNative_GetAuxiliaryPicture | 根据类型获取辅助图。 |
| OH_PictureMetadata | metadata | 主图元数据。 | OH_PictureNative_GetMetadata | 获取主图的元数据。 |
| OH_PictureMetadata | metadata | 主图元数据。 | OH_PictureNative_SetMetadata | 设置主图的元数据。 |

**起始版本：** 13

**相关模块：** Image\_NativeModule

**所在头文件：** picture\_native.h

**相关开发指导：** 使用Image\_NativeModule完成多图对象解码