1# Image
2
3
4## 概述
5
6提供image接口的访问。
7
8开发者可根据实际的开发需求,参考对应的开发指南及样例:
9
10- [使用Image完成图片解码](../../media/image/image-decoding-native.md)
11- [使用Image完成图片接收器](../../media/image/image-receiver-native.md)
12- [使用Image完成图像变换](../../media/image/image-transformation-native.md)
13- [使用Image处理PixelMap数据](../../media/image/image-pixelmap-operation-native.md)
14- [使用Image完成图片编码](../../media/image/image-encoding-native.md)
15
16**系统能力:** SystemCapability.Multimedia.Image
17
18**起始版本:** 8
19
20
21## 汇总
22
23
24### 文件
25
26| 名称 | 描述 |
27| -------- | -------- |
28| [image_mdk.h](image__mdk_8h.md) | 声明访问图像剪辑矩形、大小、格式和组件数据的方法。 |
29| [image_mdk_common.h](image__mdk__common_8h.md) | 声明图像常用的枚举值和结构体。 |
30| [image_packer_mdk.h](image__packer__mdk_8h.md) | 声明用于将图像编码到缓冲区或文件的方法。 |
31| [image_pixel_map_mdk.h](image__pixel__map__mdk_8h.md) | 声明可以锁定并访问PixelMap数据的方法,声明解锁的方法。 |
32| [image_pixel_map_napi.h](image__pixel__map__napi_8h.md) | (已废弃)声明可以锁定并访问PixelMap数据的方法,声明解锁的方法。 |
33| [image_receiver_mdk.h](image__receiver__mdk_8h.md) | 声明从native层获取图片数据的方法。 |
34| [image_source_mdk.h](image__source__mdk_8h.md) | 声明将图片源解码成像素位图的方法。 |
35
36
37### 结构体
38
39| 名称 | 描述 |
40| -------- | -------- |
41| struct  [OhosImageRect](_o_h_o_s_1_1_media_1_1_ohos_image_rect.md) | 定义图像矩形信息。  |
42| struct  [OhosImageComponent](_o_h_o_s_1_1_media_1_1_ohos_image_component.md) | 定义图像组成信息。  |
43| struct  [OhosImageSize](_ohos_image_size.md) | 定义图像大小。  |
44| struct  [ImagePacker_Opts_](_image_packer___opts__.md) | 定义图像编码选项信息。  |
45| struct  [OhosPixelMapInfos](_ohos_pixel_map_infos.md) | 用于定义PixelMap的相关信息。  |
46| struct  [OhosPixelMapCreateOps](_ohos_pixel_map_create_ops.md) | 用于定义创建PixelMap设置选项的相关信息。  |
47| struct  [OhosPixelMapInfo](_o_h_o_s_1_1_media_1_1_ohos_pixel_map_info.md) | 用于定义PixelMap的相关信息。  |
48| struct  [OhosImageReceiverInfo](_ohos_image_receiver_info.md) | 定义**ImageReceiver**的相关信息。  |
49| struct  [OhosImageRegion](_ohos_image_region.md) | 定义图像源解码的范围选项。  |
50| struct  [OhosImageSourceOps](_ohos_image_source_ops.md) | 定义图像源选项信息。  |
51| struct  [OhosImageDecodingOps](_ohos_image_decoding_ops.md) | 定义图像源解码选项。  |
52| struct  [OhosImageSourceInfo](_ohos_image_source_info.md) | 定义图像源信息。  |
53| struct  [OhosImageSource](_ohos_image_source.md) | 定义图像源输入资源,每次仅接收一种类型。  |
54| struct  [OhosImageSourceDelayTimeList](_ohos_image_source_delay_time_list.md) | 定义图像源延迟时间列表。  |
55| struct  [OhosImageSourceSupportedFormat](_ohos_image_source_supported_format.md) | 定义图像源支持的格式字符串。   |
56| struct  [OhosImageSourceSupportedFormatList](_ohos_image_source_supported_format_list.md) | 定义图像源支持的格式字符串列表。   |
57| struct  [OhosImageSourceProperty](_ohos_image_source_property.md) | 定义图像源属性键值字符串。   |
58| struct  [OhosImageSourceUpdateData](_ohos_image_source_update_data.md) | 定义图像源更新数据选项。  |
59
60
61### 宏定义
62
63| 名称 | 描述 |
64| -------- | -------- |
65| **IMAGE_RESULT_BASE** 62980096 | 接口返回值的基础值。  |
66
67
68### 类型定义
69
70| 名称 | 描述 |
71| -------- | -------- |
72| typedef struct ImageNative_ [ImageNative](#imagenative) | 为图像接口定义native层图像对象。  |
73| typedef struct ImagePacker_Native_ [ImagePacker_Native](#imagepacker_native) | 为编码器方法定义native层编码器对象。  |
74| typedef struct [ImagePacker_Opts_](_image_packer___opts__.md) [ImagePacker_Opts](#imagepacker_opts) | 定义图像编码选项的别名。  |
75| typedef struct NativePixelMap_ [NativePixelMap](#nativepixelmap) | 定义native层PixelMap数据类型名称。  |
76| typedef struct [OhosPixelMapInfos](_ohos_pixel_map_infos.md) [OhosPixelMapInfos](#ohospixelmapinfos) | 用于定义PixelMap的相关信息。  |
77| typedef struct ImageReceiverNative_ [ImageReceiverNative](#imagereceivernative) | 用于定义ImageReceiverNative数据类型名称。  |
78| typedef void(\* [OH_Image_Receiver_On_Callback](#oh_image_receiver_on_callback)) () | 定义native层图片的回调方法。  |
79| typedef struct ImageSourceNative_ [ImageSourceNative](#imagesourcenative) | 为图像源方法定义native层图像源对象。  |
80
81
82### 枚举
83
84| 名称 | 描述 |
85| -------- | -------- |
86| { OHOS_IMAGE_FORMAT_YCBCR_422_SP = 1000,<br/>OHOS_IMAGE_FORMAT_JPEG = 2000 } | 图像格式枚举值。 |
87| { OHOS_IMAGE_COMPONENT_FORMAT_YUV_Y = 1,<br/>OHOS_IMAGE_COMPONENT_FORMAT_YUV_U = 2,<br/>OHOS_IMAGE_COMPONENT_FORMAT_YUV_V = 3,<br/>OHOS_IMAGE_COMPONENT_FORMAT_JPEG = 4 } | 图像组成类型枚举值。 |
88| [IRNdkErrCode](#irndkerrcode-1) {<br/>IMAGE_RESULT_SUCCESS = 0, IMAGE_RESULT_BAD_PARAMETER = -1,<br/>IMAGE_RESULT_IMAGE_RESULT_BASE = IMAGE_RESULT_BASE,<br/>IMAGE_RESULT_ERR_IPC = IMAGE_RESULT_BASE + 1,<br/>IMAGE_RESULT_ERR_SHAMEM_NOT_EXIST = IMAGE_RESULT_BASE + 2,<br/>IMAGE_RESULT_ERR_SHAMEM_DATA_ABNORMAL = IMAGE_RESULT_BASE + 3,<br/>IMAGE_RESULT_DECODE_ABNORMAL = IMAGE_RESULT_BASE + 4,<br/>IMAGE_RESULT_DATA_ABNORMAL = IMAGE_RESULT_BASE + 5,<br/>IMAGE_RESULT_MALLOC_ABNORMAL = IMAGE_RESULT_BASE + 6,<br/>IMAGE_RESULT_DATA_UNSUPPORT = IMAGE_RESULT_BASE + 7,<br/>IMAGE_RESULT_INIT_ABNORMAL = IMAGE_RESULT_BASE + 8,<br/>IMAGE_RESULT_GET_DATA_ABNORMAL = IMAGE_RESULT_BASE + 9,<br/>IMAGE_RESULT_TOO_LARGE = IMAGE_RESULT_BASE + 10,<br/>IMAGE_RESULT_TRANSFORM = IMAGE_RESULT_BASE + 11,<br/>IMAGE_RESULT_COLOR_CONVERT = IMAGE_RESULT_BASE + 12,<br/>IMAGE_RESULT_CROP = IMAGE_RESULT_BASE + 13,<br/>IMAGE_RESULT_SOURCE_DATA = IMAGE_RESULT_BASE + 14,<br/>IMAGE_RESULT_SOURCE_DATA_INCOMPLETE = IMAGE_RESULT_BASE + 15,<br/>IMAGE_RESULT_MISMATCHED_FORMAT = IMAGE_RESULT_BASE + 16,<br/>IMAGE_RESULT_UNKNOWN_FORMAT = IMAGE_RESULT_BASE + 17,<br/>IMAGE_RESULT_SOURCE_UNRESOLVED = IMAGE_RESULT_BASE + 18,<br/>IMAGE_RESULT_INVALID_PARAMETER = IMAGE_RESULT_BASE + 19,<br/>IMAGE_RESULT_DECODE_FAILED = IMAGE_RESULT_BASE + 20,<br/>IMAGE_RESULT_PLUGIN_REGISTER_FAILED = IMAGE_RESULT_BASE + 21,<br/>IMAGE_RESULT_PLUGIN_CREATE_FAILED = IMAGE_RESULT_BASE + 22,<br/>IMAGE_RESULT_ENCODE_FAILED = IMAGE_RESULT_BASE + 23,<br/>IMAGE_RESULT_ADD_PIXEL_MAP_FAILED = IMAGE_RESULT_BASE + 24,<br/>IMAGE_RESULT_HW_DECODE_UNSUPPORT = IMAGE_RESULT_BASE + 25,<br/>IMAGE_RESULT_DECODE_HEAD_ABNORMAL = IMAGE_RESULT_BASE + 26,<br/>IMAGE_RESULT_DECODE_EXIF_UNSUPPORT = IMAGE_RESULT_BASE + 27,<br/>IMAGE_RESULT_PROPERTY_NOT_EXIST = IMAGE_RESULT_BASE + 28,<br/>IMAGE_RESULT_MEDIA_DATA_UNSUPPORT = IMAGE_RESULT_BASE + 30,<br/>IMAGE_RESULT_MEDIA_TOO_LARGE = IMAGE_RESULT_BASE + 31,<br/>IMAGE_RESULT_MEDIA_MALLOC_FAILED = IMAGE_RESULT_BASE + 32,<br/>IMAGE_RESULT_MEDIA_END_OF_STREAM = IMAGE_RESULT_BASE + 33,<br/>IMAGE_RESULT_MEDIA_IO_ABNORMAL = IMAGE_RESULT_BASE + 34,<br/>IMAGE_RESULT_MEDIA_MALFORMED = IMAGE_RESULT_BASE + 35,<br/>IMAGE_RESULT_MEDIA_BUFFER_TOO_SMALL = IMAGE_RESULT_BASE + 36,<br/>IMAGE_RESULT_MEDIA_OUT_OF_RANGE = IMAGE_RESULT_BASE + 37,<br/>IMAGE_RESULT_MEDIA_STATUS_ABNORMAL = IMAGE_RESULT_BASE + 38,<br/>IMAGE_RESULT_MEDIA_VALUE_INVALID = IMAGE_RESULT_BASE + 39,<br/>IMAGE_RESULT_MEDIA_NULL_POINTER = IMAGE_RESULT_BASE + 40,<br/>IMAGE_RESULT_MEDIA_INVALID_OPERATION = IMAGE_RESULT_BASE + 41,<br/>IMAGE_RESULT_MEDIA_ERR_PLAYER_NOT_INIT = IMAGE_RESULT_BASE + 42,<br/>IMAGE_RESULT_MEDIA_EARLY_PREPARE = IMAGE_RESULT_BASE + 43,<br/>IMAGE_RESULT_MEDIA_SEEK_ERR = IMAGE_RESULT_BASE + 44,<br/>IMAGE_RESULT_MEDIA_PERMISSION_DENIED = IMAGE_RESULT_BASE + 45,<br/>IMAGE_RESULT_MEDIA_DEAD_OBJECT = IMAGE_RESULT_BASE + 46,<br/>IMAGE_RESULT_MEDIA_TIMED_OUT = IMAGE_RESULT_BASE + 47,<br/>IMAGE_RESULT_MEDIA_TRACK_NOT_ALL_SUPPORTED = IMAGE_RESULT_BASE + 48,<br/>IMAGE_RESULT_MEDIA_ADAPTER_INIT_FAILED = IMAGE_RESULT_BASE + 49,<br/>IMAGE_RESULT_MEDIA_WRITE_PARCEL_FAIL = IMAGE_RESULT_BASE + 50,<br/>IMAGE_RESULT_MEDIA_READ_PARCEL_FAIL = IMAGE_RESULT_BASE + 51,<br/>IMAGE_RESULT_MEDIA_NO_AVAIL_BUFFER = IMAGE_RESULT_BASE + 52,<br/>IMAGE_RESULT_MEDIA_INVALID_PARAM = IMAGE_RESULT_BASE + 53,<br/>IMAGE_RESULT_MEDIA_CODEC_ADAPTER_NOT_EXIST = IMAGE_RESULT_BASE + 54,<br/>IMAGE_RESULT_MEDIA_CREATE_CODEC_ADAPTER_FAILED = IMAGE_RESULT_BASE + 55,<br/>IMAGE_RESULT_MEDIA_CODEC_ADAPTER_NOT_INIT = IMAGE_RESULT_BASE + 56,<br/>IMAGE_RESULT_MEDIA_ZCODEC_CREATE_FAILED = IMAGE_RESULT_BASE + 57,<br/>IMAGE_RESULT_MEDIA_ZCODEC_NOT_EXIST = IMAGE_RESULT_BASE + 58,<br/>IMAGE_RESULT_MEDIA_JNI_CLASS_NOT_EXIST = IMAGE_RESULT_BASE + 59,<br/>IMAGE_RESULT_MEDIA_JNI_METHOD_NOT_EXIST = IMAGE_RESULT_BASE + 60,<br/>IMAGE_RESULT_MEDIA_JNI_NEW_OBJ_FAILED = IMAGE_RESULT_BASE + 61,<br/>IMAGE_RESULT_MEDIA_JNI_COMMON_ERROR = IMAGE_RESULT_BASE + 62,<br/>IMAGE_RESULT_MEDIA_DISTRIBUTE_NOT_SUPPORT = IMAGE_RESULT_BASE + 63,<br/>IMAGE_RESULT_MEDIA_SOURCE_NOT_SET = IMAGE_RESULT_BASE + 64,<br/>IMAGE_RESULT_MEDIA_RTSP_ADAPTER_NOT_INIT = IMAGE_RESULT_BASE + 65,<br/>IMAGE_RESULT_MEDIA_RTSP_ADAPTER_NOT_EXIST = IMAGE_RESULT_BASE + 66,<br/>IMAGE_RESULT_MEDIA_RTSP_SURFACE_UNSUPPORT = IMAGE_RESULT_BASE + 67,<br/>IMAGE_RESULT_MEDIA_RTSP_CAPTURE_NOT_INIT = IMAGE_RESULT_BASE + 68,<br/>IMAGE_RESULT_MEDIA_RTSP_SOURCE_URL_INVALID = IMAGE_RESULT_BASE + 69,<br/>IMAGE_RESULT_MEDIA_RTSP_VIDEO_TRACK_NOT_FOUND = IMAGE_RESULT_BASE + 70,<br/>IMAGE_RESULT_MEDIA_RTSP_CAMERA_NUM_REACH_MAX = IMAGE_RESULT_BASE + 71,<br/>IMAGE_RESULT_MEDIA_SET_VOLUME = IMAGE_RESULT_BASE + 72,<br/>IMAGE_RESULT_MEDIA_NUMBER_OVERFLOW = IMAGE_RESULT_BASE + 73,<br/>IMAGE_RESULT_MEDIA_DIS_PLAYER_UNSUPPORTED = IMAGE_RESULT_BASE + 74,<br/>IMAGE_RESULT_MEDIA_DENCODE_ICC_FAILED = IMAGE_RESULT_BASE + 75,<br/>IMAGE_RESULT_MEDIA_ENCODE_ICC_FAILED = IMAGE_RESULT_BASE + 76,<br/>IMAGE_RESULT_MEDIA_READ_PIXELMAP_FAILED = IMAGE_RESULT_BASE + 150,<br/>IMAGE_RESULT_MEDIA_WRITE_PIXELMAP_FAILED = IMAGE_RESULT_BASE + 151,<br/>IMAGE_RESULT_MEDIA_PIXELMAP_NOT_ALLOW_MODIFY = IMAGE_RESULT_BASE + 152,<br/>IMAGE_RESULT_MEDIA_CONFIG_FAILED = IMAGE_RESULT_BASE + 153,<br/>IMAGE_RESULT_JNI_ENV_ABNORMAL = IMAGE_RESULT_BASE + 154,<br/>IMAGE_RESULT_SURFACE_GRALLOC_BUFFER_FAILED = IMAGE_RESULT_BASE + 155,<br/>IMAGE_RESULT_CREATE_SURFACE_FAILED = IMAGE_RESULT_BASE + 156,<br/>IMAGE_RESULT_SURFACE_GET_PARAMETER_FAILED = IMAGE_RESULT_BASE + 157,<br/>IMAGE_RESULT_GET_SURFACE_FAILED = IMAGE_RESULT_BASE + 158,<br/>IMAGE_RESULT_SURFACE_ACQUIRE_BUFFER_FAILED = IMAGE_RESULT_BASE + 159,<br/>IMAGE_RESULT_SURFACE_REQUEST_BUFFER_FAILED = IMAGE_RESULT_BASE + 160,<br/>IMAGE_RESULT_REGISTER_LISTENER_FAILED = IMAGE_RESULT_BASE + 161,<br/>IMAGE_RESULT_REGISTER_BUFFER_FAILED = IMAGE_RESULT_BASE + 162,<br/>IMAGE_RESULT_FREAD_FAILED = IMAGE_RESULT_BASE + 163,<br/>IMAGE_RESULT_PEEK_FAILED = IMAGE_RESULT_BASE + 164,<br/>IMAGE_RESULT_SEEK_FAILED = IMAGE_RESULT_BASE + 165,<br/>IMAGE_RESULT_STREAM_SIZE_ERROR = IMAGE_RESULT_BASE + 166,<br/>IMAGE_RESULT_FILE_FD_ERROR = IMAGE_RESULT_BASE + 167,<br/>IMAGE_RESULT_FILE_DAMAGED = IMAGE_RESULT_BASE + 168,<br/>IMAGE_RESULT_CREATE_DECODER_FAILED = IMAGE_RESULT_BASE + 169,<br/>IMAGE_RESULT_CREATE_ENCODER_FAILED = IMAGE_RESULT_BASE + 170,<br/>IMAGE_RESULT_CHECK_FORMAT_ERROR = IMAGE_RESULT_BASE + 171,<br/>IMAGE_RESULT_THIRDPART_SKIA_ERROR = IMAGE_RESULT_BASE + 172,<br/>IMAGE_RESULT_HW_DECODE_FAILED = IMAGE_RESULT_BASE + 173,<br/>IMAGE_RESULT_ALLOCATER_TYPE_ERROR = IMAGE_RESULT_BASE + 174,<br/>IMAGE_RESULT_ALPHA_TYPE_ERROR = IMAGE_RESULT_BASE + 175,<br/>IMAGE_RESULT_INDEX_INVALID = IMAGE_RESULT_BASE + 176,<br/>IMAGE_RESULT_MEDIA_UNKNOWN = IMAGE_RESULT_BASE + 200<br/>} | 可能出现的返回值的枚举。 |
89| { OHOS_PIXEL_MAP_ALPHA_TYPE_UNKNOWN = 0,<br/>OHOS_PIXEL_MAP_ALPHA_TYPE_OPAQUE = 1,<br/>OHOS_PIXEL_MAP_ALPHA_TYPE_PREMUL = 2,<br/>OHOS_PIXEL_MAP_ALPHA_TYPE_UNPREMUL = 3 } | PixelMap 透明度类型的枚举。 |
90| { OHOS_PIXEL_MAP_READ_ONLY = 0,<br/>OHOS_PIXEL_MAP_EDITABLE = 1 } | PixelMap 编辑类型的枚举。 |
91| [OH_PixelMap_AntiAliasingLevel](#oh_pixelmap_antialiasinglevel) { <br/>OH_PixelMap_AntiAliasing_NONE = 0, <br/>OH_PixelMap_AntiAliasing_LOW = 1, <br/>OH_PixelMap_AntiAliasing_MEDIUM = 2, <br/>OH_PixelMap_AntiAliasing_HIGH = 3 <br/>} | Pixelmap缩放时采用的缩放算法。  |
92| { OHOS_IMAGE_RESULT_SUCCESS = 0,<br/>OHOS_IMAGE_RESULT_BAD_PARAMETER = -1 } | 函数方法返回值的错误码的枚举。 |
93| { OHOS_PIXEL_MAP_FORMAT_NONE = 0,<br/>OHOS_PIXEL_MAP_FORMAT_RGBA_8888 = 3,<br/>OHOS_PIXEL_MAP_FORMAT_RGB_565 = 2 } | pixel 格式的枚举。 |
94| { OHOS_PIXEL_MAP_SCALE_MODE_FIT_TARGET_SIZE = 0,<br/>OHOS_PIXEL_MAP_SCALE_MODE_CENTER_CROP = 1 } | PixelMap 缩放类型的枚举。 |
95
96
97### 函数
98
99| 名称 | 描述 |
100| -------- | -------- |
101| [ImageNative](#imagenative) \* [OH_Image_InitImageNative](#oh_image_initimagenative) (napi_env env, napi_value source) | 从输入的JavaScript Native API **图像** 对象中解析 native **ImageNative** 对象。  |
102| int32_t [OH_Image_ClipRect](#oh_image_cliprect) (const [ImageNative](#imagenative) \*native, struct [OhosImageRect](_o_h_o_s_1_1_media_1_1_ohos_image_rect.md) \*rect) | 获取native **ImageNative** 对象 [OhosImageRect](_o_h_o_s_1_1_media_1_1_ohos_image_rect.md) 信息。  |
103| int32_t [OH_Image_Size](#oh_image_size) (const [ImageNative](#imagenative) \*native, struct [OhosImageSize](_ohos_image_size.md) \*size) | 获取native **ImageNative** 对象的 [OhosImageSize](_ohos_image_size.md) 信息。  |
104| int32_t [OH_Image_Format](#oh_image_format) (const [ImageNative](#imagenative) \*native, int32_t \*format) | 获取native **ImageNative** 对象的图像格式。  |
105| int32_t [OH_Image_GetComponent](#oh_image_getcomponent) (const [ImageNative](#imagenative) \*native, int32_t componentType, struct [OhosImageComponent](_o_h_o_s_1_1_media_1_1_ohos_image_component.md) \*componentNative) | 从 native **ImageNative** 对象中获取 [OhosImageComponent](_o_h_o_s_1_1_media_1_1_ohos_image_component.md)。  |
106| int32_t [OH_Image_Release](#oh_image_release) ([ImageNative](#imagenative) \*native) | 释放 **ImageNative** native对象。   |
107| int32_t [OH_ImagePacker_Create](#oh_imagepacker_create) (napi_env env, napi_value \*res) | 获取JavaScript native层ImagePacker对象。  |
108| [ImagePacker_Native](#imagepacker_native) \* [OH_ImagePacker_InitNative](#oh_imagepacker_initnative) (napi_env env, napi_value packer) | 从输入JavaScript native层ImagePacker对象中,转换成ImagePacker_Native值。  |
109| int32_t [OH_ImagePacker_PackToData](#oh_imagepacker_packtodata) ([ImagePacker_Native](#imagepacker_native) \*native, napi_value source, [ImagePacker_Opts](#imagepacker_opts) \*opts, uint8_t \*outData, size_t \*size) | 通过一个给定的选项ImagePacker_Opts结构体,将输入JavaScript native层PixelMap对象或者ImageSource对象编码并输出到指定的缓存区outData中。 |
110| int32_t [OH_ImagePacker_PackToFile](#oh_imagepacker_packtofile) ([ImagePacker_Native](#imagepacker_native) \*native, napi_value source, [ImagePacker_Opts](#imagepacker_opts) \*opts, int fd) | 通过一个给定的选项ImagePacker_Opts结构体,将输入JavaScript native层PixelMap对象或者ImageSource对象编码并输出到指定的文件中。 |
111| int32_t [OH_ImagePacker_Release](#oh_imagepacker_release) ([ImagePacker_Native](#imagepacker_native) \*native) | 释放native层编码器对象[ImagePacker_Native](#imagepacker_native)。 |
112| int32_t [OH_PixelMap_CreatePixelMap](#oh_pixelmap_createpixelmap) (napi_env env, [OhosPixelMapCreateOps](_ohos_pixel_map_create_ops.md) info, void \*buf, size_t len, napi_value \*res) | 创建**PixelMap**对象。  |
113| int32_t [OH_PixelMap_CreatePixelMapWithStride](#oh_pixelmap_createpixelmapwithstride) (napi_env env, [OhosPixelMapCreateOps](_ohos_pixel_map_create_ops.md) info, void \*buf, size_t len, int32_t rowStride, napi_value \*res) | 创建**PixelMap**对象。当前只支持输入流为BGRA格式的流。pixelmap内存在RGBA格式下,默认为DMA内存(图片512\*512以上)。  |
114| int32_t [OH_PixelMap_CreateAlphaPixelMap](#oh_pixelmap_createalphapixelmap) (napi_env env, napi_value source, napi_value \*alpha) | 根据Alpha通道的信息,来生成一个仅包含Alpha通道信息的**PixelMap**对象。  |
115| [NativePixelMap](#nativepixelmap) \* [OH_PixelMap_InitNativePixelMap](#oh_pixelmap_initnativepixelmap) (napi_env env, napi_value source) | 初始化**NativePixelMap**对象。  |
116| int32_t [OH_PixelMap_GetBytesNumberPerRow](#oh_pixelmap_getbytesnumberperrow) (const [NativePixelMap](#nativepixelmap) \*native, int32_t \*num) | 获取**PixelMap**对象每行字节数。  |
117| int32_t [OH_PixelMap_GetIsEditable](#oh_pixelmap_getiseditable) (const [NativePixelMap](#nativepixelmap) \*native, int32_t \*editable) | 获取**PixelMap**对象是否可编辑的状态。  |
118| int32_t [OH_PixelMap_IsSupportAlpha](#oh_pixelmap_issupportalpha) (const [NativePixelMap](#nativepixelmap) \*native, int32_t \*alpha) | 获取**PixelMap**对象是否支持Alpha通道。  |
119| int32_t [OH_PixelMap_SetAlphaAble](#oh_pixelmap_setalphaable) (const [NativePixelMap](#nativepixelmap) \*native, int32_t alpha) | 设置**PixelMap**对象的Alpha通道。  |
120| int32_t [OH_PixelMap_GetDensity](#oh_pixelmap_getdensity) (const [NativePixelMap](#nativepixelmap) \*native, int32_t \*density) | 获取**PixelMap**对象像素密度。  |
121| int32_t [OH_PixelMap_SetDensity](#oh_pixelmap_setdensity) (const [NativePixelMap](#nativepixelmap) \*native, int32_t density) | 设置**PixelMap**对象像素密度。  |
122| int32_t [OH_PixelMap_SetOpacity](#oh_pixelmap_setopacity) (const [NativePixelMap](#nativepixelmap) \*native, float opacity) | 设置**PixelMap**对象的透明度。  |
123| int32_t [OH_PixelMap_Scale](#oh_pixelmap_scale) (const [NativePixelMap](#nativepixelmap) \*native, float x, float y) | 设置**PixelMap**对象的缩放。  |
124| int32_t [OH_PixelMap_ScaleWithAntiAliasing](#oh_pixelmap_scalewithantialiasing) (const [NativePixelMap](#nativepixelmap) \*native, float x, float y, [OH_PixelMap_AntiAliasingLevel](#oh_pixelmap_antialiasinglevel) level) | 根据指定的缩放算法和输入的宽高对图片进行缩放。  |
125| int32_t [OH_PixelMap_Translate](#oh_pixelmap_translate) (const [NativePixelMap](#nativepixelmap) \*native, float x, float y) | 设置**PixelMap**对象的偏移。  |
126| int32_t [OH_PixelMap_Rotate](#oh_pixelmap_rotate) (const [NativePixelMap](#nativepixelmap) \*native, float angle) | 设置**PixelMap**对象的旋转。  |
127| int32_t [OH_PixelMap_Flip](#oh_pixelmap_flip) (const [NativePixelMap](#nativepixelmap) \*native, int32_t x, int32_t y) | 设置**PixelMap**对象的翻转。  |
128| int32_t [OH_PixelMap_Crop](#oh_pixelmap_crop) (const [NativePixelMap](#nativepixelmap) \*native, int32_t x, int32_t y, int32_t width, int32_t height) | 设置**PixelMap**对象的裁剪。  |
129| int32_t [OH_PixelMap_GetImageInfo](#oh_pixelmap_getimageinfo) (const [NativePixelMap](#nativepixelmap) \*native, [OhosPixelMapInfos](_ohos_pixel_map_infos.md) \*info) | 获取**PixelMap**对象图像信息。  |
130| int32_t [OH_PixelMap_AccessPixels](#oh_pixelmap_accesspixels) (const [NativePixelMap](#nativepixelmap) \*native, void \*\*addr) | 获取native **PixelMap** 对象数据的内存地址,并锁定该内存。  |
131| int32_t [OH_PixelMap_UnAccessPixels](#oh_pixelmap_unaccesspixels) (const [NativePixelMap](#nativepixelmap) \*native) | 释放native **PixelMap**对象数据的内存锁,用于匹配方法[OH_PixelMap_AccessPixels](#oh_pixelmap_accesspixels)。  |
132| int32_t [OH_GetImageInfo](#oh_getimageinfo) (napi_env env, napi_value value, [OhosPixelMapInfo](_o_h_o_s_1_1_media_1_1_ohos_pixel_map_info.md) \*info) | 获取 **PixelMap** 的信息,并记录信息到[OhosPixelMapInfo](_o_h_o_s_1_1_media_1_1_ohos_pixel_map_info.md)结构中。  |
133| int32_t [OH_AccessPixels](#oh_accesspixels) (napi_env env, napi_value value, void \*\*addrPtr) | 获取**PixelMap**对象数据的内存地址,并锁定该内存。  |
134| int32_t [OH_UnAccessPixels](#oh_unaccesspixels) (napi_env env, napi_value value) | 释放**PixelMap**对象数据的内存锁, 用于匹配方法**OH_AccessPixels**。  |
135| int32_t [OH_Image_Receiver_CreateImageReceiver](#oh_image_receiver_createimagereceiver) (napi_env env, struct [OhosImageReceiverInfo](_ohos_image_receiver_info.md) info, napi_value \*res) | 创建应用层 **ImageReceiver** 对象。  |
136| [ImageReceiverNative](#imagereceivernative) \* [OH_Image_Receiver_InitImageReceiverNative](#oh_image_receiver_initimagereceivernative) (napi_env env, napi_value source) | 通过应用层**ImageReceiver**对象初始化native层[ImageReceiverNative](#imagereceivernative)对象。  |
137| int32_t [OH_Image_Receiver_GetReceivingSurfaceId](#oh_image_receiver_getreceivingsurfaceid) (const [ImageReceiverNative](#imagereceivernative) \*native, char \*id, size_t len) | 通过[ImageReceiverNative](#imagereceivernative)获取receiver的id。  |
138| int32_t [OH_Image_Receiver_ReadLatestImage](#oh_image_receiver_readlatestimage) (const [ImageReceiverNative](#imagereceivernative) \*native, napi_value \*image) | 通过[ImageReceiverNative](#imagereceivernative)获取最新的一张图片。  |
139| int32_t [OH_Image_Receiver_ReadNextImage](#oh_image_receiver_readnextimage) (const [ImageReceiverNative](#imagereceivernative) \*native, napi_value \*image) | 通过[ImageReceiverNative](#imagereceivernative)获取下一张图片。  |
140| int32_t [OH_Image_Receiver_On](#oh_image_receiver_on) (const [ImageReceiverNative](#imagereceivernative) \*native, [OH_Image_Receiver_On_Callback](#oh_image_receiver_on_callback) callback) | 注册一个[OH_Image_Receiver_On_Callback](#oh_image_receiver_on_callback)回调事件。每当接收新图片,该回调事件就会响应。  |
141| int32_t [OH_Image_Receiver_GetSize](#oh_image_receiver_getsize) (const [ImageReceiverNative](#imagereceivernative) \*native, struct [OhosImageSize](_ohos_image_size.md) \*size) | 通过[ImageReceiverNative](#imagereceivernative)获取**ImageReceiver**的大小。  |
142| int32_t [OH_Image_Receiver_GetCapacity](#oh_image_receiver_getcapacity) (const [ImageReceiverNative](#imagereceivernative) \*native, int32_t \*capacity) | 通过[ImageReceiverNative](#imagereceivernative)获取**ImageReceiver**的容量。  |
143| int32_t [OH_Image_Receiver_GetFormat](#oh_image_receiver_getformat) (const [ImageReceiverNative](#imagereceivernative) \*native, int32_t \*format) | 通过[ImageReceiverNative](#imagereceivernative)获取**ImageReceiver**的格式。  |
144| int32_t [OH_Image_Receiver_Release](#oh_image_receiver_release) ([ImageReceiverNative](#imagereceivernative) \*native) | 释放native层 [ImageReceiverNative](#imagereceivernative) 对象。 |
145| int32_t [OH_ImageSource_Create](#oh_imagesource_create) (napi_env env, struct [OhosImageSource](_ohos_image_source.md) \*src, struct [OhosImageSourceOps](_ohos_image_source_ops.md) \*ops, napi_value \*res) | 通过给定的信息[OhosImageSource](_ohos_image_source.md)和[OhosImageSourceOps](_ohos_image_source_ops.md)结构体,获取JavaScript native层**ImageSource**对象。  |
146| int32_t [OH_ImageSource_CreateFromUri](#oh_imagesource_createfromuri) (napi_env env, char \*uri, size_t size, struct [OhosImageSourceOps](_ohos_image_source_ops.md) \*ops, napi_value \*res) | 通过给定的标识符URI和[OhosImageSourceOps](_ohos_image_source_ops.md)结构体,获取JavaScript native层**ImageSource**对象。  |
147| int32_t [OH_ImageSource_CreateFromFd](#oh_imagesource_createfromfd) (napi_env env, int32_t fd, struct [OhosImageSourceOps](_ohos_image_source_ops.md) \*ops, napi_value \*res) | 通过给定的文件描述符fd和[OhosImageSourceOps](_ohos_image_source_ops.md)结构体,获取JavaScript native层**ImageSource**对象。  |
148| int32_t [OH_ImageSource_CreateFromData](#oh_imagesource_createfromdata) (napi_env env, uint8_t \*data, size_t dataSize, struct [OhosImageSourceOps](_ohos_image_source_ops.md) \*ops, napi_value \*res) | 通过给定的图像源缓冲区资源data和[OhosImageSourceOps](_ohos_image_source_ops.md)结构体,获取JavaScript native层**ImageSource**对象。  |
149| int32_t [OH_ImageSource_CreateFromRawFile](#oh_imagesource_createfromrawfile) (napi_env env, RawFileDescriptor rawFile, struct [OhosImageSourceOps](_ohos_image_source_ops.md) \*ops, napi_value \*res) | 通过给定的资源描述符**RawFileDescriptor**和[OhosImageSourceOps](_ohos_image_source_ops.md)结构体,获取JavaScript native层**ImageSource**对象。  |
150| int32_t [OH_ImageSource_CreateIncremental](#oh_imagesource_createincremental) (napi_env env, struct [OhosImageSource](_ohos_image_source.md) \*source, struct [OhosImageSourceOps](_ohos_image_source_ops.md) \*ops, napi_value \*res) | 通过给定的infomations[OhosImageSource](_ohos_image_source.md)和[OhosImageSourceOps](_ohos_image_source_ops.md)结构,获取增量类型的JavaScript native层**ImageSource**对象。  |
151| int32_t [OH_ImageSource_CreateIncrementalFromData](#oh_imagesource_createincrementalfromdata) (napi_env env, uint8_t \*data, size_t dataSize, struct [OhosImageSourceOps](_ohos_image_source_ops.md) \*ops, napi_value \*res) | 通过给定的图像源缓冲区资源data和[OhosImageSourceOps](_ohos_image_source_ops.md)结构体,获取增量类型的JavaScript Native API ImageSource对象,图像数据应通过OH_ImageSource_UpdateData更新。  |
152| int32_t [OH_ImageSource_GetSupportedFormats](#oh_imagesource_getsupportedformats) (struct [OhosImageSourceSupportedFormatList](_ohos_image_source_supported_format_list.md) \*res) | 获取所有支持的解码格式元标记。  |
153| [ImageSourceNative](#imagesourcenative) \* [OH_ImageSource_InitNative](#oh_imagesource_initnative) (napi_env env, napi_value source) | 从输入JavaScript native层**ImageSource** 对象中,转换成[ImageSourceNative](#imagesourcenative)值。  |
154| int32_t [OH_ImageSource_CreatePixelMap](#oh_imagesource_createpixelmap) (const [ImageSourceNative](#imagesourcenative) \*native, struct [OhosImageDecodingOps](_ohos_image_decoding_ops.md) \*ops, napi_value \*res) | 通过一个给定的选项[OhosImageDecodingOps](_ohos_image_decoding_ops.md)结构体,从**ImageSource**中解码JavaScript native层**PixelMap**对象  |
155| int32_t [OH_ImageSource_CreatePixelMapList](#oh_imagesource_createpixelmaplist) (const [ImageSourceNative](#imagesourcenative) \*native, struct [OhosImageDecodingOps](_ohos_image_decoding_ops.md) \*ops, napi_value \*res) | 通过一个给定的选项[OhosImageDecodingOps](_ohos_image_decoding_ops.md)结构体,从**ImageSource**中解码所有的JavaScript native层**PixelMap**对象列表  |
156| int32_t [OH_ImageSource_GetDelayTime](#oh_imagesource_getdelaytime) (const [ImageSourceNative](#imagesourcenative) \*native, struct [OhosImageSourceDelayTimeList](_ohos_image_source_delay_time_list.md) \*res) | 从一些**ImageSource**(如GIF图像源)获取延迟时间列表。  |
157| int32_t [OH_ImageSource_GetFrameCount](#oh_imagesource_getframecount) (const [ImageSourceNative](#imagesourcenative) \*native, uint32_t \*res) | 从**ImageSource**中获取帧计数。  |
158| int32_t [OH_ImageSource_GetImageInfo](#oh_imagesource_getimageinfo) (const [ImageSourceNative](#imagesourcenative) \*native, int32_t index, struct [OhosImageSourceInfo](_ohos_image_source_info.md) \*info) | 通过索引从**ImageSource**获取图像源信息。  |
159| int32_t [OH_ImageSource_GetImageProperty](#oh_imagesource_getimageproperty) (const [ImageSourceNative](#imagesourcenative) \*native, struct [OhosImageSourceProperty](_ohos_image_source_property.md) \*key, struct [OhosImageSourceProperty](_ohos_image_source_property.md) \*value) | 通过关键字从**ImageSource**中获取图像源属性。  |
160| int32_t [OH_ImageSource_ModifyImageProperty](#oh_imagesource_modifyimageproperty) (const [ImageSourceNative](#imagesourcenative) \*native, struct [OhosImageSourceProperty](_ohos_image_source_property.md) \*key, struct [OhosImageSourceProperty](_ohos_image_source_property.md) \*value) | 通过关键字为**ImageSource**修改图像源属性。  |
161| int32_t [OH_ImageSource_UpdateData](#oh_imagesource_updatedata) (const [ImageSourceNative](#imagesourcenative) \*native, struct [OhosImageSourceUpdateData](_ohos_image_source_update_data.md) \*data) | 为了增量类型的**ImageSource**更新源数据。  |
162| int32_t [OH_ImageSource_Release](#oh_imagesource_release) ([ImageSourceNative](#imagesourcenative) \*native) | 释放native层图像源**ImageSourceNative**。  |
163
164
165### 变量
166
167| 名称 | 描述 |
168| -------- | -------- |
169| const char \* [OHOS_IMAGE_PROPERTY_BITS_PER_SAMPLE](#ohos_image_property_bits_per_sample) = "BitsPerSample" | 定义每个样本比特的图像属性关键字。  |
170| const char \* [OHOS_IMAGE_PROPERTY_ORIENTATION](#ohos_image_property_orientation) = "Orientation" | 定义方向的图像属性关键字。  |
171| const char \* [OHOS_IMAGE_PROPERTY_IMAGE_LENGTH](#ohos_image_property_image_length) = "ImageLength" | 定义图像长度的图像属性关键字。  |
172| const char \* [OHOS_IMAGE_PROPERTY_IMAGE_WIDTH](#ohos_image_property_image_width) = "ImageWidth" | 定义图像宽度的图像属性关键字。  |
173| const char \* [OHOS_IMAGE_PROPERTY_GPS_LATITUDE](#ohos_image_property_gps_latitude) = "GPSLatitude" | 定义GPS纬度的图像属性关键字。  |
174| const char \* [OHOS_IMAGE_PROPERTY_GPS_LONGITUDE](#ohos_image_property_gps_longitude) = "GPSLongitude" | 定义GPS经度的图像属性关键字。  |
175| const char \* [OHOS_IMAGE_PROPERTY_GPS_LATITUDE_REF](#ohos_image_property_gps_latitude_ref) = "GPSLatitudeRef" | 定义GPS纬度参考的图像属性关键字。  |
176| const char \* [OHOS_IMAGE_PROPERTY_GPS_LONGITUDE_REF](#ohos_image_property_gps_longitude_ref) = "GPSLongitudeRef" | 定义GPS经度参考的图像属性关键字。  |
177| const char \* [OHOS_IMAGE_PROPERTY_DATE_TIME_ORIGINAL](#ohos_image_property_date_time_original) = "DateTimeOriginal" | 定义初始日期时间的图像属性关键字。  |
178| const char \* [OHOS_IMAGE_PROPERTY_EXPOSURE_TIME](#ohos_image_property_exposure_time) = "ExposureTime" | 定义曝光时间的图像属性关键字。  |
179| const char \* [OHOS_IMAGE_PROPERTY_SCENE_TYPE](#ohos_image_property_scene_type) = "SceneType" | 定义场景类型的图像属性关键字。  |
180| const char \* [OHOS_IMAGE_PROPERTY_ISO_SPEED_RATINGS](#ohos_image_property_iso_speed_ratings) = "ISOSpeedRatings" | 定义ISO速度等级的图像属性关键字。  |
181| const char \* [OHOS_IMAGE_PROPERTY_F_NUMBER](#ohos_image_property_f_number) = "FNumber" | 定义FNumber的图像属性关键字。  |
182| const char \* [OHOS_IMAGE_PROPERTY_COMPRESSED_BITS_PER_PIXEL](#ohos_image_property_compressed_bits_per_pixel) = "CompressedBitsPerPixel" | 定义每个像素的压缩比特的图像属性关键字。  |
183| int32_t [OhosImageRegion::x](#x) | 起始x坐标,用pixels表示。  |
184| int32_t [OhosImageRegion::y](#y) | 起始y坐标,用pixels表示。  |
185| int32_t [OhosImageRegion::width](#width) | 宽度范围,用pixels表示。  |
186| int32_t [OhosImageRegion::height](#height) | 高度范围,用pixels表示。  |
187| int32_t [OhosImageSourceOps::density](#density-12) | 图像源像素密度。  |
188| int32_t [OhosImageSourceOps::pixelFormat](#pixelformat-13) | 图像源像素格式,通常用于描述YUV缓冲区。  |
189| struct [OhosImageSize](_ohos_image_size.md) [OhosImageSourceOps::size](#size-17) | 图像源像素宽高的大小。  |
190| int8_t [OhosImageDecodingOps::editable](#editable) | 定义输出的像素位图是否可编辑。  |
191| int32_t [OhosImageDecodingOps::pixelFormat](#pixelformat-23) | 定义输出的像素格式。  |
192| int32_t [OhosImageDecodingOps::fitDensity](#fitdensity) | 定义解码目标的像素密度。  |
193| uint32_t [OhosImageDecodingOps::index](#index) | 定义图像源解码指数。  |
194| uint32_t [OhosImageDecodingOps::sampleSize](#samplesize) | 定义解码样本大小选项。  |
195| uint32_t [OhosImageDecodingOps::rotate](#rotate) | 定义解码旋转选项。  |
196| struct [OhosImageSize](_ohos_image_size.md) [OhosImageDecodingOps::size](#size-27) | 定义解码目标像素宽高的大小。  |
197| struct [OhosImageRegion](_ohos_image_region.md) [OhosImageDecodingOps::region](#region) | 定义图像源解码的像素范围。  |
198| int32_t [OhosImageSourceInfo::pixelFormat](#pixelformat-33) | 图像源像素格式,由 [OH_ImageSource_Create](#oh_imagesource_create)设置。  |
199| int32_t [OhosImageSourceInfo::colorSpace](#colorspace) | 图像源色彩空间。  |
200| int32_t [OhosImageSourceInfo::alphaType](#alphatype) | 图像源透明度类型。  |
201| int32_t [OhosImageSourceInfo::density](#density-22) | 图像源密度,由[OH_ImageSource_Create](#oh_imagesource_create)设置。  |
202| struct [OhosImageSize](_ohos_image_size.md) [OhosImageSourceInfo::size](#size-37) | 图像源像素宽高的大小。  |
203| char \* [OhosImageSource::uri](#uri) = nullptr | 图像源资源标识符,接受文件资源或者base64资源。  |
204| size_t [OhosImageSource::uriSize](#urisize) = 0 | 图像源资源长度。  |
205| int32_t [OhosImageSource::fd](#fd) = -1 | 图像源文件资源描述符。  |
206| uint8_t \* [OhosImageSource::buffer](#buffer-12) = nullptr | 图像源缓冲区资源,接受格式化包缓冲区或者base64缓冲区。  |
207| size_t [OhosImageSource::bufferSize](#buffersize-12) = 0 | 图像源缓冲区资源大小。  |
208| int32_t \* [OhosImageSourceDelayTimeList::delayTimeList](#delaytimelist) | 图像源延迟时间列表头地址。  |
209| size_t [OhosImageSourceDelayTimeList::size](#size-47) = 0 | 图像源延迟时间列表大小。  |
210| char \* [OhosImageSourceSupportedFormat::format](#format) = nullptr | 图像源支持的格式字符串头地址。  |
211| size_t [OhosImageSourceSupportedFormat::size](#size-57) = 0 | 图像源支持的格式字符串大小。  |
212| struct [OhosImageSourceSupportedFormat](_ohos_image_source_supported_format.md) \*\* [OhosImageSourceSupportedFormatList::supportedFormatList](#supportedformatlist) = nullptr | 图像源支持的格式字符串列表头地址。  |
213| size_t [OhosImageSourceSupportedFormatList::size](#size-67) = 0 | 图像源支持的格式字符串列表大小。  |
214| char \* [OhosImageSourceProperty::value](#value) = nullptr | 定义图像源属性键值字符串头地址。  |
215| size_t [OhosImageSourceProperty::size](#size-77) = 0 | 定义图像源属性键值字符串大小。  |
216| uint8_t \* [OhosImageSourceUpdateData::buffer](#buffer-22) = nullptr | 图像源更新数据缓冲区。  |
217| size_t [OhosImageSourceUpdateData::bufferSize](#buffersize-22) = 0 | 图像源更新数据缓冲区大小。  |
218| uint32_t [OhosImageSourceUpdateData::offset](#offset) = 0 | 图像源更新数据缓冲区的开端。  |
219| uint32_t [OhosImageSourceUpdateData::updateLength](#updatelength) = 0 | 图像源更新数据缓冲区的更新数据长度。  |
220| int8_t [OhosImageSourceUpdateData::isCompleted](#iscompleted) = 0 | 图像源更新数据在此节中完成。  |
221
222
223## 类型定义说明
224
225
226### ImageNative
227
228```
229typedef struct ImageNative_ ImageNative
230```
231**描述**
232为图像接口定义native层图像对象。
233
234**起始版本:** 10
235
236
237### ImagePacker_Native
238
239```
240typedef struct ImagePacker_Native_ ImagePacker_Native
241```
242**描述**
243为编码器方法定义native层编码器对象。
244
245**起始版本:** 11
246
247
248### ImagePacker_Opts
249
250```
251typedef struct ImagePacker_Opts_ ImagePacker_Opts
252```
253**描述**
254定义图像编码选项的别名。
255
256**起始版本:** 11
257
258
259### ImageReceiverNative
260
261```
262typedef struct ImageReceiverNative_ ImageReceiverNative
263```
264**描述**
265用于定义ImageReceiverNative数据类型名称。
266
267**起始版本:** 10
268
269
270### ImageSourceNative
271
272```
273typedef struct ImageSourceNative_ ImageSourceNative
274```
275**描述**
276为图像源方法定义native层图像源对象。
277
278**系统能力:** SystemCapability.Multimedia.Image
279
280**起始版本:** 10
281
282
283### NativePixelMap
284
285```
286typedef struct NativePixelMap_ NativePixelMap
287```
288**描述**
289定义native层PixelMap数据类型名称。
290
291**起始版本:** 10
292
293
294### OH_Image_Receiver_On_Callback
295
296```
297typedef void(* OH_Image_Receiver_On_Callback) ()
298```
299**描述**
300定义native层图片的回调方法。
301
302**起始版本:** 10
303
304
305### OhosPixelMapInfos
306
307```
308typedef struct OhosPixelMapInfos
309```
310**描述**
311用于定义PixelMap的相关信息。
312
313**起始版本:** 10
314
315
316## 枚举类型说明
317
318
319### 图像格式
320
321```
322anonymous enum
323```
324**描述**
325图像格式枚举值。
326
327**起始版本:** 10
328
329| 枚举值 | 描述 |
330| -------- | -------- |
331| OHOS_IMAGE_FORMAT_YCBCR_422_SP | YCBCR422 semi-planar 格式 |
332| OHOS_IMAGE_FORMAT_JPEG | JPEG 编码格式 |
333
334
335### PixelMap透明度类型
336
337```
338anonymous enum
339```
340**描述**
341PixelMap透明度类型的枚举。
342
343**起始版本:** 10
344
345| 枚举值 | 描述 |
346| -------- | -------- |
347| OHOS_PIXEL_MAP_ALPHA_TYPE_UNKNOWN  | 未知的格式   |
348| OHOS_PIXEL_MAP_ALPHA_TYPE_OPAQUE  | 不透明的格式   |
349| OHOS_PIXEL_MAP_ALPHA_TYPE_PREMUL  | 预乘的格式   |
350| OHOS_PIXEL_MAP_ALPHA_TYPE_UNPREMUL  | 预除的格式   |
351
352
353### 方法返回的错误码
354
355```
356anonymous enum
357```
358**描述**
359函数方法返回值的错误码的枚举。
360
361**废弃版本:** 10
362
363**起始版本:** 8
364
365| 枚举值 | 描述 |
366| -------- | -------- |
367| OHOS_IMAGE_RESULT_SUCCESS | 成功的结果 |
368| OHOS_IMAGE_RESULT_BAD_PARAMETER | 无效值 |
369
370
371### 图像颜色通道类型
372
373```
374anonymous enum
375```
376**描述**
377图像颜色通道类型枚举值。
378
379**起始版本:** 10
380
381| 枚举值 | 描述 |
382| -------- | -------- |
383| OHOS_IMAGE_COMPONENT_FORMAT_YUV_Y | 亮度信息 |
384| OHOS_IMAGE_COMPONENT_FORMAT_YUV_U | 色度信息 |
385| OHOS_IMAGE_COMPONENT_FORMAT_YUV_V | 色差值信息 |
386| OHOS_IMAGE_COMPONENT_FORMAT_JPEG | Jpeg 格式 |
387
388
389### PixelMap 编辑类型
390
391```
392anonymous enum
393```
394**描述**
395PixelMap 编辑类型的枚举。
396
397**起始版本:** 10
398
399| 枚举值 | 描述 |
400| -------- | -------- |
401| OHOS_PIXEL_MAP_READ_ONLY  | 只读的格式   |
402| OHOS_PIXEL_MAP_EDITABLE  | 可编辑的格式   |
403
404
405### 像素格式
406
407```
408anonymous enum
409```
410**描述**
411像素格式的枚举。
412
413**废弃版本:** 10
414
415**起始版本:** 8
416
417| 枚举值 | 描述 |
418| -------- | -------- |
419| OHOS_PIXEL_MAP_FORMAT_NONE  | 未知的格式  |
420| OHOS_PIXEL_MAP_FORMAT_RGBA_8888  | RGBA_8888格式   |
421| OHOS_PIXEL_MAP_FORMAT_RGB_565  | RGB_565格式   |
422
423### PixelMap缩放类型
424
425```
426anonymous enum
427```
428**描述**
429PixelMap缩放类型的枚举。
430
431**起始版本:** 10
432
433| 枚举值 | 描述 |
434| -------- | -------- |
435| OHOS_PIXEL_MAP_SCALE_MODE_FIT_TARGET_SIZE  | 适应目标图片大小的格式   |
436| OHOS_PIXEL_MAP_SCALE_MODE_CENTER_CROP  | 以中心进行缩放的格式   |
437
438
439### IRNdkErrCode
440
441```
442enum IRNdkErrCode
443```
444**描述**
445可能被使用的接口返回值的枚举。
446
447**起始版本:** 10
448
449
450| 枚举值 | 描述 |
451| -------- | -------- |
452| IMAGE_RESULT_SUCCESS | 操作成功 |
453| IMAGE_RESULT_BAD_PARAMETER | 无效参数 |
454| IMAGE_RESULT_IMAGE_RESULT_BASE | 操作失败 |
455| IMAGE_RESULT_ERR_IPC | ipc 错误 |
456| IMAGE_RESULT_ERR_SHAMEM_NOT_EXIST | 共享内存失败 |
457| IMAGE_RESULT_ERR_SHAMEM_DATA_ABNORMAL | 共享内存数据异常 |
458| IMAGE_RESULT_DECODE_ABNORMAL | 图像解码失败 |
459| IMAGE_RESULT_DATA_ABNORMAL | 图像输入数据异常 |
460| IMAGE_RESULT_MALLOC_ABNORMAL | 图像内存分配异常 |
461| IMAGE_RESULT_DATA_UNSUPPORT | 图像类型不支持 |
462| IMAGE_RESULT_INIT_ABNORMAL | 图像初始化失败 |
463| IMAGE_RESULT_GET_DATA_ABNORMAL | 图像获取数据错误 |
464| IMAGE_RESULT_TOO_LARGE | 图像数据过大 |
465| IMAGE_RESULT_TRANSFORM | 图像转换错误 |
466| IMAGE_RESULT_COLOR_CONVERT | 图像颜色转换错误 |
467| IMAGE_RESULT_CROP | 裁剪错误 |
468| IMAGE_RESULT_SOURCE_DATA | 图像源数据错误 |
469| IMAGE_RESULT_SOURCE_DATA_INCOMPLETE | 图像源数据不完整 |
470| IMAGE_RESULT_MISMATCHED_FORMAT | 图像格式不匹配 |
471| IMAGE_RESULT_UNKNOWN_FORMAT | 图像未知格式 |
472| IMAGE_RESULT_SOURCE_UNRESOLVED | 图像源未解析 |
473| IMAGE_RESULT_INVALID_PARAMETER | 图像无效参数 |
474| IMAGE_RESULT_DECODE_FAILED | 解码失败 |
475| IMAGE_RESULT_PLUGIN_REGISTER_FAILED | 注册插件失败 |
476| IMAGE_RESULT_PLUGIN_CREATE_FAILED | 创建插件失败 |
477| IMAGE_RESULT_ENCODE_FAILED | 图像编码失败 |
478| IMAGE_RESULT_ADD_PIXEL_MAP_FAILED | 图像添加像素位图失败 |
479| IMAGE_RESULT_HW_DECODE_UNSUPPORT | 图像硬解码不支持 |
480| IMAGE_RESULT_DECODE_HEAD_ABNORMAL | 图像头解码失败 |
481| IMAGE_RESULT_DECODE_EXIF_UNSUPPORT | 图像解码EXIF不支持 |
482| IMAGE_RESULT_PROPERTY_NOT_EXIST | 图像属性不存在 |
483| IMAGE_RESULT_MEDIA_DATA_UNSUPPORT | 媒体类型不支持 |
484| IMAGE_RESULT_MEDIA_TOO_LARGE | 媒体数据过大 |
485| IMAGE_RESULT_MEDIA_MALLOC_FAILED | 媒体分配内存失败 |
486| IMAGE_RESULT_MEDIA_END_OF_STREAM | 媒体数据流结束失败 |
487| IMAGE_RESULT_MEDIA_IO_ABNORMAL | 媒体输入输出流异常 |
488| IMAGE_RESULT_MEDIA_MALFORMED | 媒体功能异常 |
489| IMAGE_RESULT_MEDIA_BUFFER_TOO_SMALL | 媒体数据过小错误 |
490| IMAGE_RESULT_MEDIA_OUT_OF_RANGE | 媒体超出范围错误 |
491| IMAGE_RESULT_MEDIA_STATUS_ABNORMAL | 媒体状态异常错误 |
492| IMAGE_RESULT_MEDIA_VALUE_INVALID | 媒体值无效 |
493| IMAGE_RESULT_MEDIA_NULL_POINTER | 媒体操作失败 |
494| IMAGE_RESULT_MEDIA_INVALID_OPERATION | 媒体操作无效 |
495| IMAGE_RESULT_MEDIA_ERR_PLAYER_NOT_INIT | 媒体初始化异常 |
496| IMAGE_RESULT_MEDIA_EARLY_PREPARE | 媒体过早预处理 |
497| IMAGE_RESULT_MEDIA_SEEK_ERR | 媒体查找失败 |
498| IMAGE_RESULT_MEDIA_PERMISSION_DENIED | 媒体权限拒绝 |
499| IMAGE_RESULT_MEDIA_DEAD_OBJECT | 媒体对象注销 |
500| IMAGE_RESULT_MEDIA_TIMED_OUT | 媒体超时 |
501| IMAGE_RESULT_MEDIA_TRACK_NOT_ALL_SUPPORTED | 媒体能力不支持 |
502| IMAGE_RESULT_MEDIA_ADAPTER_INIT_FAILED | 媒体适配器初始化失败 |
503| IMAGE_RESULT_MEDIA_WRITE_PARCEL_FAIL | 写入parcel失败 |
504| IMAGE_RESULT_MEDIA_READ_PARCEL_FAIL | 读取parcel失败 |
505| IMAGE_RESULT_MEDIA_NO_AVAIL_BUFFER | 无效数据 |
506| IMAGE_RESULT_MEDIA_INVALID_PARAM | 媒体接口发现无效参数 |
507| IMAGE_RESULT_MEDIA_CODEC_ADAPTER_NOT_EXIST | 媒体代码适配器不存在 |
508| IMAGE_RESULT_MEDIA_CREATE_CODEC_ADAPTER_FAILED | 媒体创建代码适配器失败 |
509| IMAGE_RESULT_MEDIA_CODEC_ADAPTER_NOT_INIT | 媒体代码适配器未初始化 |
510| IMAGE_RESULT_MEDIA_ZCODEC_CREATE_FAILED | 媒体代码创建失败 |
511| IMAGE_RESULT_MEDIA_ZCODEC_NOT_EXIST | 媒体代码不存在 |
512| IMAGE_RESULT_MEDIA_JNI_CLASS_NOT_EXIST | 媒体JNI层类不存在 |
513| IMAGE_RESULT_MEDIA_JNI_METHOD_NOT_EXIST | 媒体JNI层方法不存在 |
514| IMAGE_RESULT_MEDIA_JNI_NEW_OBJ_FAILED | 媒体JNI层创建对象失败 |
515| IMAGE_RESULT_MEDIA_JNI_COMMON_ERROR | 媒体JNI层异常 |
516| IMAGE_RESULT_MEDIA_DISTRIBUTE_NOT_SUPPORT | 媒体不支持分布 |
517| IMAGE_RESULT_MEDIA_SOURCE_NOT_SET | 媒体源未设置 |
518| IMAGE_RESULT_MEDIA_RTSP_ADAPTER_NOT_INIT | 媒体rtsp适配器未初始化 |
519| IMAGE_RESULT_MEDIA_RTSP_ADAPTER_NOT_EXIST | 媒体rtsp适配器不存在 |
520| IMAGE_RESULT_MEDIA_RTSP_SURFACE_UNSUPPORT | 媒体不支持rtsp surface |
521| IMAGE_RESULT_MEDIA_RTSP_CAPTURE_NOT_INIT | 媒体rtsp capture初始化失败 |
522| IMAGE_RESULT_MEDIA_RTSP_SOURCE_URL_INVALID | 媒体rtsp源路径无效 |
523| IMAGE_RESULT_MEDIA_RTSP_VIDEO_TRACK_NOT_FOUND | 媒体rtsp未发现视频能力 |
524| IMAGE_RESULT_MEDIA_RTSP_CAMERA_NUM_REACH_MAX | rtsp相机数量达到最大数量 |
525| IMAGE_RESULT_MEDIA_SET_VOLUME | 媒体设置卷失败 |
526| IMAGE_RESULT_MEDIA_NUMBER_OVERFLOW | 媒体操作次数溢出 |
527| IMAGE_RESULT_MEDIA_DIS_PLAYER_UNSUPPORTED | 媒体分布式播放器不支持 |
528| IMAGE_RESULT_MEDIA_DENCODE_ICC_FAILED | 图像解码ICC失败 |
529| IMAGE_RESULT_MEDIA_ENCODE_ICC_FAILED | 图像编码ICC失败 |
530| IMAGE_RESULT_MEDIA_READ_PIXELMAP_FAILED | 读取像素位图失败 |
531| IMAGE_RESULT_MEDIA_WRITE_PIXELMAP_FAILED | 写入像素位图失败 |
532| IMAGE_RESULT_MEDIA_PIXELMAP_NOT_ALLOW_MODIFY | 像素位图不允许修改 |
533| IMAGE_RESULT_MEDIA_CONFIG_FAILED | 配置失败 |
534| IMAGE_RESULT_JNI_ENV_ABNORMAL | JNI环境异常 |
535| IMAGE_RESULT_SURFACE_GRALLOC_BUFFER_FAILED | surface申请内存失败 |
536| IMAGE_RESULT_CREATE_SURFACE_FAILED | 创建surface失败 |
537| IMAGE_RESULT_SURFACE_GET_PARAMETER_FAILED | 从surface获取参数失败 |
538| IMAGE_RESULT_GET_SURFACE_FAILED | 获取surface失败 |
539| IMAGE_RESULT_SURFACE_ACQUIRE_BUFFER_FAILED | 申请内存失败 |
540| IMAGE_RESULT_SURFACE_REQUEST_BUFFER_FAILED | 申请内存失败 |
541| IMAGE_RESULT_REGISTER_LISTENER_FAILED | 注册监听失败 |
542| IMAGE_RESULT_REGISTER_BUFFER_FAILED | 注册内存失败 |
543| IMAGE_RESULT_FREAD_FAILED | 读取文件失败 |
544| IMAGE_RESULT_PEEK_FAILED | 检测文件失败 |
545| IMAGE_RESULT_SEEK_FAILED | 查找文件失败 |
546| IMAGE_RESULT_STREAM_SIZE_ERROR | 数据流损坏 |
547| IMAGE_RESULT_FILE_FD_ERROR | 文件描述符损坏 |
548| IMAGE_RESULT_FILE_DAMAGED | 文件损坏 |
549| IMAGE_RESULT_CREATE_DECODER_FAILED | 创建解码失败 |
550| IMAGE_RESULT_CREATE_ENCODER_FAILED | 创建编码失败 |
551| IMAGE_RESULT_CHECK_FORMAT_ERROR | 检查格式失败 |
552| IMAGE_RESULT_THIRDPART_SKIA_ERROR | skia解码失败 |
553| IMAGE_RESULT_HW_DECODE_FAILED | 硬解码失败 |
554| IMAGE_RESULT_ALLOCATER_TYPE_ERROR | 内存类型校验失败 |
555| IMAGE_RESULT_ALPHA_TYPE_ERROR | 透明度类型失败 |
556| IMAGE_RESULT_INDEX_INVALID | 参数无效 |
557| IMAGE_RESULT_MEDIA_UNKNOWN | 媒体未知错误 |
558
559
560### OH_PixelMap_AntiAliasingLevel
561
562```
563enum OH_PixelMap_AntiAliasingLevel
564```
565**描述**
566Pixelmap缩放时采用的缩放算法。
567
568**起始版本:** 12
569
570| 枚举值 | 描述 |
571| -------- | -------- |
572| OH_PixelMap_AntiAliasing_NONE  | 最近邻插值算法。   |
573| OH_PixelMap_AntiAliasing_LOW  | 双线性插值算法。   |
574| OH_PixelMap_AntiAliasing_MEDIUM  | 双线性插值算法,同时开启Mipmap。缩小图片时建议使用。   |
575| OH_PixelMap_AntiAliasing_HIGH  | 三次插值算法。   |
576
577
578## 函数说明
579
580
581### OH_AccessPixels()
582
583```
584int32_t OHOS::Media::OH_AccessPixels (napi_env env, napi_value value, void ** addrPtr )
585```
586**描述**
587获取**PixelMap**对象数据的内存地址,并锁定该内存。
588
589函数执行成功后,**\*addrPtr**就是获取的待访问的内存地址。访问操作完成后,必须要使用**OH_UnAccessPixels**来释放锁,否则的话资源无法被释放。 待解锁后,内存地址就不可以再被访问和操作。
590
591**废弃版本:** 10
592
593**起始版本:** 8
594
595**参数:**
596
597| 名称 | 描述 |
598| -------- | -------- |
599| env | napi的环境指针。  |
600| value | 应用层的 **PixelMap** 对象。  |
601| addrPtr | 用于指向的内存地址的指针对象。  |
602
603**参见:**
604
605UnAccessPixels
606
607**返回:**
608
609参考[IRNdkErrCode](#irndkerrcode-1)。
610
611如果操作成功返回OHOS_IMAGE_RESULT_SUCCESS;
612
613如果操作失败返回IMAGE_RESULT_BAD_PARAMETER。
614
615
616### OH_GetImageInfo()
617
618```
619int32_t OH_GetImageInfo (napi_env env, napi_value value, OhosPixelMapInfo * info )
620```
621**描述**
622获取 **PixelMap** 的信息,并记录信息到[OhosPixelMapInfo](_o_h_o_s_1_1_media_1_1_ohos_pixel_map_info.md)结构中。
623
624**废弃版本:** 10
625
626**起始版本:** 8
627
628**参数:**
629
630| 名称 | 描述 |
631| -------- | -------- |
632| env | napi的环境指针。  |
633| value | 应用层的 **PixelMap** 对象。  |
634| info | 用于保存信息的指针对象。 更多细节, 参看 [OhosPixelMapInfo](_o_h_o_s_1_1_media_1_1_ohos_pixel_map_info.md)。  |
635
636**返回:**
637
638参考[IRNdkErrCode](#irndkerrcode-1)。
639
640如果操作成功返回OHOS_IMAGE_RESULT_SUCCESS;
641
642如果操作失败返回IMAGE_RESULT_BAD_PARAMETER。
643
644**参见:**
645
646[OhosPixelMapInfo](_o_h_o_s_1_1_media_1_1_ohos_pixel_map_info.md)
647
648
649### OH_Image_ClipRect()
650
651```
652int32_t OH_Image_ClipRect (const ImageNative * native, struct OhosImageRect * rect )
653```
654**描述**
655获取native **ImageNative** 对象 [OhosImageRect](_o_h_o_s_1_1_media_1_1_ohos_image_rect.md) 信息。
656
657**起始版本:** 10
658
659**参数:**
660
661| 名称 | 描述 |
662| -------- | -------- |
663| native | 表示指向 **ImageNative** native层对象的指针。  |
664| rect | 表示作为转换结果的 [OhosImageRect](_o_h_o_s_1_1_media_1_1_ohos_image_rect.md) 对象指针。  |
665
666**返回:**
667
668参考[IRNdkErrCode](#irndkerrcode-1)。
669
670如果操作成功返回IMAGE_RESULT_SUCCESS;
671
672如果JNI环境异常返回IMAGE_RESULT_JNI_ENV_ABNORMAL;
673
674如果参数无效返回IMAGE_RESULT_INVALID_PARAMETER;
675
676如果从surface获取参数失败返回IMAGE_RESULT_SURFACE_GET_PARAMETER_FAILED;
677
678如果参数错误返回IMAGE_RESULT_BAD_PARAMETER 。
679
680**参见:**
681
682[ImageNative](image.md#imagenative), [OhosImageRect](_o_h_o_s_1_1_media_1_1_ohos_image_rect.md)
683
684
685### OH_Image_Format()
686
687```
688int32_t OH_Image_Format (const ImageNative * native, int32_t * format )
689```
690**描述**
691获取native **ImageNative** 对象的图像格式。
692
693**起始版本:** 10
694
695**参数:**
696
697| 名称 | 描述 |
698| -------- | -------- |
699| native | 表示 **ImageNative** native对象的指针。  |
700| format | 表示作为转换结果的图像格式对象的指针。  |
701
702**返回:**
703
704参考[IRNdkErrCode](#irndkerrcode-1)。
705
706如果操作成功返回IMAGE_RESULT_SUCCESS;
707
708如果JNI环境异常返回IMAGE_RESULT_JNI_ENV_ABNORMAL;
709
710如果参数无效返回IMAGE_RESULT_INVALID_PARAMETER;
711
712如果从surface获取参数失败返回IMAGE_RESULT_SURFACE_GET_PARAMETER_FAILED;
713
714如果参数错误返回IMAGE_RESULT_BAD_PARAMETER 。
715
716
717**参见:**
718
719[ImageNative](image.md#imagenative)
720
721
722### OH_Image_GetComponent()
723
724```
725int32_t OH_Image_GetComponent (const ImageNative * native, int32_t componentType, struct OhosImageComponent * componentNative )
726```
727**描述**
728从 native **ImageNative** 对象中获取 [OhosImageComponent](_o_h_o_s_1_1_media_1_1_ohos_image_component.md)。
729
730**起始版本:** 10
731
732**参数:**
733
734| 名称 | 描述 |
735| -------- | -------- |
736| native | 表示 **ImageNative** native对象的指针。  |
737| componentType | 表示所需组件的组件类型。  |
738| componentNative | 表示转换结果的 [OhosImageComponent](_o_h_o_s_1_1_media_1_1_ohos_image_component.md) 对象的指针。  |
739
740**返回:**
741
742参考[IRNdkErrCode](#irndkerrcode-1)。
743
744如果操作成功返回IMAGE_RESULT_SUCCESS;
745
746如果JNI环境异常返回IMAGE_RESULT_JNI_ENV_ABNORMAL;
747
748如果参数无效返回IMAGE_RESULT_INVALID_PARAMETER;
749
750如果从surface获取参数失败返回IMAGE_RESULT_SURFACE_GET_PARAMETER_FAILED;
751
752如果参数错误返回IMAGE_RESULT_BAD_PARAMETER 。
753
754**参见:**
755
756[ImageNative](image.md#imagenative), [OhosImageComponent](_o_h_o_s_1_1_media_1_1_ohos_image_component.md)
757
758
759### OH_Image_InitImageNative()
760
761```
762ImageNative* OH_Image_InitImageNative (napi_env env, napi_value source )
763```
764**描述**
765从输入的JavaScript Native API **图像** 对象中解析 native **ImageNative** 对象。
766
767**起始版本:** 10
768
769**参数:**
770
771| 名称 | 描述 |
772| -------- | -------- |
773| env | 表示指向 JNI 环境的指针。  |
774| source | 表示 JavaScript Native API **图像** 对象。  |
775
776**返回:**
777
778如果操作成果返回 **ImageNative** 指针对象,如果操作失败返回空指针。
779
780**参见:**
781
782[ImageNative](image.md#imagenative), [OH_Image_Release](image.md#oh_image_release)
783
784
785### OH_Image_Receiver_CreateImageReceiver()
786
787```
788int32_t OH_Image_Receiver_CreateImageReceiver (napi_env env, struct OhosImageReceiverInfo info, napi_value * res )
789```
790**描述**
791创建应用层 **ImageReceiver** 对象。
792
793**起始版本:** 10
794
795**参数:**
796
797| 名称 | 描述 |
798| -------- | -------- |
799| env | napi的环境指针。  |
800| info | **ImageReceiver** 数据设置项。  |
801| res | 应用层的 **ImageReceiver** 对象的指针。  |
802
803**返回:**
804
805参考[IRNdkErrCode](#irndkerrcode-1)。
806
807如果操作成功则返回IMAGE_RESULT_SUCCESS;
808
809如果参数错误则返回IMAGE_RESULT_BAD_PARAMETER;
810
811如果JNI环境异常则返回IMAGE_RESULT_JNI_ENV_ABNORMAL;
812
813如果参数无效则返回IMAGE_RESULT_INVALID_PARAMETER;
814
815从surface获取参数失败则返回IMAGE_RESULT_SURFACE_GET_PARAMETER_FAILED;
816
817如果创建surface失败则返回IMAGE_RESULT_CREATE_SURFACE_FAILED;
818
819如果surface分配内存失败则返回IMAGE_RESULT_SURFACE_GRALLOC_BUFFER_FAILED;
820
821如果获取surface失败则返回IMAGE_RESULT_GET_SURFACE_FAILED;
822
823如果媒体rtsp surface不支持则返回IMAGE_RESULT_MEDIA_RTSP_SURFACE_UNSUPPORT;
824
825如果图像类型不支持失败则返回IMAGE_RESULT_DATA_UNSUPPORT;
826
827如果媒体类型不支持失败则返回IMAGE_RESULT_MEDIA_DATA_UNSUPPORT。
828
829
830**参见:**
831
832[OhosImageReceiverInfo](_ohos_image_receiver_info.md)
833
834
835### OH_Image_Receiver_GetCapacity()
836
837```
838int32_t OH_Image_Receiver_GetCapacity (const ImageReceiverNative * native, int32_t * capacity )
839```
840**描述**
841通过[ImageReceiverNative](#imagereceivernative)获取**ImageReceiver**的容量。
842
843**起始版本:** 10
844
845**参数:**
846
847| 名称 | 描述 |
848| -------- | -------- |
849| native | native层的[ImageReceiverNative](#imagereceivernative)指针。  |
850| capacity | 作为结果的指向容量的指针。  |
851
852**返回:**
853
854参考[IRNdkErrCode](#irndkerrcode-1)。
855
856如果操作成功则返回IMAGE_RESULT_SUCCESS;
857
858如果参数错误则返回IMAGE_RESULT_BAD_PARAMETER;
859
860如果JNI环境异常则返回IMAGE_RESULT_JNI_ENV_ABNORMAL;
861
862如果参数无效则返回IMAGE_RESULT_INVALID_PARAMETER;
863
864如果图像类型不支持失败则返回IMAGE_RESULT_DATA_UNSUPPORT。
865
866
867**参见:**
868
869[ImageReceiverNative](#imagereceivernative), [OhosImageSize](_ohos_image_size.md)
870
871
872### OH_Image_Receiver_GetFormat()
873
874```
875int32_t OH_Image_Receiver_GetFormat (const ImageReceiverNative * native, int32_t * format )
876```
877**描述**
878通过[ImageReceiverNative](#imagereceivernative)获取**ImageReceiver**的格式。
879
880**起始版本:** 10
881
882**参数:**
883
884| 名称 | 描述 |
885| -------- | -------- |
886| native | native层的[ImageReceiverNative](#imagereceivernative)指针。  |
887| format | 作为结果的指向格式的指针。  |
888
889**返回:**
890
891参考[IRNdkErrCode](#irndkerrcode-1)。
892
893如果操作成功则返回IMAGE_RESULT_SUCCESS;
894
895如果参数错误则返回IMAGE_RESULT_BAD_PARAMETER;
896
897如果JNI环境异常则返回IMAGE_RESULT_JNI_ENV_ABNORMAL;
898
899如果参数无效则返回IMAGE_RESULT_INVALID_PARAMETER;
900
901如果图像类型不支持失败则返回IMAGE_RESULT_DATA_UNSUPPORT。
902
903
904**参见:**
905
906[ImageReceiverNative](#imagereceivernative)
907
908
909### OH_Image_Receiver_GetReceivingSurfaceId()
910
911```
912int32_t OH_Image_Receiver_GetReceivingSurfaceId (const ImageReceiverNative * native, char * id, size_t len )
913```
914**描述**
915通过[ImageReceiverNative](#imagereceivernative)获取receiver的id。
916
917**起始版本:** 10
918
919**参数:**
920
921| 名称 | 描述 |
922| -------- | -------- |
923| native | native层的[ImageReceiverNative](#imagereceivernative)指针。  |
924| id | 指向字符缓冲区的指针,用于获取字符串的id。  |
925| len | **id**所对应的字符缓冲区的大小。  |
926
927**返回:**
928
929参考[IRNdkErrCode](#irndkerrcode-1)。
930
931如果操作成功则返回IMAGE_RESULT_SUCCESS;
932
933如果参数错误则返回IMAGE_RESULT_BAD_PARAMETER;
934
935如果JNI环境异常则返回IMAGE_RESULT_JNI_ENV_ABNORMAL;
936
937如果参数无效则返回IMAGE_RESULT_INVALID_PARAMETER;
938
939从surface获取参数失败则返回IMAGE_RESULT_SURFACE_GET_PARAMETER_FAILED;
940
941如果获取surface失败则返回IMAGE_RESULT_GET_SURFACE_FAILED;
942
943如果图像类型不支持失败则返回IMAGE_RESULT_DATA_UNSUPPORT;
944
945如果媒体类型不支持失败则返回IMAGE_RESULT_MEDIA_DATA_UNSUPPORT。
946
947
948**参见:**
949
950[ImageReceiverNative](#imagereceivernative)
951
952
953### OH_Image_Receiver_GetSize()
954
955```
956int32_t OH_Image_Receiver_GetSize (const ImageReceiverNative * native, struct OhosImageSize * size )
957```
958**描述**
959通过[ImageReceiverNative](#imagereceivernative)获取**ImageReceiver**的大小。
960
961**起始版本:** 10
962
963**参数:**
964
965| 名称 | 描述 |
966| -------- | -------- |
967| native | native层的[ImageReceiverNative](#imagereceivernative)指针。  |
968| size | 作为结果的[OhosImageSize](_ohos_image_size.md)指针。  |
969
970**返回:**
971
972参考[IRNdkErrCode](#irndkerrcode-1)。
973
974如果操作成功则返回IMAGE_RESULT_SUCCESS;
975
976如果参数错误则返回IMAGE_RESULT_BAD_PARAMETER;
977
978如果JNI环境异常则返回IMAGE_RESULT_JNI_ENV_ABNORMAL;
979
980如果参数无效则返回IMAGE_RESULT_INVALID_PARAMETER;
981
982如果图像类型不支持失败则返回IMAGE_RESULT_DATA_UNSUPPORT。
983
984**参见:**
985
986[ImageReceiverNative](#imagereceivernative), [OH_Image_Receiver_On_Callback](#oh_image_receiver_on_callback)
987
988
989### OH_Image_Receiver_InitImageReceiverNative()
990
991```
992ImageReceiverNative* OH_Image_Receiver_InitImageReceiverNative (napi_env env, napi_value source )
993```
994**描述**
995通过应用层**ImageReceiver**对象初始化native层[ImageReceiverNative](#imagereceivernative)对象。
996
997**起始版本:** 10
998
999**参数:**
1000
1001| 名称 | 描述 |
1002| -------- | -------- |
1003| env | napi的环境指针。  |
1004| source | napi的 **ImageReceiver** 对象。  |
1005
1006**返回:**
1007
1008操作成功则返回 [ImageReceiverNative](#imagereceivernative) 指针;如果操作失败,则返回nullptr。
1009
1010**参见:**
1011
1012[ImageReceiverNative](#imagereceivernative), [OH_Image_Receiver_Release](#oh_image_receiver_release)
1013
1014
1015### OH_Image_Receiver_On()
1016
1017```
1018int32_t OH_Image_Receiver_On (const ImageReceiverNative * native, OH_Image_Receiver_On_Callback callback )
1019```
1020**描述**
1021注册一个[OH_Image_Receiver_On_Callback](#oh_image_receiver_on_callback)回调事件。每当接收新图片,该回调事件就会响应。
1022
1023**起始版本:** 10
1024
1025**参数:**
1026
1027| 名称 | 描述 |
1028| -------- | -------- |
1029| native | native层的[ImageReceiverNative](#imagereceivernative)指针。  |
1030| callback | [OH_Image_Receiver_On_Callback](#oh_image_receiver_on_callback)事件的回调函数。  |
1031
1032**返回:**
1033
1034参考[IRNdkErrCode](#irndkerrcode-1)。
1035
1036如果操作成功则返回IMAGE_RESULT_SUCCESS;
1037
1038如果参数错误则返回IMAGE_RESULT_BAD_PARAMETER;
1039
1040如果JNI环境异常则返回IMAGE_RESULT_JNI_ENV_ABNORMAL;
1041
1042如果参数无效或从surface获取参数失败则返回IMAGE_RESULT_INVALID_PARAMETER;
1043
1044如果获取surface失败则返回IMAGE_RESULT_GET_SURFACE_FAILED;
1045
1046如果图像类型不支持失败则返回IMAGE_RESULT_DATA_UNSUPPORT;
1047
1048如果注册监听失败则返回IMAGE_RESULT_REGISTER_LISTENER_FAILED;
1049
1050如果注册内存失败则返回IMAGE_RESULT_REGISTER_BUFFER_FAILED。
1051
1052
1053**参见:**
1054
1055[ImageReceiverNative](#imagereceivernative)
1056
1057
1058### OH_Image_Receiver_ReadLatestImage()
1059
1060```
1061int32_t OH_Image_Receiver_ReadLatestImage (const ImageReceiverNative * native, napi_value * image )
1062```
1063**描述**
1064通过[ImageReceiverNative](#imagereceivernative)获取最新的一张图片。
1065
1066**注意**:此接口需要在[OH_Image_Receiver_On_Callback](#oh_image_receiver_on_callback)回调后调用,才能正常的接收到数据。并且使用此接口返回 **Image** 对象创建的[ImageNative](#imagenative)使用完毕后需要调用[OH_Image_Release](#oh_image_release)方法释放,释放后才可以继续接收新的数据。
1067
1068**起始版本:** 10
1069
1070**参数:**
1071
1072| 名称 | 描述 |
1073| -------- | -------- |
1074| native | native层的[ImageReceiverNative](#imagereceivernative)指针。  |
1075| image | 获取到的应用层的 **Image** 指针对象。  |
1076
1077**返回:**
1078
1079参考[IRNdkErrCode](#irndkerrcode-1)。
1080
1081如果操作成功则返回IMAGE_RESULT_SUCCESS;
1082
1083如果参数错误则返回IMAGE_RESULT_BAD_PARAMETER;
1084
1085如果JNI环境异常则返回IMAGE_RESULT_JNI_ENV_ABNORMAL;
1086
1087如果参数无效则返回IMAGE_RESULT_INVALID_PARAMETER;
1088
1089如果从surface获取参数失败返回IMAGE_RESULT_SURFACE_GET_PARAMETER_FAILED;
1090
1091如果创建surface失败则返回IMAGE_RESULT_CREATE_SURFACE_FAILED;
1092
1093如果surface分配内存失败则返回IMAGE_RESULT_SURFACE_GRALLOC_BUFFER_FAILED;
1094
1095如果获取surface失败则返回IMAGE_RESULT_GET_SURFACE_FAILED;
1096
1097如果媒体rtsp surface不支持则返回IMAGE_RESULT_MEDIA_RTSP_SURFACE_UNSUPPORT;
1098
1099如果图像类型不支持失败则返回IMAGE_RESULT_DATA_UNSUPPORT;
1100
1101如果申请内存失败则返回IMAGE_RESULT_SURFACE_REQUEST_BUFFER_FAILED。
1102
1103
1104**参见:**
1105
1106[ImageReceiverNative](#imagereceivernative)
1107
1108
1109### OH_Image_Receiver_ReadNextImage()
1110
1111```
1112int32_t OH_Image_Receiver_ReadNextImage (const ImageReceiverNative * native, napi_value * image )
1113```
1114**描述**
1115通过[ImageReceiverNative](#imagereceivernative)获取下一张图片。
1116
1117**注意**:此接口需要在[OH_Image_Receiver_On_Callback](#oh_image_receiver_on_callback)回调后调用,才能正常的接收到数据。并且使用此接口返回 **Image** 对象创建的[ImageNative](#imagenative)使用完毕后需要调用[OH_Image_Release](#oh_image_release)方法释放,释放后才可以继续接收新的数据。
1118
1119**起始版本:** 10
1120
1121**参数:**
1122
1123| 名称 | 描述 |
1124| -------- | -------- |
1125| native | native层的[ImageReceiverNative](#imagereceivernative)指针。  |
1126| image | 读取到的应用层的 **Image** 指针对象。  |
1127
1128**返回:**
1129
1130参考[IRNdkErrCode](#irndkerrcode-1)。
1131
1132如果操作成功则返回IMAGE_RESULT_SUCCESS;
1133
1134如果参数错误则返回IMAGE_RESULT_BAD_PARAMETER;
1135
1136如果JNI环境异常则返回IMAGE_RESULT_JNI_ENV_ABNORMAL;
1137
1138如果参数无效则返回IMAGE_RESULT_INVALID_PARAMETER;
1139
1140如果从surface获取参数失败返回IMAGE_RESULT_SURFACE_GET_PARAMETER_FAILED;
1141
1142如果创建surface失败则返回IMAGE_RESULT_CREATE_SURFACE_FAILED;
1143
1144如果surface分配内存失败则返回IMAGE_RESULT_SURFACE_GRALLOC_BUFFER_FAILED;
1145
1146如果获取surface失败则返回IMAGE_RESULT_GET_SURFACE_FAILED;
1147
1148如果媒体rtsp surface不支持则返回IMAGE_RESULT_MEDIA_RTSP_SURFACE_UNSUPPORT;
1149
1150如果图像类型不支持失败则返回IMAGE_RESULT_DATA_UNSUPPORT;
1151
1152如果申请内存失败则返回IMAGE_RESULT_SURFACE_REQUEST_BUFFER_FAILED。
1153
1154**参见:**
1155
1156[ImageReceiverNative](#imagereceivernative)
1157
1158
1159### OH_Image_Receiver_Release()
1160
1161```
1162int32_t OH_Image_Receiver_Release (ImageReceiverNative * native)
1163```
1164**描述**
1165释放native层 [ImageReceiverNative](#imagereceivernative) 对象。注意: 此方法不能释放应用层**ImageReceiver**对象。
1166
1167**起始版本:** 10
1168
1169**参数:**
1170
1171| 名称 | 描述 |
1172| -------- | -------- |
1173| native | native层的[ImageReceiverNative](#imagereceivernative)指针。  |
1174
1175**返回:**
1176
1177参考[IRNdkErrCode](#irndkerrcode-1)。
1178
1179如果操作成功则返回IMAGE_RESULT_SUCCESS;
1180
1181如果参数错误则返回IMAGE_RESULT_BAD_PARAMETER;
1182
1183如果JNI环境异常则返回IMAGE_RESULT_JNI_ENV_ABNORMAL;
1184
1185如果参数无效则返回IMAGE_RESULT_INVALID_PARAMETER。
1186
1187
1188**参见:**
1189
1190[ImageReceiverNative](#imagereceivernative)
1191
1192
1193### OH_Image_Release()
1194
1195```
1196int32_t OH_Image_Release (ImageNative * native)
1197```
1198**描述**
1199释放 **ImageNative** native对象。 Note: 这个方法无法释放 JavaScript Native API **Image** 对象, 而是释放被 **OH_Image_InitImageNative** 解析的 **ImageNative** native 对象。
1200
1201**起始版本:** 10
1202
1203**参数:**
1204
1205| 名称 | 描述 |
1206| -------- | -------- |
1207| native | 表示 **ImageNative** native对象的指针。  |
1208
1209**返回:**
1210
1211参考[IRNdkErrCode](#irndkerrcode-1)。
1212
1213如果操作成功返回IMAGE_RESULT_SUCCESS;
1214
1215如果JNI环境异常返回IMAGE_RESULT_JNI_ENV_ABNORMAL;
1216
1217如果参数无效返回IMAGE_RESULT_INVALID_PARAMETER;
1218
1219如果参数错误返回IMAGE_RESULT_BAD_PARAMETER。
1220
1221**参见:**
1222
1223[ImageNative](image.md#imagenative), [OH_Image_InitImageNative](image.md#oh_image_initimagenative)
1224
1225
1226### OH_Image_Size()
1227
1228```
1229int32_t OH_Image_Size (const ImageNative * native, struct OhosImageSize * size )
1230```
1231**描述**
1232获取native **ImageNative** 对象的 [OhosImageSize](_ohos_image_size.md) 信息。如果[ImageNative](image.md#imagenative) 对象所存储的是相机预览流数据,即YUV图像数据,那么获取到的[OhosImageSize](_ohos_image_size.md)中的宽高分别对应YUV图像的宽高;如果[ImageNative](image.md#imagenative) 对象所存储的是相机拍照流数据,即JPEG图像,由于已经是编码后的数据,[OhosImageSize](_ohos_image_size.md)中的宽等于JPEG数据大小,高等于1。[ImageNative](image.md#imagenative) 对象所存储的数据是预览流还是拍照流,取决于应用将receiver中的surfaceId传给相机的previewOutput还是captureOutput。相机预览与拍照最佳实践请参考[预览流二次处理(C/C++)](../../media/camera/native-camera-preview-imageReceiver.md)与[拍照(C/C++)](../../media/camera/native-camera-shooting.md)。
1233
1234**起始版本:** 10
1235
1236**参数:**
1237
1238| 名称 | 描述 |
1239| -------- | -------- |
1240| native | 表示 **ImageNative** native对象的指针。  |
1241| size | 表示作为转换结果的 [OhosImageSize](_ohos_image_size.md) 对象的指针。  |
1242
1243**返回:**
1244
1245参考[IRNdkErrCode](#irndkerrcode-1)。
1246
1247如果操作成功返回IMAGE_RESULT_SUCCESS;
1248
1249如果JNI环境异常返回IMAGE_RESULT_JNI_ENV_ABNORMAL;
1250
1251如果参数无效返回IMAGE_RESULT_INVALID_PARAMETER;
1252
1253如果从surface获取参数失败返回IMAGE_RESULT_SURFACE_GET_PARAMETER_FAILED;
1254
1255如果参数错误返回IMAGE_RESULT_BAD_PARAMETER。
1256
1257**参见:**
1258
1259[ImageNative](image.md#imagenative), [OhosImageSize](_ohos_image_size.md)
1260
1261
1262### OH_ImagePacker_Create()
1263
1264```
1265int32_t OH_ImagePacker_Create (napi_env env, napi_value * res )
1266```
1267**描述**
1268获取JavaScript native层ImagePacker对象。
1269
1270**起始版本:** 11
1271
1272**参数:**
1273
1274| 名称 | 描述 |
1275| -------- | -------- |
1276| env | 表明JNI环境的指针。  |
1277| res | 表明JavaScript native层ImagePacker对象的指针。  |
1278
1279**返回:**
1280
1281参考[IRNdkErrCode](#irndkerrcode-1)。
1282
1283如果操作成功返回OHOS_IMAGE_RESULT_SUCCESS;
1284
1285如果参数无效则返回IMAGE_RESULT_INVALID_PARAMETER。
1286
1287
1288### OH_ImagePacker_InitNative()
1289
1290```
1291ImagePacker_Native* OH_ImagePacker_InitNative (napi_env env, napi_value packer )
1292```
1293**描述**
1294从输入JavaScript native层ImagePacker对象中,转换成ImagePacker_Native值。
1295
1296**起始版本:** 11
1297
1298**参数:**
1299
1300| 名称 | 描述 |
1301| -------- | -------- |
1302| env | 表明JNI环境的指针。  |
1303| packer | 表明JavaScript native层ImagePacker对象。  |
1304
1305**返回:**
1306
1307如果操作成功则返回[ImagePacker_Native](#imagepacker_native)指针,否则返回空指针。
1308
1309**参见:**
1310
1311[OH_ImagePacker_Release](#oh_imagepacker_release)
1312
1313
1314### OH_ImagePacker_PackToData()
1315
1316```
1317int32_t OH_ImagePacker_PackToData (ImagePacker_Native * native, napi_value source, ImagePacker_Opts * opts, uint8_t * outData, size_t * size )
1318```
1319**描述**
1320通过一个给定的选项ImagePacker_Opts结构体,将输入JavaScript native层PixelMap对象或者ImageSource对象编码并输出到指定的缓存区outData中。
1321
1322**起始版本:** 11
1323
1324**参数:**
1325
1326| 名称 | 描述 |
1327| -------- | -------- |
1328| native | 表明指向native层**ImagePacker**的指针。  |
1329| source | 表明待编码JavaScript native层PixelMap对象或者ImageSource对象。  |
1330| opts | 表明位图编码的选项,查看[ImagePacker_Opts](#imagepacker_opts)。  |
1331| outData | 输出的指定缓存区。  |
1332| size | 输出的指定缓存区大小。  |
1333
1334**返回:**
1335
1336参考[IRNdkErrCode](#irndkerrcode-1)。
1337
1338如果操作成功返回OHOS_IMAGE_RESULT_SUCCESS;
1339
1340如果参数无效返回IMAGE_RESULT_INVALID_PARAMETER;
1341
1342如果输出缓冲区异常返回ERR_IMAGE_DATA_ABNORMAL;
1343
1344如果格式不匹配返回ERR_IMAGE_MISMATCHED_FORMAT;
1345
1346如果malloc内部缓冲区错误返回ERR_IMAGE_MALLOC_ABNORMAL;
1347
1348如果init编解码器内部错误返回ERR_IMAGE_DECODE_ABNORMAL;
1349
1350如果编码器在编码过程中出现错误返回ERR_IMAGE_ENCODE_FAILED。
1351
1352**参见:**
1353
1354[OH_ImagePacker_PackToFile](#oh_imagepacker_packtofile)
1355
1356
1357### OH_ImagePacker_PackToFile()
1358
1359```
1360int32_t OH_ImagePacker_PackToFile (ImagePacker_Native * native, napi_value source, ImagePacker_Opts * opts, int fd )
1361```
1362**描述**
1363通过一个给定的选项ImagePacker_Opts结构体,将输入JavaScript native层PixelMap对象或者ImageSource对象编码并输出到指定的文件中。
1364
1365**起始版本:** 11
1366
1367**参数:**
1368
1369| 名称 | 描述 |
1370| -------- | -------- |
1371| native | 表明指向native层**ImagePacker**的指针。  |
1372| source | 表明待编码JavaScript native层PixelMap对象或者ImageSource对象。  |
1373| opts | 表明位图编码的选项,查看[ImagePacker_Opts](#imagepacker_opts)。  |
1374| fd | 输出的指定文件描述符。  |
1375
1376**返回:**
1377
1378参考[IRNdkErrCode](#irndkerrcode-1)。
1379
1380如果操作成功返回OHOS_IMAGE_RESULT_SUCCESS;
1381
1382如果参数无效返回IMAGE_RESULT_INVALID_PARAMETER;
1383
1384如果输出缓冲区异常返回ERR_IMAGE_DATA_ABNORMAL;
1385
1386如果格式不匹配返回ERR_IMAGE_MISMATCHED_FORMAT;
1387
1388如果malloc内部缓冲区错误返回ERR_IMAGE_MALLOC_ABNORMAL;
1389
1390如果init编解码器内部错误返回ERR_IMAGE_DECODE_ABNORMAL;
1391
1392如果编码器在编码过程中出现错误返回ERR_IMAGE_ENCODE_FAILED。
1393
1394**参见:**
1395
1396[OH_ImagePacker_PackToData](#oh_imagepacker_packtodata)
1397
1398
1399### OH_ImagePacker_Release()
1400
1401```
1402int32_t OH_ImagePacker_Release (ImagePacker_Native * native)
1403```
1404**描述**
1405释放native层编码器对象[ImagePacker_Native](#imagepacker_native)。
1406
1407此API不用于释放JavaScript原生API ImagePacker对象,它用于释放native层对象[ImagePacker_Native](#imagepacker_native)。
1408
1409通过调用[OH_ImagePacker_InitNative](#oh_imagepacker_initnative)解析。
1410
1411**起始版本:** 11
1412
1413**参数:**
1414
1415| 名称 | 描述 |
1416| -------- | -------- |
1417| native | 表明native层[ImagePacker_Native](#imagepacker_native)值的指针。  |
1418
1419**返回:**
1420
1421参考[IRNdkErrCode](#irndkerrcode-1)。
1422
1423如果操作成功返回IMAGE_RESULT_SUCCESS。
1424
1425**参见:**
1426
1427[OH_ImagePacker_InitNative](#oh_imagepacker_initnative)
1428
1429
1430### OH_ImageSource_Create()
1431
1432```
1433int32_t OH_ImageSource_Create (napi_env env, struct OhosImageSource * src, struct OhosImageSourceOps * ops, napi_value * res )
1434```
1435**描述**
1436通过给定的信息[OhosImageSource](_ohos_image_source.md)和[OhosImageSourceOps](_ohos_image_source_ops.md)结构体,获取JavaScript native层**ImageSource**对象。
1437
1438**起始版本:** 10
1439
1440**废弃版本:** 11
1441
1442**替代接口:** [OH_ImageSource_CreateFromUri](#oh_imagesource_createfromuri),[OH_ImageSource_CreateFromFd](#oh_imagesource_createfromfd),[OH_ImageSource_CreateFromData](#oh_imagesource_createfromdata)。
1443
1444**参数:**
1445
1446| 名称 | 描述 |
1447| -------- | -------- |
1448| env | 表明JNI环境的指针。  |
1449| src | 表明创建一个图像源的信息。查看[OhosImageSource](_ohos_image_source.md)获取更多细节。  |
1450| ops | 表明创建一个图像源的选项。查看[OhosImageSourceOps](_ohos_image_source_ops.md)。  |
1451| res | 表明JavaScript native层**ImageSource**对象的指针。  |
1452
1453**返回:**
1454
1455参考[IRNdkErrCode](#irndkerrcode-1)。
1456
1457如果操作成功返回OHOS_IMAGE_RESULT_SUCCESS;
1458
1459如果参数错误,返回IMAGE_RESULT_BAD_PARAMETER;
1460
1461如果 JNI 环境异常,返回IMAGE_RESULT_JNI_ENV_ABNORMAL;
1462
1463如果参数无效,IMAGE_RESULT_INVALID_PARAMETER;
1464
1465如果图像源数据不完整,返回IMAGE_RESULT_SOURCE_DATA_INCOMPLETE;
1466
1467如果图像源数据错误,返回IMAGE_RESULT_SOURCE_DATA;
1468
1469如果图像获取数据错误,返回IMAGE_RESULT_GET_DATA_ABNORMAL;
1470
1471如果图像数据太大,返回IMAGE_RESULT_TOO_LARGE;
1472
1473如果解码失败,返回IMAGE_RESULT_DECODE_FAILED;
1474
1475如果图像解码头错误,返回IMAGE_RESULT_DECODE_HEAD_ABNORMAL;
1476
1477如果图像解码 EXIF 不支持,返回IMAGE_RESULT_DECODE_EXIF_UNSUPPORT;
1478
1479如果图像属性不存在,返回IMAGE_RESULT_PROPERTY_NOT_EXIST;
1480
1481如果文件损坏,返回IMAGE_RESULT_FILE_DAMAGED;
1482
1483如果文件 FD 错误,返回IMAGE_RESULT_FILE_FD_ERROR;
1484
1485如果数据流错误,返回IMAGE_RESULT_STREAM_SIZE_ERROR;
1486
1487如果查找文件失败,返回IMAGE_RESULT_SEEK_FAILED;
1488
1489如果速览文件失败,返回IMAGE_RESULT_PEEK_FAILED;
1490
1491如果读取文件失败,返回IMAGE_RESULT_FREAD_FAILED。
1492
1493**参见:**
1494
1495[OhosImageSource](_ohos_image_source.md), [OhosImageSourceOps](_ohos_image_source_ops.md)
1496
1497
1498### OH_ImageSource_CreateFromData()
1499
1500```
1501int32_t OH_ImageSource_CreateFromData (napi_env env, uint8_t * data, size_t dataSize, struct OhosImageSourceOps * ops, napi_value * res )
1502```
1503**描述**
1504通过给定的图像源缓冲区资源 data 和 [OhosImageSourceOps](_ohos_image_source_ops.md)结构体,获取JavaScript native层**ImageSource**对象。data数据应该是未解码的数据,不要传入类似于RBGA,YUV的像素buffer数据,如果想通过像素buffer数据创建pixelMap,可以调用[OH_PixelMap_CreatePixelMap](./image__pixel__map__mdk_8h.md)这一类接口。
1505
1506**起始版本:** 11
1507
1508**参数:**
1509
1510| 名称 | 描述 |
1511| -------- | -------- |
1512| env | 表明JNI环境的指针。  |
1513| data | 表明图像源缓冲区资源,接受格式化包缓冲区或者base64缓冲区。  |
1514| dataSize | 表明图像源缓冲区资源大小。  |
1515| ops | 表明创建一个图像源的选项。查看[OhosImageSourceOps](_ohos_image_source_ops.md)。  |
1516| res | 表明JavaScript native层**ImageSource**对象的指针。  |
1517
1518**返回:**
1519
1520参考[IRNdkErrCode](#irndkerrcode-1)。
1521
1522如果操作成功返回OHOS_IMAGE_RESULT_SUCCESS;
1523
1524如果参数错误,返回IMAGE_RESULT_BAD_PARAMETER;
1525
1526如果 JNI 环境异常,返回IMAGE_RESULT_JNI_ENV_ABNORMAL;
1527
1528如果参数无效,返回IMAGE_RESULT_INVALID_PARAMETER。
1529
1530**参见:**
1531
1532[OhosImageSourceOps](_ohos_image_source_ops.md)
1533
1534
1535### OH_ImageSource_CreateFromFd()
1536
1537```
1538int32_t OH_ImageSource_CreateFromFd (napi_env env, int32_t fd, struct OhosImageSourceOps * ops, napi_value * res )
1539```
1540**描述**
1541通过给定的文件描述符 fd 和 [OhosImageSourceOps](_ohos_image_source_ops.md)结构体,获取JavaScript native层**ImageSource**对象。
1542
1543**起始版本:** 11
1544
1545**参数:**
1546
1547| 名称 | 描述 |
1548| -------- | -------- |
1549| env | 表明JNI环境的指针。  |
1550| fd | 表明图像源文件资源描述符。  |
1551| ops | 表明创建一个图像源的选项。查看[OhosImageSourceOps](_ohos_image_source_ops.md)。  |
1552| res | 表明JavaScript native层**ImageSource**对象的指针。  |
1553
1554**返回:**
1555
1556参考[IRNdkErrCode](#irndkerrcode-1)。
1557
1558如果操作成功返回OHOS_IMAGE_RESULT_SUCCESS;
1559
1560如果参数错误,返回IMAGE_RESULT_BAD_PARAMETER;
1561
1562如果 JNI 环境异常,返回IMAGE_RESULT_JNI_ENV_ABNORMAL;
1563
1564如果参数无效,返回IMAGE_RESULT_INVALID_PARAMETER。
1565
1566**参见:**
1567
1568[OhosImageSourceOps](_ohos_image_source_ops.md)
1569
1570
1571### OH_ImageSource_CreateFromRawFile()
1572
1573```
1574int32_t OH_ImageSource_CreateFromRawFile (napi_env env, RawFileDescriptor rawFile, struct OhosImageSourceOps * ops, napi_value * res )
1575```
1576**描述**
1577通过给定的资源描述符 **RawFileDescriptor** 和 [OhosImageSourceOps](_ohos_image_source_ops.md)结构体, 获取JavaScript native层**ImageSource**对象。
1578
1579**起始版本:** 11
1580
1581**参数:**
1582
1583| 名称 | 描述 |
1584| -------- | -------- |
1585| env | 表明JNI环境的指针。  |
1586| rawFile | 表明图像源资源描述符。  |
1587| ops | 表明创建一个图像源的选项。查看[OhosImageSourceOps](_ohos_image_source_ops.md)。  |
1588| res | 表明JavaScript native层**ImageSource**对象的指针。  |
1589
1590**返回:**
1591
1592参考[IRNdkErrCode](#irndkerrcode-1)。
1593
1594如果操作成功返回OHOS_IMAGE_RESULT_SUCCESS;
1595
1596如果参数错误,返回IMAGE_RESULT_BAD_PARAMETER;
1597
1598如果 JNI 环境异常,返回IMAGE_RESULT_JNI_ENV_ABNORMAL;
1599
1600如果参数无效,返回IMAGE_RESULT_INVALID_PARAMETER。
1601
1602**参见:**
1603
1604[OhosImageSourceOps](_ohos_image_source_ops.md)
1605
1606
1607### OH_ImageSource_CreateFromUri()
1608
1609```
1610int32_t OH_ImageSource_CreateFromUri (napi_env env, char * uri, size_t size, struct OhosImageSourceOps * ops, napi_value * res )
1611```
1612**描述**
1613通过给定的标识符URI 和 [OhosImageSourceOps](_ohos_image_source_ops.md)结构体,获取JavaScript native层**ImageSource**对象。
1614
1615**起始版本:** 11
1616
1617**参数:**
1618
1619| 名称 | 描述 |
1620| -------- | -------- |
1621| env | 表明JNI环境的指针。  |
1622| uri | 表明图像源资源标识符,接受文件资源或者base64资源。当前文件资源只支持绝对路径。  |
1623| size | 表明图像源资源URI的长度。  |
1624| ops | 表明创建一个图像源的选项。查看[OhosImageSourceOps](_ohos_image_source_ops.md)。  |
1625| res | 表明JavaScript native层**ImageSource**对象的指针。  |
1626
1627**返回:**
1628
1629参考[IRNdkErrCode](#irndkerrcode-1)。
1630
1631如果操作成功返回OHOS_IMAGE_RESULT_SUCCESS;
1632
1633如果参数错误,返回IMAGE_RESULT_BAD_PARAMETER;
1634
1635如果 JNI 环境异常,返回IMAGE_RESULT_JNI_ENV_ABNORMAL;
1636
1637如果参数无效,返回IMAGE_RESULT_INVALID_PARAMETER。
1638
1639**参见:**
1640
1641[OhosImageSourceOps](_ohos_image_source_ops.md)
1642
1643
1644### OH_ImageSource_CreateIncremental()
1645
1646```
1647int32_t OH_ImageSource_CreateIncremental (napi_env env, struct OhosImageSource * source, struct OhosImageSourceOps * ops, napi_value * res )
1648```
1649**描述**
1650通过给定的informations[OhosImageSource](_ohos_image_source.md)和[OhosImageSourceOps](_ohos_image_source_ops.md)结构, 获取增量类型的JavaScript Native API ImageSource对象,图像数据应通过**OH_ImageSource_UpdateData**更新。
1651
1652**起始版本:** 10
1653
1654**废弃版本:** 11
1655
1656**替代接口:** [OH_ImageSource_CreateIncrementalFromData](#oh_imagesource_createincrementalfromdata)
1657
1658**参数:**
1659
1660| 名称 | 描述 |
1661| -------- | -------- |
1662| env | 表明JNI环境的指针。  |
1663| src | 表明创建一个图像源的信息,只接收缓冲区类型。具体查看[OhosImageSource](_ohos_image_source.md)。  |
1664| ops | 表明创建一个图像源的选项。具体查看[OhosImageSourceOps](_ohos_image_source_ops.md)。  |
1665| res | 表明JavaScript native层**ImageSource**对象的指针。  |
1666
1667**返回:**
1668
1669参考[IRNdkErrCode](#irndkerrcode-1)。
1670
1671如果操作成功返回OHOS_IMAGE_RESULT_SUCCESS;
1672
1673如果参数错误,返回IMAGE_RESULT_BAD_PARAMETER;
1674
1675如果 JNI 环境异常,返回IMAGE_RESULT_JNI_ENV_ABNORMAL;
1676
1677如果参数无效,IMAGE_RESULT_INVALID_PARAMETER;
1678
1679如果图像源数据不完整,返回IMAGE_RESULT_SOURCE_DATA_INCOMPLETE;
1680
1681如果图像源数据错误,返回IMAGE_RESULT_SOURCE_DATA;
1682
1683如果图像获取数据错误,返回IMAGE_RESULT_GET_DATA_ABNORMAL;
1684
1685如果图像数据太大,返回IMAGE_RESULT_TOO_LARGE;
1686
1687如果解码失败,返回IMAGE_RESULT_DECODE_FAILED;
1688
1689如果图像解码头错误,返回IMAGE_RESULT_DECODE_HEAD_ABNORMAL;
1690
1691如果图像解码 EXIF 不支持,返回IMAGE_RESULT_DECODE_EXIF_UNSUPPORT;
1692
1693如果图像属性不存在,返回IMAGE_RESULT_PROPERTY_NOT_EXIST;
1694
1695如果文件损坏,返回IMAGE_RESULT_FILE_DAMAGED;
1696
1697如果文件 FD 错误,返回IMAGE_RESULT_FILE_FD_ERROR;
1698
1699如果数据流错误,返回IMAGE_RESULT_STREAM_SIZE_ERROR;
1700
1701如果查找文件失败,返回IMAGE_RESULT_SEEK_FAILED;
1702
1703如果速览文件失败,返回IMAGE_RESULT_PEEK_FAILED;
1704
1705如果读取文件失败,返回IMAGE_RESULT_FREAD_FAILED。
1706
1707**参见:**
1708
1709[OhosImageSource](_ohos_image_source.md), [OhosImageSourceOps](_ohos_image_source_ops.md), [OH_ImageSource_UpdateData](#oh_imagesource_updatedata)
1710
1711
1712### OH_ImageSource_CreateIncrementalFromData()
1713
1714```
1715int32_t OH_ImageSource_CreateIncrementalFromData (napi_env env, uint8_t * data, size_t dataSize, struct OhosImageSourceOps * ops, napi_value * res )
1716```
1717**描述**
1718通过给定的图像源缓冲区资源 data 和 [OhosImageSourceOps](_ohos_image_source_ops.md)结构体, 获取增量类型的JavaScript Native API ImageSource对象,图像数据应通过OH_ImageSource_UpdateData更新。
1719
1720**起始版本:** 11
1721
1722**参数:**
1723
1724| 名称 | 描述 |
1725| -------- | -------- |
1726| env | 表明JNI环境的指针。  |
1727| data | 表明图像源缓冲区资源,接受格式化包缓冲区或者base64缓冲区。  |
1728| dataSize | 表明图像源缓冲区资源大小。  |
1729| ops | 表明创建一个图像源的选项。查看[OhosImageSourceOps](_ohos_image_source_ops.md)。  |
1730| res | 表明JavaScript native层**ImageSource**对象的指针。  |
1731
1732**返回:**
1733
1734参考[IRNdkErrCode](#irndkerrcode-1)。
1735
1736如果操作成功返回OHOS_IMAGE_RESULT_SUCCESS;
1737
1738如果参数错误,返回IMAGE_RESULT_BAD_PARAMETER;
1739
1740如果 JNI 环境异常,返回IMAGE_RESULT_JNI_ENV_ABNORMAL;
1741
1742如果参数无效,返回IMAGE_RESULT_INVALID_PARAMETER。
1743
1744**参见:**
1745
1746[OhosImageSourceOps](_ohos_image_source_ops.md)
1747
1748
1749### OH_ImageSource_CreatePixelMap()
1750
1751```
1752int32_t OH_ImageSource_CreatePixelMap (const ImageSourceNative * native, struct OhosImageDecodingOps * ops, napi_value * res )
1753```
1754**描述**
1755通过一个给定的选项[OhosImageDecodingOps](_ohos_image_decoding_ops.md)结构体,从**ImageSource**中解码JavaScript native层**PixelMap**对象
1756
1757**起始版本:** 10
1758
1759**参数:**
1760
1761| 名称 | 描述 |
1762| -------- | -------- |
1763| native | 表明native层[ImageSourceNative](#imagesourcenative)值的指针。  |
1764| ops | 表明为了解码图像源的选项,查看[OhosImageDecodingOps](_ohos_image_decoding_ops.md)。  |
1765| res | 表明JavaScript native层**PixelMap**对象的指针。  |
1766
1767**返回:**
1768
1769参考[IRNdkErrCode](#irndkerrcode-1)。
1770
1771如果操作成功返回OHOS_IMAGE_RESULT_SUCCESS;
1772
1773如果参数错误,返回IMAGE_RESULT_BAD_PARAMETER;
1774
1775如果 JNI 环境异常,返回IMAGE_RESULT_JNI_ENV_ABNORMAL;
1776
1777如果参数无效,返回IMAGE_RESULT_INVALID_PARAMETER;
1778
1779如果获取图片数据异常,返回IMAGE_RESULT_GET_DATA_ABNORMAL;
1780
1781如果解码失败,返回IMAGE_RESULT_DECODE_FAILED;
1782
1783如果图像解码头错误,返回IMAGE_RESULT_DECODE_HEAD_ABNORMAL;
1784
1785如果创建解码器失败,返回IMAGE_RESULT_CREATE_DECODER_FAILED;
1786
1787如果创建编码器失败,返回IMAGE_RESULT_CREATE_ENCODER_FAILED;
1788
1789如果检查格式不对,返回IMAGE_RESULT_CHECK_FORMAT_ERROR;
1790
1791如果skia错误,返回IMAGE_RESULT_THIRDPART_SKIA_ERROR;
1792
1793如果输入图片数据错误,返回IMAGE_RESULT_DATA_ABNORMAL;
1794
1795如果共享内存错误,返回IMAGE_RESULT_ERR_SHAMEM_NOT_EXIST;
1796
1797如果共享内存数据异常,返回IMAGE_RESULT_ERR_SHAMEM_DATA_ABNORMAL;
1798
1799如果图片解码异常,返回IMAGE_RESULT_DECODE_ABNORMAL;
1800
1801如果图像内存分配异常,返回IMAGE_RESULT_MALLOC_ABNORMAL;
1802
1803如果图像类型不支持,返回IMAGE_RESULT_DATA_UNSUPPORT;
1804
1805如果图像初始化失败,返回IMAGE_RESULT_INIT_ABNORMAL;
1806
1807如果裁剪错误,返回IMAGE_RESULT_CROP;
1808
1809如果图片格式未知,返回IMAGE_RESULT_UNKNOWN_FORMAT;
1810
1811如果注册插件失败,返回IMAGE_RESULT_PLUGIN_REGISTER_FAILED;
1812
1813如果创建插件失败,返回IMAGE_RESULT_PLUGIN_CREATE_FAILED;
1814
1815如果图像编码失败,返回IMAGE_RESULT_ENCODE_FAILED;
1816
1817如果不支持图片硬解码,返回IMAGE_RESULT_HW_DECODE_UNSUPPORT;
1818
1819如果硬解码失败,返回IMAGE_RESULT_HW_DECODE_FAILED;
1820
1821如果ipc失败,返回IMAGE_RESULT_ERR_IPC;
1822
1823如果索引无效,返回IMAGE_RESULT_INDEX_INVALID;
1824
1825如果透明度类型错误,返回IMAGE_RESULT_ALPHA_TYPE_ERROR;
1826
1827如果内存分配类型错误,返回IMAGE_RESULT_ALLOCATER_TYPE_ERROR。
1828
1829**参见:**
1830
1831[ImageSourceNative](#imagesourcenative), [OhosImageDecodingOps](_ohos_image_decoding_ops.md)
1832
1833
1834### OH_ImageSource_CreatePixelMapList()
1835
1836```
1837int32_t OH_ImageSource_CreatePixelMapList (const ImageSourceNative * native, struct OhosImageDecodingOps * ops, napi_value * res )
1838```
1839**描述**
1840通过一个给定的选项[OhosImageDecodingOps](_ohos_image_decoding_ops.md)结构体,从**ImageSource**中解码所有的JavaScript native层**PixelMap**对象列表。
1841
1842
1843**起始版本:** 10
1844
1845**参数:**
1846
1847| 名称 | 描述 |
1848| -------- | -------- |
1849| native | 表明native层 [ImageSourceNative](#imagesourcenative) 值的指针。  |
1850| ops | 表明为了解码图像源的选项,查看[OhosImageDecodingOps](_ohos_image_decoding_ops.md)。  |
1851| res | 表明JavaScript native层**PixelMap** 列表对象的指针。  |
1852
1853**返回:**
1854
1855参考[IRNdkErrCode](#irndkerrcode-1)。
1856
1857如果操作成功返回IMAGE_RESULT_SUCCESS;
1858
1859如果参数错误,返回IMAGE_RESULT_BAD_PARAMETER;
1860
1861如果 JNI 环境异常,返回IMAGE_RESULT_JNI_ENV_ABNORMAL;
1862
1863如果参数无效,返回IMAGE_RESULT_INVALID_PARAMETER;
1864
1865如果获取图片数据异常,返回IMAGE_RESULT_GET_DATA_ABNORMAL;
1866
1867如果解码失败,返回IMAGE_RESULT_DECODE_FAILED;
1868
1869如果图像解码头错误,返回IMAGE_RESULT_DECODE_HEAD_ABNORMAL;
1870
1871如果创建解码器失败,返回IMAGE_RESULT_CREATE_DECODER_FAILED;
1872
1873如果创建编码器失败,返回IMAGE_RESULT_CREATE_ENCODER_FAILED;
1874
1875如果检查格式不对,返回IMAGE_RESULT_CHECK_FORMAT_ERROR;
1876
1877如果skia错误,返回IMAGE_RESULT_THIRDPART_SKIA_ERROR;
1878
1879如果输入图片数据错误,返回IMAGE_RESULT_DATA_ABNORMAL;
1880
1881如果共享内存错误,返回IMAGE_RESULT_ERR_SHAMEM_NOT_EXIST;
1882
1883如果共享内存数据异常,返回IMAGE_RESULT_ERR_SHAMEM_DATA_ABNORMAL;
1884
1885如果图片解码异常,返回IMAGE_RESULT_DECODE_ABNORMAL;
1886
1887如果图像内存分配异常,返回IMAGE_RESULT_MALLOC_ABNORMAL;
1888
1889如果图像类型不支持,返回IMAGE_RESULT_DATA_UNSUPPORT;
1890
1891如果图像初始化失败,返回IMAGE_RESULT_INIT_ABNORMAL;
1892
1893如果裁剪错误,返回IMAGE_RESULT_CROP;
1894
1895如果图片格式未知,返回IMAGE_RESULT_UNKNOWN_FORMAT;
1896
1897如果注册插件失败,返回IMAGE_RESULT_PLUGIN_REGISTER_FAILED;
1898
1899如果创建插件失败,返回IMAGE_RESULT_PLUGIN_CREATE_FAILED;
1900
1901如果图像编码失败,返回IMAGE_RESULT_ENCODE_FAILED;
1902
1903如果不支持图片硬解码,返回IMAGE_RESULT_HW_DECODE_UNSUPPORT;
1904
1905如果硬解码失败,返回IMAGE_RESULT_HW_DECODE_FAILED;
1906
1907如果ipc失败,返回IMAGE_RESULT_ERR_IPC;
1908
1909如果索引无效,返回IMAGE_RESULT_INDEX_INVALID;
1910
1911如果透明度类型错误,返回IMAGE_RESULT_ALPHA_TYPE_ERROR;
1912
1913如果内存分配类型错误,返回IMAGE_RESULT_ALLOCATER_TYPE_ERROR;
1914
1915如果解码的EXIF不支持,返回IMAGE_RESULT_DECODE_EXIF_UNSUPPORT;
1916
1917如果图片属性不存在,返回IMAGE_RESULT_PROPERTY_NOT_EXIST。
1918
1919**参见:**
1920
1921[ImageSourceNative](#imagesourcenative), [OhosImageDecodingOps](_ohos_image_decoding_ops.md)
1922
1923
1924### OH_ImageSource_GetDelayTime()
1925
1926```
1927int32_t OH_ImageSource_GetDelayTime (const ImageSourceNative * native, struct OhosImageSourceDelayTimeList * res )
1928```
1929**描述**
1930从**ImageSource**(如GIF图像源)获取延迟时间列表。
1931
1932**起始版本:** 10
1933
1934**参数:**
1935
1936| 名称 | 描述 |
1937| -------- | -------- |
1938| native | 表明native层 [ImageSourceNative](#imagesourcenative) 值的指针。  |
1939| res | 表明延迟时间列表 [OhosImageSourceDelayTimeList](_ohos_image_source_delay_time_list.md) 的指针。 当输入的res中**delayTimeList**是空指针并且**size**是0时,将通过res的**size**中返回延迟时间列表大小 为了获取延迟时间,需要比返回的**delayTimeList**大小值大的足够空间  |
1940
1941**返回:**
1942
1943参考[IRNdkErrCode](#irndkerrcode-1)。
1944
1945如果操作成功返回OHOS_IMAGE_RESULT_SUCCESS;
1946
1947如果参数错误,返回IMAGE_RESULT_BAD_PARAMETER;
1948
1949如果 JNI 环境异常,返回IMAGE_RESULT_JNI_ENV_ABNORMAL;
1950
1951如果参数无效,返回IMAGE_RESULT_INVALID_PARAMETER;
1952
1953如果获取图片数据异常,返回IMAGE_RESULT_GET_DATA_ABNORMAL;
1954
1955如果解码失败,返回IMAGE_RESULT_DECODE_FAILED;
1956
1957如果图像解码头错误,返回IMAGE_RESULT_DECODE_HEAD_ABNORMAL;
1958
1959如果创建解码器失败,返回IMAGE_RESULT_CREATE_DECODER_FAILED;
1960
1961如果skia错误,返回IMAGE_RESULT_THIRDPART_SKIA_ERROR;
1962
1963如果输入图片数据错误,返回IMAGE_RESULT_DATA_ABNORMAL;
1964
1965如果图片解码异常, IMAGE_RESULT_DECODE_ABNORMAL;
1966
1967如果图像类型不支持,返回IMAGE_RESULT_DATA_UNSUPPORT;
1968
1969如果图片格式未知,返回IMAGE_RESULT_UNKNOWN_FORMAT;
1970
1971如果注册插件失败,返回IMAGE_RESULT_PLUGIN_REGISTER_FAILED;
1972
1973如果创建插件失败,返回IMAGE_RESULT_PLUGIN_CREATE_FAILED;
1974
1975如果索引无效,返回IMAGE_RESULT_INDEX_INVALID;
1976
1977如果解码的EXIF不支持,返回IMAGE_RESULT_DECODE_EXIF_UNSUPPORT;
1978
1979如果图片属性不存在,返回IMAGE_RESULT_PROPERTY_NOT_EXIST。
1980
1981**参见:**
1982
1983[ImageSourceNative](#imagesourcenative), [OhosImageSourceDelayTimeList](_ohos_image_source_delay_time_list.md)
1984
1985
1986### OH_ImageSource_GetFrameCount()
1987
1988```
1989int32_t OH_ImageSource_GetFrameCount (const ImageSourceNative * native, uint32_t * res )
1990```
1991**描述**
1992从**ImageSource**中获取帧计数。
1993
1994**起始版本:** 10
1995
1996**参数:**
1997
1998| 名称 | 描述 |
1999| -------- | -------- |
2000| native | 表明native层 [ImageSourceNative](#imagesourcenative) 值的指针。  |
2001| res | 表明帧计数的指针。  |
2002
2003**返回:**
2004
2005参考[IRNdkErrCode](#irndkerrcode-1)。
2006
2007如果操作成功返回OHOS_IMAGE_RESULT_SUCCESS;
2008
2009如果参数错误,返回IMAGE_RESULT_BAD_PARAMETER;
2010
2011如果 JNI 环境异常,返回IMAGE_RESULT_JNI_ENV_ABNORMAL;
2012
2013如果参数无效,返回IMAGE_RESULT_INVALID_PARAMETER;
2014
2015如果获取图片数据异常,返回IMAGE_RESULT_GET_DATA_ABNORMAL;
2016
2017如果解码失败,返回IMAGE_RESULT_DECODE_FAILED;
2018
2019如果图像解码头错误,返回IMAGE_RESULT_DECODE_HEAD_ABNORMAL;
2020
2021如果创建解码器失败,返回IMAGE_RESULT_CREATE_DECODER_FAILED;
2022
2023如果skia错误,返回IMAGE_RESULT_THIRDPART_SKIA_ERROR;
2024
2025如果输入图片数据错误,返回IMAGE_RESULT_DATA_ABNORMAL;
2026
2027如果图片解码异常,返回IMAGE_RESULT_DECODE_ABNORMAL;
2028
2029如果图像类型不支持,返回IMAGE_RESULT_DATA_UNSUPPORT;
2030
2031如果图片格式未知,返回IMAGE_RESULT_UNKNOWN_FORMAT;
2032
2033如果注册插件失败,返回IMAGE_RESULT_PLUGIN_REGISTER_FAILED;
2034
2035如果创建插件失败,返回IMAGE_RESULT_PLUGIN_CREATE_FAILED;
2036
2037如果索引无效,返回IMAGE_RESULT_INDEX_INVALID;
2038
2039如果解码的EXIF不支持,返回IMAGE_RESULT_DECODE_EXIF_UNSUPPORT;
2040
2041如果图片属性不存在,返回IMAGE_RESULT_PROPERTY_NOT_EXIST。
2042
2043**参见:**
2044
2045[ImageSourceNative](#imagesourcenative)
2046
2047
2048### OH_ImageSource_GetImageInfo()
2049
2050```
2051int32_t OH_ImageSource_GetImageInfo (const ImageSourceNative * native, int32_t index, struct OhosImageSourceInfo * info )
2052```
2053**描述**
2054通过索引从**ImageSource**获取图像源信息。
2055
2056**起始版本:** 10
2057
2058**参数:**
2059
2060| 名称 | 描述 |
2061| -------- | -------- |
2062| native | 表明native层 [ImageSourceNative](#imagesourcenative) 值的指针。  |
2063| index | 表明帧计数的指针。  |
2064| info | 表明图像源信息[OhosImageSourceInfo](_ohos_image_source_info.md)的指针。  |
2065
2066**返回:**
2067
2068参考[IRNdkErrCode](#irndkerrcode-1)。
2069
2070如果操作成功返回OHOS_IMAGE_RESULT_SUCCESS;
2071
2072如果参数错误,返回IMAGE_RESULT_BAD_PARAMETER;
2073
2074如果 JNI 环境异常,返回IMAGE_RESULT_JNI_ENV_ABNORMAL;
2075
2076如果参数无效,IMAGE_RESULT_INVALID_PARAMETER;
2077
2078如果获取图片数据异常,返回IMAGE_RESULT_GET_DATA_ABNORMAL;
2079
2080如果解码失败,返回IMAGE_RESULT_DECODE_FAILED;
2081
2082如果图像解码头错误,返回IMAGE_RESULT_DECODE_HEAD_ABNORMAL;
2083
2084如果创建解码器失败,返回IMAGE_RESULT_CREATE_DECODER_FAILED;
2085
2086如果skia错误,返回IMAGE_RESULT_THIRDPART_SKIA_ERROR;
2087
2088如果输入图片数据错误,返回IMAGE_RESULT_DATA_ABNORMAL;
2089
2090如果图片解码异常,返回IMAGE_RESULT_DECODE_ABNORMAL;
2091
2092如果图像类型不支持,返回IMAGE_RESULT_DATA_UNSUPPORT;
2093
2094如果图片格式未知,返回IMAGE_RESULT_UNKNOWN_FORMAT;
2095
2096如果注册插件失败,返回IMAGE_RESULT_PLUGIN_REGISTER_FAILED;
2097
2098如果创建插件失败,返回IMAGE_RESULT_PLUGIN_CREATE_FAILED;
2099
2100如果索引无效,返回IMAGE_RESULT_INDEX_INVALID;
2101
2102如果解码的EXIF不支持,返回IMAGE_RESULT_DECODE_EXIF_UNSUPPORT;
2103
2104如果图片属性不存在,返回IMAGE_RESULT_PROPERTY_NOT_EXIST。
2105
2106
2107**参见:**
2108
2109[ImageSourceNative](#imagesourcenative), [OhosImageSourceInfo](_ohos_image_source_info.md)
2110
2111
2112### OH_ImageSource_GetImageProperty()
2113
2114```
2115int32_t OH_ImageSource_GetImageProperty (const ImageSourceNative * native, struct OhosImageSourceProperty * key, struct OhosImageSourceProperty * value )
2116```
2117**描述**
2118通过关键字从**ImageSource**中获取图像源属性。
2119
2120**起始版本:** 10
2121
2122**参数:**
2123
2124| 名称 | 描述 |
2125| -------- | -------- |
2126| native | 表明native层 [ImageSourceNative](#imagesourcenative) 值的指针。  |
2127| key | 表明属性关键字[OhosImageSourceProperty](_ohos_image_source_property.md)的指针。  |
2128| value | 表明作为结果的属性值[OhosImageSourceProperty](_ohos_image_source_property.md)的指针。 当输入的value中**value**是空指针并且**size**是0时,将通过value中的**size**返回属性值的大小。 为了获取属性值,需要比**value**中的结果大小大的足够的空间。  |
2129
2130**返回:**
2131
2132参考[IRNdkErrCode](#irndkerrcode-1)。
2133
2134如果操作成功返回OHOS_IMAGE_RESULT_SUCCESS;
2135
2136如果参数错误,返回IMAGE_RESULT_BAD_PARAMETER;
2137
2138如果 JNI 环境异常,返回IMAGE_RESULT_JNI_ENV_ABNORMAL;
2139
2140如果参数无效,返回IMAGE_RESULT_INVALID_PARAMETER;
2141
2142如果获取图片数据异常,返回IMAGE_RESULT_GET_DATA_ABNORMAL;
2143
2144如果解码失败,返回IMAGE_RESULT_DECODE_FAILED;
2145
2146如果图像解码头错误,返回IMAGE_RESULT_DECODE_HEAD_ABNORMAL;
2147
2148如果创建解码器失败,返回IMAGE_RESULT_CREATE_DECODER_FAILED;
2149
2150如果skia错误,返回IMAGE_RESULT_THIRDPART_SKIA_ERROR;
2151
2152如果输入图片数据错误,返回IMAGE_RESULT_DATA_ABNORMAL;
2153
2154如果图片解码异常, 返回IMAGE_RESULT_DECODE_ABNORMAL;
2155
2156如果图像类型不支持,返回IMAGE_RESULT_DATA_UNSUPPORT;
2157
2158如果图片格式未知,返回IMAGE_RESULT_UNKNOWN_FORMAT;
2159
2160如果注册插件失败,返回IMAGE_RESULT_PLUGIN_REGISTER_FAILED;
2161
2162如果创建插件失败,返回IMAGE_RESULT_PLUGIN_CREATE_FAILED;
2163
2164如果索引无效,返回IMAGE_RESULT_INDEX_INVALID;
2165
2166如果解码的EXIF不支持,返回IMAGE_RESULT_DECODE_EXIF_UNSUPPORT;
2167
2168如果图片属性不存在,返回IMAGE_RESULT_PROPERTY_NOT_EXIST。
2169
2170**参见:**
2171
2172[ImageSourceNative](#imagesourcenative), [OhosImageSourceProperty](_ohos_image_source_property.md)
2173
2174
2175### OH_ImageSource_GetSupportedFormats()
2176
2177```
2178int32_t OH_ImageSource_GetSupportedFormats (struct OhosImageSourceSupportedFormatList * res)
2179```
2180**描述**
2181获取所有支持的解码格式元标记。
2182
2183**起始版本:** 10
2184
2185**参数:**
2186
2187| 名称 | 描述 |
2188| -------- | -------- |
2189| res | 表明指向[OhosImageSourceSupportedFormatList](_ohos_image_source_supported_format_list.md)结构的列表指针。 当**supportedFormatList**为nullptr并且**size**以res为0作为输入时,它将以res**size**返回支持的格式大小。<br/>为了获得所有的格式标记,它需要比**supportedFormatList**中的结果大小大的足够空间, 还需要为[OhosImageSourceSupportedFormat](_ohos_image_source_supported_format.md)项目中的每个格式提供足够的空间。 |
2190
2191**返回:**
2192
2193参考[IRNdkErrCode](#irndkerrcode-1)。
2194
2195如果操作成功返回OHOS_IMAGE_RESULT_SUCCESS;
2196
2197如果参数错误,返回IMAGE_RESULT_BAD_PARAMETER;
2198
2199如果 JNI 环境异常,返回IMAGE_RESULT_JNI_ENV_ABNORMAL;
2200
2201如果参数无效,IMAGE_RESULT_INVALID_PARAMETER;
2202
2203如果解码失败,返回IMAGE_RESULT_DECODE_FAILED;
2204
2205如果检查格式不对,返回IMAGE_RESULT_CHECK_FORMAT_ERROR。
2206
2207**参见:**
2208
2209[OhosImageSourceSupportedFormatList](_ohos_image_source_supported_format_list.md), [OhosImageSourceSupportedFormat](_ohos_image_source_supported_format.md)
2210
2211
2212### OH_ImageSource_InitNative()
2213
2214```
2215ImageSourceNative* OH_ImageSource_InitNative (napi_env env, napi_value source )
2216```
2217**描述**
2218从输入JavaScript native层**ImageSource**对象中,转换成[ImageSourceNative](#imagesourcenative)值。
2219
2220**起始版本:** 10
2221
2222**参数:**
2223
2224| 名称 | 描述 |
2225| -------- | -------- |
2226| env | 表明JNI环境的指针。  |
2227| source | 表明JavaScript native层**ImageSource**对象的指针。  |
2228
2229**返回:**
2230
2231如果操作成功返回[ImageSourceNative](#imagesourcenative)指针;如果操作失败,返回空指针。
2232
2233**参见:**
2234
2235[ImageSourceNative](#imagesourcenative), [OH_ImageSource_Release](#oh_imagesource_release)
2236
2237
2238### OH_ImageSource_ModifyImageProperty()
2239
2240```
2241int32_t OH_ImageSource_ModifyImageProperty (const ImageSourceNative * native, struct OhosImageSourceProperty * key, struct OhosImageSourceProperty * value )
2242```
2243**描述**
2244通过关键字为**ImageSource**修改图像源属性。
2245
2246**起始版本:** 10
2247
2248**参数:**
2249
2250| 名称 | 描述 |
2251| -------- | -------- |
2252| native | 表明native层 [ImageSourceNative](#imagesourcenative) 值的指针  |
2253| key | 表明属性关键字[OhosImageSourceProperty](_ohos_image_source_property.md)的指针。  |
2254| value | 为了修改表明属性值[OhosImageSourceProperty](_ohos_image_source_property.md)的指针。  |
2255
2256**返回:**
2257
2258参考[IRNdkErrCode](#irndkerrcode-1)。
2259
2260如果操作成功返回OHOS_IMAGE_RESULT_SUCCESS;
2261
2262如果参数错误,返回IMAGE_RESULT_BAD_PARAMETER;
2263
2264如果 JNI 环境异常,返回IMAGE_RESULT_JNI_ENV_ABNORMAL;
2265
2266如果参数无效,返回IMAGE_RESULT_INVALID_PARAMETER;
2267
2268如果获取图片数据异常,返回IMAGE_RESULT_GET_DATA_ABNORMAL;
2269
2270如果解码失败,返回IMAGE_RESULT_DECODE_FAILED;
2271
2272如果图像解码头错误,返回IMAGE_RESULT_DECODE_HEAD_ABNORMAL;
2273
2274如果创建解码器失败,返回IMAGE_RESULT_CREATE_DECODER_FAILED;
2275
2276如果skia错误,返回IMAGE_RESULT_THIRDPART_SKIA_ERROR;
2277
2278如果输入图片数据错误,返回IMAGE_RESULT_DATA_ABNORMAL;
2279
2280如果图片解码异常, IMAGE_RESULT_DECODE_ABNORMAL;
2281
2282如果图像类型不支持,返回IMAGE_RESULT_DATA_UNSUPPORT;
2283
2284如果图片格式未知,返回IMAGE_RESULT_UNKNOWN_FORMAT;
2285
2286如果注册插件失败,返回IMAGE_RESULT_PLUGIN_REGISTER_FAILED;
2287
2288如果创建插件失败,返回IMAGE_RESULT_PLUGIN_CREATE_FAILED;
2289
2290如果索引无效,返回IMAGE_RESULT_INDEX_INVALID;
2291
2292如果解码的EXIF不支持,返回IMAGE_RESULT_DECODE_EXIF_UNSUPPORT;
2293
2294如果图片属性不存在,返回IMAGE_RESULT_PROPERTY_NOT_EXIST。
2295
2296**参见:**
2297
2298[ImageSourceNative](#imagesourcenative), [OhosImageSourceProperty](_ohos_image_source_property.md)
2299
2300
2301### OH_ImageSource_Release()
2302
2303```
2304int32_t OH_ImageSource_Release (ImageSourceNative * native)
2305```
2306**描述**
2307释放native层图像源 **ImageSourceNative**。
2308
2309**起始版本:** 10
2310
2311**参数:**
2312
2313| 名称 | 描述 |
2314| -------- | -------- |
2315| native | 表明native层 [ImageSourceNative](#imagesourcenative) 值的指针。  |
2316
2317**返回:**
2318
2319参考[IRNdkErrCode](#irndkerrcode-1)。
2320
2321如果操作成功返回OHOS_IMAGE_RESULT_SUCCESS;
2322
2323如果参数错误,返回IMAGE_RESULT_BAD_PARAMETER;
2324
2325如果 JNI 环境异常,返回IMAGE_RESULT_JNI_ENV_ABNORMAL;
2326
2327如果参数无效,返回IMAGE_RESULT_INVALID_PARAMETER;
2328
2329如果获取图片数据异常,返回IMAGE_RESULT_GET_DATA_ABNORMAL;
2330
2331如果输入图片数据错误,返回IMAGE_RESULT_DATA_ABNORMAL。
2332
2333**参见:**
2334
2335[ImageSourceNative](#imagesourcenative), [OH_ImageSource_Create](#oh_imagesource_create), [OH_ImageSource_CreateIncremental](#oh_imagesource_createincremental)
2336
2337
2338### OH_ImageSource_UpdateData()
2339
2340```
2341int32_t OH_ImageSource_UpdateData (const ImageSourceNative * native, struct OhosImageSourceUpdateData * data )
2342```
2343**描述**
2344为了增量类型的**ImageSource**更新源数据。
2345
2346**起始版本:** 10
2347
2348**参数:**
2349
2350| 名称 | 描述 |
2351| -------- | -------- |
2352| native | 表明native层 [ImageSourceNative](#imagesourcenative) 值的指针。  |
2353| data | 表明更新数据信息[OhosImageSourceUpdateData](_ohos_image_source_update_data.md)的指针。  |
2354
2355**返回:**
2356
2357
2358如果操作成功返回OHOS_IMAGE_RESULT_SUCCESS;
2359
2360如果参数错误,返回IMAGE_RESULT_BAD_PARAMETER;
2361
2362如果 JNI 环境异常,返回IMAGE_RESULT_JNI_ENV_ABNORMAL;
2363
2364如果参数无效,返回IMAGE_RESULT_INVALID_PARAMETER;
2365
2366如果获取图片数据异常,返回IMAGE_RESULT_GET_DATA_ABNORMAL;
2367
2368如果解码失败,返回IMAGE_RESULT_DECODE_FAILED;
2369
2370如果图像解码头错误,返回IMAGE_RESULT_DECODE_HEAD_ABNORMAL;
2371
2372如果创建解码器失败,返回IMAGE_RESULT_CREATE_DECODER_FAILED;
2373
2374如果创建编码器失败,返回IMAGE_RESULT_CREATE_ENCODER_FAILED;
2375
2376如果检查格式不对,返回IMAGE_RESULT_CHECK_FORMAT_ERROR;
2377
2378如果skia错误,返回IMAGE_RESULT_THIRDPART_SKIA_ERROR;
2379
2380如果输入图片数据错误,返回IMAGE_RESULT_DATA_ABNORMAL;
2381
2382如果共享内存错误,返回IMAGE_RESULT_ERR_SHAMEM_NOT_EXIST;
2383
2384如果共享内存数据异常,返回IMAGE_RESULT_ERR_SHAMEM_DATA_ABNORMAL;
2385
2386如果图片解码异常,返回IMAGE_RESULT_DECODE_ABNORMAL;
2387
2388如果图像内存分配异常,返回IMAGE_RESULT_MALLOC_ABNORMAL;
2389
2390如果图像类型不支持,返回IMAGE_RESULT_DATA_UNSUPPORT;
2391
2392如果图像初始化失败,返回IMAGE_RESULT_INIT_ABNORMAL;
2393
2394如果裁剪错误,返回IMAGE_RESULT_CROP;
2395
2396如果图片格式未知,返回IMAGE_RESULT_UNKNOWN_FORMAT;
2397
2398如果注册插件失败,返回IMAGE_RESULT_PLUGIN_REGISTER_FAILED;
2399
2400如果创建插件失败,返回IMAGE_RESULT_PLUGIN_CREATE_FAILED;
2401
2402如果图像编码失败,返回IMAGE_RESULT_ENCODE_FAILED;
2403
2404如果不支持图片硬解码,返回IMAGE_RESULT_HW_DECODE_UNSUPPORT;
2405
2406如果硬解码失败,返回IMAGE_RESULT_HW_DECODE_FAILED;
2407
2408如果ipc失败,返回IMAGE_RESULT_ERR_IPC;
2409
2410如果索引无效,返回IMAGE_RESULT_INDEX_INVALID;
2411
2412如果透明度类型错误,返回IMAGE_RESULT_ALPHA_TYPE_ERROR;
2413
2414如果内存分配类型错误,返回IMAGE_RESULT_ALLOCATER_TYPE_ERROR。
2415
2416
2417**参见:**
2418
2419[ImageSourceNative](#imagesourcenative), [OhosImageSourceUpdateData](_ohos_image_source_update_data.md)
2420
2421
2422### OH_PixelMap_AccessPixels()
2423
2424```
2425int32_t OH_PixelMap_AccessPixels (const NativePixelMap * native, void ** addr )
2426```
2427**描述**
2428获取native **PixelMap** 对象数据的内存地址,并锁定该内存。
2429
2430**起始版本:** 10
2431
2432**参数:**
2433
2434| 名称 | 描述 |
2435| -------- | -------- |
2436| native | NativePixelMap的指针。  |
2437| addr | 用于指向的内存地址的双指针对象。  |
2438
2439**返回:**
2440
2441参考[IRNdkErrCode](#irndkerrcode-1)。
2442
2443如果操作成功则返回IMAGE_RESULT_SUCCESS;
2444
2445如果参数错误则返回IMAGE_RESULT_BAD_PARAMETER;
2446
2447如果JNI环境异常则返回IMAGE_RESULT_JNI_ENV_ABNORMAL;
2448
2449如果参数无效则返回IMAGE_RESULT_INVALID_PARAMETER;
2450
2451如果图像获取数据失败则返回IMAGE_RESULT_GET_DATA_ABNORMAL;
2452
2453如果解码失败则返回IMAGE_RESULT_DECODE_FAILED;
2454
2455如果检查格式失败则返回IMAGE_RESULT_CHECK_FORMAT_ERROR;
2456
2457如果skia能力失败则返回IMAGE_RESULT_THIRDPART_SKIA_ERROR;
2458
2459如果图像输入数据失败则返回IMAGE_RESULT_DATA_ABNORMAL;
2460
2461如果共享内存失败则返回IMAGE_RESULT_ERR_SHAMEM_NOT_EXIST;
2462
2463如果共享内存数据错误则返回IMAGE_RESULT_ERR_SHAMEM_DATA_ABNORMAL;
2464
2465如果图像分配内存失败则返回IMAGE_RESULT_MALLOC_ABNORMAL;
2466
2467如果属性无效或图像数据不支持则返回IMAGE_RESULT_DATA_UNSUPPORT;
2468
2469如果裁剪失败则返回IMAGE_RESULT_CROP;
2470
2471如果图像格式未知则返回IMAGE_RESULT_UNKNOWN_FORMAT;
2472
2473如果注册插件失败则返回IMAGE_RESULT_PLUGIN_REGISTER_FAILED;
2474
2475如果创建插件失败则返回IMAGE_RESULT_PLUGIN_CREATE_FAILED;
2476
2477如果参数无效则返回IMAGE_RESULT_INDEX_INVALID;
2478
2479如果透明度类型错误则返回IMAGE_RESULT_ALPHA_TYPE_ERROR;
2480
2481如果内存分配类型错误则返回IMAGE_RESULT_ALLOCATER_TYPE_ERROR。
2482
2483
2484
2485### OH_PixelMap_CreateAlphaPixelMap()
2486
2487```
2488int32_t OH_PixelMap_CreateAlphaPixelMap (napi_env env, napi_value source, napi_value * alpha )
2489```
2490**描述**
2491根据Alpha通道的信息,来生成一个仅包含Alpha通道信息的**PixelMap**对象。
2492
2493**起始版本:** 10
2494
2495**参数:**
2496
2497| 名称 | 描述 |
2498| -------- | -------- |
2499| env | napi的环境指针。  |
2500| source | 应用层的 **PixelMap** 对象。  |
2501| alpha | alpha通道的指针。  |
2502
2503**返回:**
2504
2505参考[IRNdkErrCode](#irndkerrcode-1)。
2506
2507如果操作成功则返回IMAGE_RESULT_SUCCESS;
2508
2509如果参数错误则返回IMAGE_RESULT_BAD_PARAMETER;
2510
2511如果JNI环境异常则返回IMAGE_RESULT_JNI_ENV_ABNORMAL;
2512
2513如果参数无效则返回IMAGE_RESULT_INVALID_PARAMETER;
2514
2515如果图像获取数据失败则返回IMAGE_RESULT_GET_DATA_ABNORMAL;
2516
2517如果解码失败则返回IMAGE_RESULT_DECODE_FAILED;
2518
2519如果图像头解码失败则返回IMAGE_RESULT_DECODE_HEAD_ABNORMAL;
2520
2521如果创建解码器失败则返回IMAGE_RESULT_CREATE_DECODER_FAILED;
2522
2523如果创建编码器失败则返回IMAGE_RESULT_CREATE_ENCODER_FAILED;
2524
2525如果检查格式失败则返回IMAGE_RESULT_CHECK_FORMAT_ERROR;
2526
2527如果skia能力失败则返回IMAGE_RESULT_THIRDPART_SKIA_ERROR;
2528
2529如果图像输入数据失败则返回IMAGE_RESULT_DATA_ABNORMAL;
2530
2531如果共享内存失败则返回IMAGE_RESULT_ERR_SHAMEM_NOT_EXIST;
2532
2533如果共享内存数据错误则返回IMAGE_RESULT_ERR_SHAMEM_DATA_ABNORMAL;
2534
2535如果图像解码失败则返回IMAGE_RESULT_DECODE_ABNORMAL;
2536
2537如果图像分配内存失败则返回IMAGE_RESULT_MALLOC_ABNORMAL;
2538
2539如果属性无效或图像数据不支持则返回IMAGE_RESULT_DATA_UNSUPPORT;
2540
2541如果图像初始化失败则返回IMAGE_RESULT_INIT_ABNORMAL;
2542
2543如果裁剪失败则返回IMAGE_RESULT_CROP;
2544
2545如果图像格式未知则返回IMAGE_RESULT_UNKNOWN_FORMAT;
2546
2547如果注册插件失败则返回IMAGE_RESULT_PLUGIN_REGISTER_FAILED;
2548
2549如果创建插件失败则返回IMAGE_RESULT_PLUGIN_CREATE_FAILED;
2550
2551如果图像编码失败则返回IMAGE_RESULT_ENCODE_FAILED;
2552
2553如果图像不支持硬件解码则返回IMAGE_RESULT_HW_DECODE_UNSUPPORT;
2554
2555如果硬件解码失败则返回IMAGE_RESULT_HW_DECODE_FAILED;
2556
2557如果ipc失败则返回IMAGE_RESULT_ERR_IPC;
2558
2559如果参数无效则返回IMAGE_RESULT_INDEX_INVALID;
2560
2561如果透明度类型错误则返回IMAGE_RESULT_ALPHA_TYPE_ERROR;
2562
2563如果内存分配类型错误则返回IMAGE_RESULT_ALLOCATER_TYPE_ERROR。
2564
2565
2566### OH_PixelMap_CreatePixelMap()
2567
2568```
2569int32_t OH_PixelMap_CreatePixelMap (napi_env env, OhosPixelMapCreateOps info, void * buf, size_t len, napi_value * res )
2570```
2571**描述**
2572创建**PixelMap**对象。当前只支持输入流为BGRA格式的流。该接口传入的buf不支持stride。该接口不支持DMA内存。
2573
2574**起始版本:** 10
2575
2576**参数:**
2577
2578| 名称 | 描述 |
2579| -------- | -------- |
2580| env | napi的环境指针。  |
2581| info |PixelMap数据设置项。  |
2582| buf | 图片的buffer数据。  |
2583| len | 图片大小信息。  |
2584| res | 应用层的 **PixelMap** 对象的指针。  |
2585
2586**返回:**
2587
2588参考[IRNdkErrCode](#irndkerrcode-1)。
2589
2590如果操作成功则返回IMAGE_RESULT_SUCCESS;
2591
2592如果参数错误则返回IMAGE_RESULT_BAD_PARAMETER;
2593
2594如果JNI环境异常则返回IMAGE_RESULT_JNI_ENV_ABNORMAL;
2595
2596如果参数无效则返回IMAGE_RESULT_INVALID_PARAMETER;
2597
2598如果图像获取数据失败则返回IMAGE_RESULT_GET_DATA_ABNORMAL;
2599
2600如果解码失败则返回IMAGE_RESULT_DECODE_FAILED;
2601
2602如果图像头解码失败则返回IMAGE_RESULT_DECODE_HEAD_ABNORMAL;
2603
2604如果创建解码器失败则返回IMAGE_RESULT_CREATE_DECODER_FAILED;
2605
2606如果创建编码器失败则返回IMAGE_RESULT_CREATE_ENCODER_FAILED;
2607
2608如果检查格式失败则返回IMAGE_RESULT_CHECK_FORMAT_ERROR;
2609
2610如果skia能力失败则返回IMAGE_RESULT_THIRDPART_SKIA_ERROR;
2611
2612如果图像输入数据失败则返回IMAGE_RESULT_DATA_ABNORMAL;
2613
2614如果共享内存失败则返回IMAGE_RESULT_ERR_SHAMEM_NOT_EXIST;
2615
2616如果共享内存数据错误则返回IMAGE_RESULT_ERR_SHAMEM_DATA_ABNORMAL;
2617
2618如果图像解码失败则返回IMAGE_RESULT_DECODE_ABNORMAL;
2619
2620如果图像分配内存失败则返回IMAGE_RESULT_MALLOC_ABNORMAL;
2621
2622如果属性无效或图像数据不支持则返回IMAGE_RESULT_DATA_UNSUPPORT;
2623
2624如果图像初始化失败则返回IMAGE_RESULT_INIT_ABNORMAL;
2625
2626如果裁剪失败则返回IMAGE_RESULT_CROP;
2627
2628如果图像格式未知则返回IMAGE_RESULT_UNKNOWN_FORMAT;
2629
2630如果注册插件失败则返回IMAGE_RESULT_PLUGIN_REGISTER_FAILED;
2631
2632如果创建插件失败则返回IMAGE_RESULT_PLUGIN_CREATE_FAILED;
2633
2634如果图像编码失败则返回IMAGE_RESULT_ENCODE_FAILED;
2635
2636如果图像不支持硬件解码则返回IMAGE_RESULT_HW_DECODE_UNSUPPORT;
2637
2638如果硬件解码失败则返回IMAGE_RESULT_HW_DECODE_FAILED;
2639
2640如果ipc失败则返回IMAGE_RESULT_ERR_IPC;
2641
2642如果参数无效则返回IMAGE_RESULT_INDEX_INVALID;
2643
2644如果透明度类型错误则返回IMAGE_RESULT_ALPHA_TYPE_ERROR;
2645
2646如果内存分配类型错误则返回IMAGE_RESULT_ALLOCATER_TYPE_ERROR。
2647
2648
2649
2650### OH_PixelMap_CreatePixelMapWithStride()
2651
2652```
2653int32_t OH_PixelMap_CreatePixelMapWithStride (napi_env env, OhosPixelMapCreateOps info, void * buf, size_t len, int32_t rowStride, napi_value * res )
2654```
2655**描述**
2656创建**PixelMap**对象。当前只支持输入流为BGRA格式的流。pixelmap内存在RGBA格式下,默认为DMA内存(图片512\*512以上)。
2657
2658**起始版本:** 12
2659
2660**参数:**
2661
2662| 名称 | 描述 |
2663| -------- | -------- |
2664| env | napi的环境指针。  |
2665| info | PixelMap数据设置项。  |
2666| buf | 图片的buffer数据。  |
2667| len | 图片buffer大小信息。  |
2668| rowStride | 图片跨距信息。 跨距,图像每行占用的真实内存大小,单位为字节。跨距 = width \* 单位像素字节数 + padding,padding为每行为内存对齐做的填充区域。  |
2669| res | 应用层的 PixelMap 对象的指针。  |
2670
2671**返回:**
2672
2673参考[IRNdkErrCode](#irndkerrcode-1)。
2674
2675如果操作成功则返回IMAGE_RESULT_SUCCESS;
2676
2677如果参数错误则返回IMAGE_RESULT_BAD_PARAMETER;
2678
2679如果JNI环境异常则返回IMAGE_RESULT_JNI_ENV_ABNORMAL;
2680
2681如果图像获取数据失败则返回IMAGE_RESULT_GET_DATA_ABNORMAL;
2682
2683如果检查格式失败则返回IMAGE_RESULT_CHECK_FORMAT_ERROR;
2684
2685如果图像输入数据失败则返回IMAGE_RESULT_DATA_ABNORMAL;
2686
2687如果共享内存数据错误则返回IMAGE_RESULT_ERR_SHAMEM_DATA_ABNORMAL;
2688
2689如果属性无效或图像数据不支持则返回IMAGE_RESULT_DATA_UNSUPPORT;
2690
2691如果图像格式未知则返回IMAGE_RESULT_UNKNOWN_FORMAT。
2692
2693
2694
2695### OH_PixelMap_Crop()
2696
2697```
2698int32_t OH_PixelMap_Crop (const NativePixelMap * native, int32_t x, int32_t y, int32_t width, int32_t height )
2699```
2700**描述**
2701设置**PixelMap**对象的裁剪。
2702
2703> **说明:**
2704> 从API version 12开始,推荐使用新接口[OH_PixelmapNative_Crop](../../reference/apis-image-kit/_image___native_module.md#oh_pixelmapnative_crop)。
2705
2706**起始版本:** 10
2707
2708**参数:**
2709
2710| 名称 | 描述 |
2711| -------- | -------- |
2712| native | NativePixelMap的指针。  |
2713| x | 目标图片左上角的x坐标。  |
2714| y | 目标图片左上角的y坐标。  |
2715| width | 裁剪区域的宽度。  |
2716| height | 裁剪区域的高度。  |
2717
2718**返回:**
2719
2720参考[IRNdkErrCode](#irndkerrcode-1)。
2721
2722如果操作成功则返回IMAGE_RESULT_SUCCESS;
2723
2724如果参数错误则返回IMAGE_RESULT_BAD_PARAMETER;
2725
2726如果JNI环境异常则返回IMAGE_RESULT_JNI_ENV_ABNORMAL;
2727
2728如果参数无效则返回IMAGE_RESULT_INVALID_PARAMETER;
2729
2730如果图像获取数据失败则返回IMAGE_RESULT_GET_DATA_ABNORMAL;
2731
2732如果解码失败则返回IMAGE_RESULT_DECODE_FAILED;
2733
2734如果检查格式失败则返回IMAGE_RESULT_CHECK_FORMAT_ERROR;
2735
2736如果skia能力失败则返回IMAGE_RESULT_THIRDPART_SKIA_ERROR;
2737
2738如果图像输入数据失败则返回IMAGE_RESULT_DATA_ABNORMAL;
2739
2740如果共享内存失败则返回IMAGE_RESULT_ERR_SHAMEM_NOT_EXIST;
2741
2742如果共享内存数据错误则返回IMAGE_RESULT_ERR_SHAMEM_DATA_ABNORMAL;
2743
2744如果图像分配内存失败则返回IMAGE_RESULT_MALLOC_ABNORMAL;
2745
2746如果属性无效或图像数据不支持则返回IMAGE_RESULT_DATA_UNSUPPORT;
2747
2748如果裁剪失败则返回IMAGE_RESULT_CROP;
2749
2750如果图像格式未知则返回IMAGE_RESULT_UNKNOWN_FORMAT;
2751
2752如果注册插件失败则返回IMAGE_RESULT_PLUGIN_REGISTER_FAILED;
2753
2754如果创建插件失败则返回IMAGE_RESULT_PLUGIN_CREATE_FAILED;
2755
2756如果参数无效则返回IMAGE_RESULT_INDEX_INVALID;
2757
2758如果透明度类型错误则返回IMAGE_RESULT_ALPHA_TYPE_ERROR;
2759
2760如果内存分配类型错误则返回IMAGE_RESULT_ALLOCATER_TYPE_ERROR。
2761
2762
2763
2764### OH_PixelMap_Flip()
2765
2766```
2767int32_t OH_PixelMap_Flip (const NativePixelMap * native, int32_t x, int32_t y )
2768```
2769**描述**
2770设置**PixelMap**对象的翻转。
2771
2772> **说明:**
2773> 从API version 12开始,推荐使用新接口[OH_PixelmapNative_Flip](../../reference/apis-image-kit/_image___native_module.md#oh_pixelmapnative_flip)。
2774
2775**起始版本:** 10
2776
2777**参数:**
2778
2779| 名称 | 描述 |
2780| -------- | -------- |
2781| native | NativePixelMap的指针。  |
2782| x | 根据水平方向x轴进行图片翻转。  |
2783| y | 根据垂直方向y轴进行图片翻转。  |
2784
2785**返回:**
2786
2787参考[IRNdkErrCode](#irndkerrcode-1)。
2788
2789如果操作成功则返回IMAGE_RESULT_SUCCESS;
2790
2791如果参数错误则返回IMAGE_RESULT_BAD_PARAMETER;
2792
2793如果JNI环境异常则返回IMAGE_RESULT_JNI_ENV_ABNORMAL;
2794
2795如果参数无效则返回IMAGE_RESULT_INVALID_PARAMETER;
2796
2797如果图像获取数据失败则返回IMAGE_RESULT_GET_DATA_ABNORMAL;
2798
2799如果解码失败则返回IMAGE_RESULT_DECODE_FAILED;
2800
2801如果检查格式失败则返回IMAGE_RESULT_CHECK_FORMAT_ERROR;
2802
2803如果skia能力失败则返回IMAGE_RESULT_THIRDPART_SKIA_ERROR;
2804
2805如果图像输入数据失败则返回IMAGE_RESULT_DATA_ABNORMAL;
2806
2807如果共享内存失败则返回IMAGE_RESULT_ERR_SHAMEM_NOT_EXIST;
2808
2809如果共享内存数据错误则返回IMAGE_RESULT_ERR_SHAMEM_DATA_ABNORMAL;
2810
2811如果图像分配内存失败则返回IMAGE_RESULT_MALLOC_ABNORMAL;
2812
2813如果属性无效或图像数据不支持则返回IMAGE_RESULT_DATA_UNSUPPORT;
2814
2815如果裁剪失败则返回IMAGE_RESULT_CROP;
2816
2817如果图像格式未知则返回IMAGE_RESULT_UNKNOWN_FORMAT;
2818
2819如果注册插件失败则返回IMAGE_RESULT_PLUGIN_REGISTER_FAILED;
2820
2821如果创建插件失败则返回IMAGE_RESULT_PLUGIN_CREATE_FAILED;
2822
2823如果参数无效则返回IMAGE_RESULT_INDEX_INVALID;
2824
2825如果透明度类型错误则返回IMAGE_RESULT_ALPHA_TYPE_ERROR;
2826
2827如果内存分配类型错误则返回IMAGE_RESULT_ALLOCATER_TYPE_ERROR。
2828
2829
2830
2831### OH_PixelMap_GetBytesNumberPerRow()
2832
2833```
2834int32_t OH_PixelMap_GetBytesNumberPerRow (const NativePixelMap * native, int32_t * num )
2835```
2836**描述**
2837获取**PixelMap**对象每行字节数。
2838
2839**起始版本:** 10
2840
2841**参数:**
2842
2843| 名称 | 描述 |
2844| -------- | -------- |
2845| native | NativePixelMap的指针。  |
2846| num | **PixelMap**对象的每行字节数指针。  |
2847
2848**返回:**
2849
2850参考[IRNdkErrCode](#irndkerrcode-1)。
2851
2852如果操作成功则返回IMAGE_RESULT_SUCCESS;
2853
2854如果参数错误则返回IMAGE_RESULT_BAD_PARAMETER;
2855
2856如果JNI环境异常则返回IMAGE_RESULT_JNI_ENV_ABNORMAL;
2857
2858如果参数无效则返回IMAGE_RESULT_INVALID_PARAMETER;
2859
2860如果图像输入数据失败则返回IMAGE_RESULT_DATA_ABNORMAL;
2861
2862如果参数无效则返回IMAGE_RESULT_INDEX_INVALID。
2863
2864
2865
2866### OH_PixelMap_GetDensity()
2867
2868```
2869int32_t OH_PixelMap_GetDensity (const NativePixelMap * native, int32_t * density )
2870```
2871**描述**
2872获取**PixelMap**对象像素密度。
2873
2874**起始版本:** 10
2875
2876**参数:**
2877
2878| 名称 | 描述 |
2879| -------- | -------- |
2880| native | NativePixelMap的指针。  |
2881| density | 像素密度指针。  |
2882
2883**返回:**
2884
2885参考[IRNdkErrCode](#irndkerrcode-1)。
2886
2887如果操作成功则返回IMAGE_RESULT_SUCCESS;
2888
2889如果参数错误则返回IMAGE_RESULT_BAD_PARAMETER;
2890
2891如果JNI环境异常则返回IMAGE_RESULT_JNI_ENV_ABNORMAL;
2892
2893如果参数无效则返回IMAGE_RESULT_INVALID_PARAMETER;
2894
2895如果图像输入数据失败则返回IMAGE_RESULT_DATA_ABNORMAL;
2896
2897如果参数无效则返回IMAGE_RESULT_INDEX_INVALID。
2898
2899
2900
2901### OH_PixelMap_GetImageInfo()
2902
2903```
2904int32_t OH_PixelMap_GetImageInfo (const NativePixelMap * native, OhosPixelMapInfos * info )
2905```
2906**描述**
2907获取**PixelMap**对象图像信息。
2908
2909> 从API version 12开始,推荐使用新接口[OH_PixelmapNative_GetImageInfo](../../reference/apis-image-kit/_image___native_module.md#oh_pixelmapnative_getimageinfo)。
2910
2911**起始版本:** 10
2912
2913**参数:**
2914
2915| 名称 | 描述 |
2916| -------- | -------- |
2917| native | NativePixelMap的指针。  |
2918| info | 图像信息指针。  |
2919
2920**返回:**
2921
2922参考[IRNdkErrCode](#irndkerrcode-1)。
2923
2924如果操作成功则返回IMAGE_RESULT_SUCCESS;
2925
2926如果参数错误则返回IMAGE_RESULT_BAD_PARAMETER;
2927
2928如果JNI环境异常则返回IMAGE_RESULT_JNI_ENV_ABNORMAL;
2929
2930如果参数无效则返回IMAGE_RESULT_INVALID_PARAMETER;
2931
2932如果图像获取数据失败则返回IMAGE_RESULT_GET_DATA_ABNORMAL;
2933
2934如果解码失败则返回IMAGE_RESULT_DECODE_FAILED;
2935
2936如果检查格式失败则返回IMAGE_RESULT_CHECK_FORMAT_ERROR;
2937
2938如果skia能力失败则返回IMAGE_RESULT_THIRDPART_SKIA_ERROR;
2939
2940如果图像输入数据失败则返回IMAGE_RESULT_DATA_ABNORMAL;
2941
2942如果共享内存失败则返回IMAGE_RESULT_ERR_SHAMEM_NOT_EXIST;
2943
2944如果共享内存数据错误则返回IMAGE_RESULT_ERR_SHAMEM_DATA_ABNORMAL;
2945
2946如果图像分配内存失败则返回IMAGE_RESULT_MALLOC_ABNORMAL;
2947
2948如果属性无效或图像数据不支持则返回IMAGE_RESULT_DATA_UNSUPPORT;
2949
2950如果裁剪失败则返回IMAGE_RESULT_CROP;
2951
2952如果图像格式未知则返回IMAGE_RESULT_UNKNOWN_FORMAT;
2953
2954如果注册插件失败则返回IMAGE_RESULT_PLUGIN_REGISTER_FAILED;
2955
2956如果创建插件失败则返回IMAGE_RESULT_PLUGIN_CREATE_FAILED;
2957
2958如果参数无效则返回IMAGE_RESULT_INDEX_INVALID;
2959
2960如果透明度类型错误则返回IMAGE_RESULT_ALPHA_TYPE_ERROR;
2961
2962如果内存分配类型错误则返回IMAGE_RESULT_ALLOCATER_TYPE_ERROR。
2963
2964**参见:**
2965
2966[OhosPixelMapInfos](_ohos_pixel_map_infos.md)
2967
2968
2969### OH_PixelMap_GetIsEditable()
2970
2971```
2972int32_t OH_PixelMap_GetIsEditable (const NativePixelMap * native, int32_t * editable )
2973```
2974**描述**
2975获取**PixelMap**对象是否可编辑的状态。
2976
2977**起始版本:** 10
2978
2979**参数:**
2980
2981| 名称 | 描述 |
2982| -------- | -------- |
2983| native | NativePixelMap的指针。  |
2984| editable | **PixelMap** 对象是否可编辑的指针。  |
2985
2986**返回:**
2987
2988参考[IRNdkErrCode](#irndkerrcode-1)。
2989
2990如果操作成功则返回IMAGE_RESULT_SUCCESS;
2991
2992如果参数错误则返回IMAGE_RESULT_BAD_PARAMETER;
2993
2994如果JNI环境异常则返回IMAGE_RESULT_JNI_ENV_ABNORMAL;
2995
2996如果参数无效则返回IMAGE_RESULT_INVALID_PARAMETER;
2997
2998如果图像输入数据失败则返回IMAGE_RESULT_DATA_ABNORMAL;
2999
3000如果参数无效则返回IMAGE_RESULT_INDEX_INVALID。
3001
3002
3003
3004### OH_PixelMap_InitNativePixelMap()
3005
3006```
3007NativePixelMap* OH_PixelMap_InitNativePixelMap (napi_env env, napi_value source )
3008```
3009**描述**
3010初始化**NativePixelMap**对象。
3011
3012**起始版本:** 10
3013
3014**参数:**
3015
3016| 名称 | 描述 |
3017| -------- | -------- |
3018| env | napi的环境指针。  |
3019| source | 应用层的 **PixelMap** 对象。  |
3020
3021**返回:**
3022
3023操作成功则返回NativePixelMap的指针;如果操作失败,则返回错误码。
3024
3025
3026### OH_PixelMap_IsSupportAlpha()
3027
3028```
3029int32_t OH_PixelMap_IsSupportAlpha (const NativePixelMap * native, int32_t * alpha )
3030```
3031**描述**
3032获取**PixelMap**对象是否支持Alpha通道。
3033
3034**起始版本:** 10
3035
3036**参数:**
3037
3038| 名称 | 描述 |
3039| -------- | -------- |
3040| native | NativePixelMap的指针。  |
3041| alpha | 是否支持Alpha的指针。  |
3042
3043**返回:**
3044
3045参考[IRNdkErrCode](#irndkerrcode-1)。
3046
3047如果操作成功则返回IMAGE_RESULT_SUCCESS;
3048
3049如果参数错误则返回IMAGE_RESULT_BAD_PARAMETER;
3050
3051如果JNI环境异常则返回IMAGE_RESULT_JNI_ENV_ABNORMAL;
3052
3053如果参数无效则返回IMAGE_RESULT_INVALID_PARAMETER;
3054
3055如果图像输入数据失败则返回IMAGE_RESULT_DATA_ABNORMAL;
3056
3057如果参数无效则返回IMAGE_RESULT_INDEX_INVALID。
3058
3059
3060
3061### OH_PixelMap_Rotate()
3062
3063```
3064int32_t OH_PixelMap_Rotate (const NativePixelMap * native, float angle )
3065```
3066**描述**
3067设置**PixelMap**对象的旋转。
3068
3069> **说明:**
3070> 从API version 12开始,推荐使用新接口[OH_PixelmapNative_Rotate](../../reference/apis-image-kit/_image___native_module.md#oh_pixelmapnative_rotate)。
3071
3072**起始版本:** 10
3073
3074**参数:**
3075
3076| 名称 | 描述 |
3077| -------- | -------- |
3078| native | NativePixelMap的指针。  |
3079| angle | 旋转角度。  |
3080
3081**返回:**
3082
3083参考[IRNdkErrCode](#irndkerrcode-1)。
3084
3085如果操作成功则返回IMAGE_RESULT_SUCCESS;
3086
3087如果参数错误则返回IMAGE_RESULT_BAD_PARAMETER;
3088
3089如果JNI环境异常则返回IMAGE_RESULT_JNI_ENV_ABNORMAL;
3090
3091如果参数无效则返回IMAGE_RESULT_INVALID_PARAMETER;
3092
3093如果图像获取数据失败则返回IMAGE_RESULT_GET_DATA_ABNORMAL;
3094
3095如果解码失败则返回IMAGE_RESULT_DECODE_FAILED;
3096
3097如果检查格式失败则返回IMAGE_RESULT_CHECK_FORMAT_ERROR;
3098
3099如果skia能力失败则返回IMAGE_RESULT_THIRDPART_SKIA_ERROR;
3100
3101如果图像输入数据失败则返回IMAGE_RESULT_DATA_ABNORMAL;
3102
3103如果共享内存失败则返回IMAGE_RESULT_ERR_SHAMEM_NOT_EXIST;
3104
3105如果共享内存数据错误则返回IMAGE_RESULT_ERR_SHAMEM_DATA_ABNORMAL;
3106
3107如果图像分配内存失败则返回IMAGE_RESULT_MALLOC_ABNORMAL;
3108
3109如果属性无效或图像数据不支持则返回IMAGE_RESULT_DATA_UNSUPPORT;
3110
3111如果裁剪失败则返回IMAGE_RESULT_CROP;
3112
3113如果图像格式未知则返回IMAGE_RESULT_UNKNOWN_FORMAT;
3114
3115如果注册插件失败则返回IMAGE_RESULT_PLUGIN_REGISTER_FAILED;
3116
3117如果创建插件失败则返回IMAGE_RESULT_PLUGIN_CREATE_FAILED;
3118
3119如果参数无效则返回IMAGE_RESULT_INDEX_INVALID;
3120
3121如果透明度类型错误则返回IMAGE_RESULT_ALPHA_TYPE_ERROR;
3122
3123如果内存分配类型错误则返回IMAGE_RESULT_ALLOCATER_TYPE_ERROR。
3124
3125
3126
3127### OH_PixelMap_Scale()
3128
3129```
3130int32_t OH_PixelMap_Scale (const NativePixelMap * native, float x, float y )
3131```
3132**描述**
3133设置**PixelMap**对象的缩放。
3134
3135> **说明:**
3136> 从API version 12开始,推荐使用新接口[OH_PixelmapNative_Scale](../../reference/apis-image-kit/_image___native_module.md#oh_pixelmapnative_scale)。
3137
3138**起始版本:** 10
3139
3140**参数:**
3141
3142| 名称 | 描述 |
3143| -------- | -------- |
3144| native | NativePixelMap的指针。  |
3145| x | 宽度的缩放比例。  |
3146| y | 高度的缩放比例。  |
3147
3148**返回:**
3149
3150参考[IRNdkErrCode](#irndkerrcode-1)。
3151
3152如果操作成功则返回IMAGE_RESULT_SUCCESS;
3153
3154如果参数错误则返回IMAGE_RESULT_BAD_PARAMETER;
3155
3156如果JNI环境异常则返回IMAGE_RESULT_JNI_ENV_ABNORMAL;
3157
3158如果参数无效则返回IMAGE_RESULT_INVALID_PARAMETER;
3159
3160如果图像获取数据失败则返回IMAGE_RESULT_GET_DATA_ABNORMAL;
3161
3162如果解码失败则返回IMAGE_RESULT_DECODE_FAILED;
3163
3164如果检查格式失败则返回IMAGE_RESULT_CHECK_FORMAT_ERROR;
3165
3166如果skia能力失败则返回IMAGE_RESULT_THIRDPART_SKIA_ERROR;
3167
3168如果图像输入数据失败则返回IMAGE_RESULT_DATA_ABNORMAL;
3169
3170如果共享内存失败则返回IMAGE_RESULT_ERR_SHAMEM_NOT_EXIST;
3171
3172如果共享内存数据错误则返回IMAGE_RESULT_ERR_SHAMEM_DATA_ABNORMAL;
3173
3174如果图像分配内存失败则返回IMAGE_RESULT_MALLOC_ABNORMAL;
3175
3176如果属性无效或图像数据不支持则返回IMAGE_RESULT_DATA_UNSUPPORT;
3177
3178如果图像初始化失败则返回IMAGE_RESULT_INIT_ABNORMAL;
3179
3180如果裁剪失败则返回IMAGE_RESULT_CROP;
3181
3182如果图像格式未知则返回IMAGE_RESULT_UNKNOWN_FORMAT;
3183
3184如果注册插件失败则返回IMAGE_RESULT_PLUGIN_REGISTER_FAILED;
3185
3186如果创建插件失败则返回IMAGE_RESULT_PLUGIN_CREATE_FAILED;
3187
3188如果参数无效则返回IMAGE_RESULT_INDEX_INVALID;
3189
3190如果透明度类型错误则返回IMAGE_RESULT_ALPHA_TYPE_ERROR;
3191
3192如果内存分配类型错误则返回IMAGE_RESULT_ALLOCATER_TYPE_ERROR。
3193
3194
3195
3196### OH_PixelMap_ScaleWithAntiAliasing()
3197
3198```
3199int32_t OH_PixelMap_ScaleWithAntiAliasing (const NativePixelMap * native, float x, float y, OH_PixelMap_AntiAliasingLevel level )
3200```
3201**描述**
3202根据指定的缩放算法和输入的宽高对图片进行缩放。
3203
3204> **说明:**
3205> 从API version 12开始,推荐使用新接口[OH_PixelmapNative_ScaleWithAntiAliasing](../../reference/apis-image-kit/_image___native_module.md#oh_pixelmapnative_scalewithantialiasing)。
3206
3207**起始版本:** 12
3208
3209**参数:**
3210
3211| 名称 | 描述 |
3212| -------- | -------- |
3213| native | NativePixelMap的指针。  |
3214| x | 宽度的缩放比例。  |
3215| y | 高度的缩放比例。  |
3216| level | 缩放算法。  |
3217
3218**返回:**
3219
3220参考[IRNdkErrCode](#irndkerrcode-1)。
3221
3222如果操作成功则返回IMAGE_RESULT_SUCCESS;
3223
3224如果JNI环境异常则返回IMAGE_RESULT_JNI_ENV_ABNORMAL;
3225
3226如果参数无效则返回IMAGE_RESULT_INVALID_PARAMETER;
3227
3228如果图像获取数据失败则返回IMAGE_RESULT_GET_DATA_ABNORMAL;
3229
3230如果检查格式失败则返回IMAGE_RESULT_CHECK_FORMAT_ERROR;
3231
3232如果skia能力失败则返回IMAGE_RESULT_THIRDPART_SKIA_ERROR;
3233
3234如果共享内存数据错误则返回IMAGE_RESULT_ERR_SHAMEM_DATA_ABNORMAL;
3235
3236如果图像分配内存失败则返回IMAGE_RESULT_MALLOC_ABNORMAL;
3237
3238如果图像格式未知则返回IMAGE_RESULT_UNKNOWN_FORMAT。
3239
3240
3241
3242### OH_PixelMap_SetAlphaAble()
3243
3244```
3245int32_t OH_PixelMap_SetAlphaAble (const NativePixelMap * native, int32_t alpha )
3246```
3247**描述**
3248设置**PixelMap**对象的Alpha通道。
3249
3250**起始版本:** 10
3251
3252**参数:**
3253
3254| 名称 | 描述 |
3255| -------- | -------- |
3256| native | NativePixelMap的指针。  |
3257| alpha | Alpha通道。  |
3258
3259**返回:**
3260
3261参考[IRNdkErrCode](#irndkerrcode-1)。
3262
3263如果操作成功则返回IMAGE_RESULT_SUCCESS;
3264
3265如果参数错误则返回IMAGE_RESULT_BAD_PARAMETER;
3266
3267如果JNI环境异常则返回IMAGE_RESULT_JNI_ENV_ABNORMAL;
3268
3269如果参数无效则返回IMAGE_RESULT_INVALID_PARAMETER;
3270
3271如果图像输入数据失败则返回IMAGE_RESULT_DATA_ABNORMAL;
3272
3273如果参数无效则返回IMAGE_RESULT_INDEX_INVALID。
3274
3275
3276
3277### OH_PixelMap_SetDensity()
3278
3279```
3280int32_t OH_PixelMap_SetDensity (const NativePixelMap * native, int32_t density )
3281```
3282**描述**
3283设置**PixelMap**对象像素密度。
3284
3285**起始版本:** 10
3286
3287**参数:**
3288
3289| 名称 | 描述 |
3290| -------- | -------- |
3291| native | NativePixelMap的指针。  |
3292| density | 像素密度。  |
3293
3294**返回:**
3295
3296参考[IRNdkErrCode](#irndkerrcode-1)。
3297
3298如果操作成功则返回IMAGE_RESULT_SUCCESS;
3299
3300如果参数错误则返回IMAGE_RESULT_BAD_PARAMETER;
3301
3302如果JNI环境异常则返回IMAGE_RESULT_JNI_ENV_ABNORMAL;
3303
3304如果参数无效则返回IMAGE_RESULT_INVALID_PARAMETER;
3305
3306如果图像输入数据失败则返回IMAGE_RESULT_DATA_ABNORMAL;
3307
3308如果参数无效则返回IMAGE_RESULT_INDEX_INVALID。
3309
3310
3311
3312### OH_PixelMap_SetOpacity()
3313
3314```
3315int32_t OH_PixelMap_SetOpacity (const NativePixelMap * native, float opacity )
3316```
3317**描述**
3318设置**PixelMap**对象的透明度。
3319
3320**起始版本:** 10
3321
3322**参数:**
3323
3324| 名称 | 描述 |
3325| -------- | -------- |
3326| native | NativePixelMap的指针。  |
3327| opacity | 透明度。  |
3328
3329**返回:**
3330
3331参考[IRNdkErrCode](#irndkerrcode-1)。
3332
3333如果操作成功则返回IMAGE_RESULT_SUCCESS;
3334
3335如果参数错误则返回IMAGE_RESULT_BAD_PARAMETER;
3336
3337如果JNI环境异常则返回IMAGE_RESULT_JNI_ENV_ABNORMAL;
3338
3339如果参数无效则返回IMAGE_RESULT_INVALID_PARAMETER;
3340
3341如果图像输入数据失败则返回IMAGE_RESULT_DATA_ABNORMAL;
3342
3343如果参数无效则返回IMAGE_RESULT_INDEX_INVALID。
3344
3345
3346### OH_PixelMap_Translate()
3347
3348```
3349int32_t OH_PixelMap_Translate (const NativePixelMap * native, float x, float y )
3350```
3351**描述**
3352设置**PixelMap**对象的偏移。
3353
3354> **说明:**
3355> 从API version 12开始,推荐使用新接口[OH_PixelmapNative_Translate](../../reference/apis-image-kit/_image___native_module.md#oh_pixelmapnative_translate)。
3356
3357**起始版本:** 10
3358
3359**参数:**
3360
3361| 名称 | 描述 |
3362| -------- | -------- |
3363| native | NativePixelMap的指针。  |
3364| x | 水平偏移量。  |
3365| y | 垂直偏移量。  |
3366
3367**返回:**
3368
3369参考[IRNdkErrCode](#irndkerrcode-1)。
3370
3371如果操作成功则返回IMAGE_RESULT_SUCCESS;
3372
3373如果参数错误则返回IMAGE_RESULT_BAD_PARAMETER;
3374
3375如果JNI环境异常则返回IMAGE_RESULT_JNI_ENV_ABNORMAL;
3376
3377如果参数无效则返回IMAGE_RESULT_INVALID_PARAMETER;
3378
3379如果图像获取数据失败则返回IMAGE_RESULT_GET_DATA_ABNORMAL;
3380
3381如果解码失败则返回IMAGE_RESULT_DECODE_FAILED;
3382
3383如果检查格式失败则返回IMAGE_RESULT_CHECK_FORMAT_ERROR;
3384
3385如果skia能力失败则返回IMAGE_RESULT_THIRDPART_SKIA_ERROR;
3386
3387如果图像输入数据失败则返回IMAGE_RESULT_DATA_ABNORMAL;
3388
3389如果共享内存失败则返回IMAGE_RESULT_ERR_SHAMEM_NOT_EXIST;
3390
3391如果共享内存数据错误则返回IMAGE_RESULT_ERR_SHAMEM_DATA_ABNORMAL;
3392
3393如果图像分配内存失败则返回IMAGE_RESULT_MALLOC_ABNORMAL;
3394
3395如果属性无效或图像数据不支持则返回IMAGE_RESULT_DATA_UNSUPPORT;
3396
3397如果裁剪失败则返回IMAGE_RESULT_CROP;
3398
3399如果图像格式未知则返回IMAGE_RESULT_UNKNOWN_FORMAT;
3400
3401如果注册插件失败则返回IMAGE_RESULT_PLUGIN_REGISTER_FAILED;
3402
3403如果创建插件失败则返回IMAGE_RESULT_PLUGIN_CREATE_FAILED;
3404
3405如果参数无效则返回IMAGE_RESULT_INDEX_INVALID;
3406
3407如果透明度类型错误则返回IMAGE_RESULT_ALPHA_TYPE_ERROR;
3408
3409如果内存分配类型错误则返回IMAGE_RESULT_ALLOCATER_TYPE_ERROR。
3410
3411
3412
3413### OH_PixelMap_UnAccessPixels()
3414
3415```
3416int32_t OH_PixelMap_UnAccessPixels (const NativePixelMap * native)
3417```
3418**描述**
3419释放native **PixelMap**对象数据的内存锁,用于匹配方法[OH_PixelMap_AccessPixels](#oh_pixelmap_accesspixels)。
3420
3421**起始版本:** 10
3422
3423**参数:**
3424
3425| 名称 | 描述 |
3426| -------- | -------- |
3427| native | NativePixelMap的指针。  |
3428
3429**返回:**
3430
3431参考[IRNdkErrCode](#irndkerrcode-1)。
3432
3433如果操作成功则返回IMAGE_RESULT_SUCCESS;
3434
3435如果参数错误则返回IMAGE_RESULT_BAD_PARAMETER;
3436
3437如果JNI环境异常则返回IMAGE_RESULT_JNI_ENV_ABNORMAL;
3438
3439如果参数无效则返回IMAGE_RESULT_INVALID_PARAMETER;
3440
3441如果图像获取数据失败则返回IMAGE_RESULT_GET_DATA_ABNORMAL;
3442
3443如果解码失败则返回IMAGE_RESULT_DECODE_FAILED;
3444
3445如果检查格式失败则返回IMAGE_RESULT_CHECK_FORMAT_ERROR;
3446
3447如果skia能力失败则返回IMAGE_RESULT_THIRDPART_SKIA_ERROR;
3448
3449如果图像输入数据失败则返回IMAGE_RESULT_DATA_ABNORMAL;
3450
3451如果共享内存失败则返回IMAGE_RESULT_ERR_SHAMEM_NOT_EXIST;
3452
3453如果共享内存数据错误则返回IMAGE_RESULT_ERR_SHAMEM_DATA_ABNORMAL;
3454
3455如果图像分配内存失败则返回IMAGE_RESULT_MALLOC_ABNORMAL;
3456
3457如果属性无效或图像数据不支持则返回IMAGE_RESULT_DATA_UNSUPPORT;
3458
3459如果裁剪失败则返回IMAGE_RESULT_CROP;
3460
3461如果图像格式未知则返回IMAGE_RESULT_UNKNOWN_FORMAT;
3462
3463如果注册插件失败则返回IMAGE_RESULT_PLUGIN_REGISTER_FAILED;
3464
3465如果创建插件失败则返回IMAGE_RESULT_PLUGIN_CREATE_FAILED;
3466
3467如果参数无效则返回IMAGE_RESULT_INDEX_INVALID;
3468
3469如果透明度类型错误则返回IMAGE_RESULT_ALPHA_TYPE_ERROR;
3470
3471如果内存分配类型错误则返回IMAGE_RESULT_ALLOCATER_TYPE_ERROR。
3472
3473
3474
3475
3476### OH_UnAccessPixels()
3477
3478```
3479int32_t OH_UnAccessPixels (napi_env env, napi_value value )
3480```
3481**描述**
3482释放**PixelMap**对象数据的内存锁, 用于匹配方法**OH_AccessPixels**。
3483
3484**废弃版本:** 10
3485
3486**起始版本:** 8
3487
3488**参数:**
3489
3490| 名称 | 描述 |
3491| -------- | -------- |
3492| env | napi的环境指针。  |
3493| value | 应用层的 **PixelMap** 对象。  |
3494
3495**返回:**
3496
3497操作成功则返回 **OHOS_IMAGE_RESULT_SUCCESS**;如果操作失败,则返回错误码。
3498
3499
3500
3501## 变量说明
3502
3503
3504### alphaType
3505
3506```
3507int32_t OhosImageSourceInfo::alphaType
3508```
3509**描述**
3510图像源透明度类型
3511
3512
3513### buffer [1/2]
3514
3515```
3516uint8_t* OhosImageSource::buffer = nullptr
3517```
3518**描述**
3519图像源缓冲区资源,接受格式化包缓冲区或者base64缓冲区
3520
3521**起始版本:** 10
3522
3523### buffer [2/2]
3524
3525```
3526uint8_t* OhosImageSourceUpdateData::buffer = nullptr
3527```
3528**描述**
3529图像源更新数据缓冲区
3530
3531**起始版本:** 10
3532
3533
3534### bufferSize [1/2]
3535
3536```
3537size_t OhosImageSource::bufferSize = 0
3538```
3539**描述**
3540图像源缓冲区资源大小
3541
3542
3543### bufferSize [2/2]
3544
3545```
3546size_t OhosImageSourceUpdateData::bufferSize = 0
3547```
3548**描述**
3549图像源更新数据缓冲区大小
3550
3551**起始版本:** 10
3552
3553
3554### colorSpace
3555
3556```
3557int32_t OhosImageSourceInfo::colorSpace
3558```
3559**描述**
3560图像源色彩空间
3561
3562**起始版本:** 10
3563
3564
3565### delayTimeList
3566
3567```
3568int32_t* OhosImageSourceDelayTimeList::delayTimeList
3569```
3570**描述**
3571图像源延迟时间列表头地址
3572
3573**起始版本:** 10
3574
3575
3576### density [1/2]
3577
3578```
3579int32_t OhosImageSourceOps::density
3580```
3581**描述**
3582图像源像素密度
3583
3584**起始版本:** 10
3585
3586
3587### density [2/2]
3588
3589```
3590int32_t OhosImageSourceInfo::density
3591```
3592**描述**
3593图像源密度, 由 [OH_ImageSource_Create](#oh_imagesource_create) 设置
3594
3595**起始版本:** 10
3596
3597
3598### editable
3599
3600```
3601int8_t OhosImageDecodingOps::editable
3602```
3603**描述**
3604定义输出的像素位图是否可编辑
3605
3606**起始版本:** 10
3607
3608
3609### fd
3610
3611```
3612int32_t OhosImageSource::fd = -1
3613```
3614**描述**
3615图像源文件资源描述符
3616
3617**起始版本:** 10
3618
3619
3620### fitDensity
3621
3622```
3623int32_t OhosImageDecodingOps::fitDensity
3624```
3625**描述**
3626定义解码目标的像素密度
3627
3628**起始版本:** 10
3629
3630
3631### format
3632
3633```
3634char* OhosImageSourceSupportedFormat::format = nullptr
3635```
3636**描述**
3637图像源支持的格式字符串头地址
3638
3639**起始版本:** 10
3640
3641
3642### height
3643
3644```
3645int32_t OhosImageRegion::height
3646```
3647**描述**
3648高度范围,用pixels表示
3649
3650**起始版本:** 10
3651
3652### index
3653
3654```
3655uint32_t OhosImageDecodingOps::index
3656```
3657**描述**
3658定义图像源解码指数
3659
3660**起始版本:** 10
3661
3662
3663### isCompleted
3664
3665```
3666int8_t OhosImageSourceUpdateData::isCompleted = 0
3667```
3668**描述**
3669图像源更新数据在此节中完成
3670
3671**起始版本:** 10
3672
3673
3674### offset
3675
3676```
3677uint32_t OhosImageSourceUpdateData::offset = 0
3678```
3679**描述**
3680图像源更新数据缓冲区的开端
3681
3682**起始版本:** 10
3683
3684
3685### OHOS_IMAGE_PROPERTY_BITS_PER_SAMPLE
3686
3687```
3688const char* OHOS_IMAGE_PROPERTY_BITS_PER_SAMPLE = "BitsPerSample"
3689```
3690**描述**
3691定义每个样本比特的图像属性关键字。 此标签给[OH_ImageSource_GetImageProperty](#oh_imagesource_getimageproperty)和[OH_ImageSource_ModifyImageProperty](#oh_imagesource_modifyimageproperty)这两个接口使用。
3692
3693**起始版本:** 10
3694
3695
3696### OHOS_IMAGE_PROPERTY_COMPRESSED_BITS_PER_PIXEL
3697
3698```
3699const char* OHOS_IMAGE_PROPERTY_COMPRESSED_BITS_PER_PIXEL = "CompressedBitsPerPixel"
3700```
3701**描述**
3702定义每个像素的压缩比特的图像属性关键字。 此标签给[OH_ImageSource_GetImageProperty](#oh_imagesource_getimageproperty)和[OH_ImageSource_ModifyImageProperty](#oh_imagesource_modifyimageproperty)这两个接口使用。
3703
3704**起始版本:** 10
3705
3706
3707### OHOS_IMAGE_PROPERTY_DATE_TIME_ORIGINAL
3708
3709```
3710const char* OHOS_IMAGE_PROPERTY_DATE_TIME_ORIGINAL = "DateTimeOriginal"
3711```
3712**描述**
3713定义初始日期时间的图像属性关键字。 此标签给[OH_ImageSource_GetImageProperty](#oh_imagesource_getimageproperty)和[OH_ImageSource_ModifyImageProperty](#oh_imagesource_modifyimageproperty)这两个接口使用。
3714
3715**起始版本:** 10
3716
3717
3718### OHOS_IMAGE_PROPERTY_EXPOSURE_TIME
3719
3720```
3721const char* OHOS_IMAGE_PROPERTY_EXPOSURE_TIME = "ExposureTime"
3722```
3723**描述**
3724定义曝光时间的图像属性关键字。 此标签给[OH_ImageSource_GetImageProperty](#oh_imagesource_getimageproperty)和[OH_ImageSource_ModifyImageProperty](#oh_imagesource_modifyimageproperty)这两个接口使用。
3725**起始版本:** 10
3726
3727
3728### OHOS_IMAGE_PROPERTY_F_NUMBER
3729
3730```
3731const char* OHOS_IMAGE_PROPERTY_F_NUMBER = "FNumber"
3732```
3733**描述**
3734定义FNumber的图像属性关键字。 此标签给[OH_ImageSource_GetImageProperty](#oh_imagesource_getimageproperty)和[OH_ImageSource_ModifyImageProperty](#oh_imagesource_modifyimageproperty)这两个接口使用。
3735
3736**起始版本:** 10
3737
3738
3739### OHOS_IMAGE_PROPERTY_GPS_LATITUDE
3740
3741```
3742const char* OHOS_IMAGE_PROPERTY_GPS_LATITUDE = "GPSLatitude"
3743```
3744**描述**
3745定义GPS纬度的图像属性关键字。 此标签给[OH_ImageSource_GetImageProperty](#oh_imagesource_getimageproperty)和[OH_ImageSource_ModifyImageProperty](#oh_imagesource_modifyimageproperty)这两个接口使用。
3746
3747**起始版本:** 10
3748
3749
3750### OHOS_IMAGE_PROPERTY_GPS_LATITUDE_REF
3751
3752```
3753const char* OHOS_IMAGE_PROPERTY_GPS_LATITUDE_REF = "GPSLatitudeRef"
3754```
3755**描述**
3756定义GPS纬度参考的图像属性关键字。 此标签给[OH_ImageSource_GetImageProperty](#oh_imagesource_getimageproperty)和[OH_ImageSource_ModifyImageProperty](#oh_imagesource_modifyimageproperty)这两个接口使用。
3757
3758**起始版本:** 10
3759
3760
3761### OHOS_IMAGE_PROPERTY_GPS_LONGITUDE
3762
3763```
3764const char* OHOS_IMAGE_PROPERTY_GPS_LONGITUDE = "GPSLongitude"
3765```
3766**描述**
3767定义GPS经度的图像属性关键字。 此标签给[OH_ImageSource_GetImageProperty](#oh_imagesource_getimageproperty)和[OH_ImageSource_ModifyImageProperty](#oh_imagesource_modifyimageproperty)这两个接口使用。
3768
3769**起始版本:** 10
3770
3771
3772### OHOS_IMAGE_PROPERTY_GPS_LONGITUDE_REF
3773
3774```
3775const char* OHOS_IMAGE_PROPERTY_GPS_LONGITUDE_REF = "GPSLongitudeRef"
3776```
3777**描述**
3778定义GPS经度参考的图像属性关键字。 此标签给[OH_ImageSource_GetImageProperty](#oh_imagesource_getimageproperty)和[OH_ImageSource_ModifyImageProperty](#oh_imagesource_modifyimageproperty)这两个接口使用。
3779
3780
3781**起始版本:** 10
3782
3783
3784### OHOS_IMAGE_PROPERTY_IMAGE_LENGTH
3785
3786```
3787const char* OHOS_IMAGE_PROPERTY_IMAGE_LENGTH = "ImageLength"
3788```
3789**描述**
3790定义图像长度的图像属性关键字。 此标签给[OH_ImageSource_GetImageProperty](#oh_imagesource_getimageproperty)和[OH_ImageSource_ModifyImageProperty](#oh_imagesource_modifyimageproperty)这两个接口使用。
3791
3792**起始版本:** 10
3793
3794
3795### OHOS_IMAGE_PROPERTY_IMAGE_WIDTH
3796
3797```
3798const char* OHOS_IMAGE_PROPERTY_IMAGE_WIDTH = "ImageWidth"
3799```
3800**描述**
3801定义图像宽度的图像属性关键字。 此标签给[OH_ImageSource_GetImageProperty](#oh_imagesource_getimageproperty)和[OH_ImageSource_ModifyImageProperty](#oh_imagesource_modifyimageproperty)这两个接口使用。
3802
3803
3804**起始版本:** 10
3805
3806
3807### OHOS_IMAGE_PROPERTY_ISO_SPEED_RATINGS
3808
3809```
3810const char* OHOS_IMAGE_PROPERTY_ISO_SPEED_RATINGS = "ISOSpeedRatings"
3811```
3812**描述**
3813定义ISO速度等级的图像属性关键字。 此标签给[OH_ImageSource_GetImageProperty](#oh_imagesource_getimageproperty)和[OH_ImageSource_ModifyImageProperty](#oh_imagesource_modifyimageproperty)这两个接口使用。
3814
3815**起始版本:** 10
3816
3817
3818### OHOS_IMAGE_PROPERTY_ORIENTATION
3819
3820```
3821const char* OHOS_IMAGE_PROPERTY_ORIENTATION = "Orientation"
3822```
3823**描述**
3824定义方向的图像属性关键字。 此标签给[OH_ImageSource_GetImageProperty](#oh_imagesource_getimageproperty)和[OH_ImageSource_ModifyImageProperty](#oh_imagesource_modifyimageproperty)这两个接口使用。
3825
3826**起始版本:** 10
3827
3828
3829### OHOS_IMAGE_PROPERTY_SCENE_TYPE
3830
3831```
3832const char* OHOS_IMAGE_PROPERTY_SCENE_TYPE = "SceneType"
3833```
3834**描述**
3835定义场景类型的图像属性关键字。 此标签给[OH_ImageSource_GetImageProperty](#oh_imagesource_getimageproperty)和[OH_ImageSource_ModifyImageProperty](#oh_imagesource_modifyimageproperty)这两个接口使用。
3836
3837**起始版本:** 10
3838
3839
3840### pixelFormat [1/3]
3841
3842```
3843int32_t OhosImageSourceOps::pixelFormat
3844```
3845**描述**
3846图像源像素格式,通常用于描述YUV缓冲区
3847
3848**起始版本:** 10
3849
3850
3851### pixelFormat [2/3]
3852
3853```
3854int32_t OhosImageDecodingOps::pixelFormat
3855```
3856**描述**
3857定义输出的像素格式
3858
3859**起始版本:** 10
3860
3861
3862### pixelFormat [3/3]
3863
3864```
3865int32_t OhosImageSourceInfo::pixelFormat
3866```
3867**描述**
3868图像源像素格式, 由 [OH_ImageSource_Create](#oh_imagesource_create) 设置
3869
3870**起始版本:** 10
3871
3872
3873### region
3874
3875```
3876struct OhosImageRegion OhosImageDecodingOps::region
3877```
3878**描述**
3879定义图像源解码的像素范围
3880
3881**起始版本:** 10
3882
3883
3884### rotate
3885
3886```
3887uint32_t OhosImageDecodingOps::rotate
3888```
3889**描述**
3890定义解码旋转选项
3891
3892**起始版本:** 10
3893
3894
3895### sampleSize
3896
3897```
3898uint32_t OhosImageDecodingOps::sampleSize
3899```
3900**描述**
3901定义解码样本大小选项
3902
3903**起始版本:** 10
3904
3905
3906### size [1/7]
3907
3908```
3909struct OhosImageSize OhosImageSourceOps::size
3910```
3911**描述**
3912图像源像素宽高的大小
3913
3914**起始版本:** 10
3915
3916
3917### size [2/7]
3918
3919```
3920struct OhosImageSize OhosImageDecodingOps::size
3921```
3922**描述**
3923定义解码目标像素宽高的大小
3924
3925**起始版本:** 10
3926
3927
3928### size [3/7]
3929
3930```
3931struct OhosImageSize OhosImageSourceInfo::size
3932```
3933**描述**
3934图像源像素宽高的大小
3935
3936**起始版本:** 10
3937
3938
3939### size [4/7]
3940
3941```
3942size_t OhosImageSourceDelayTimeList::size = 0
3943```
3944**描述**
3945图像源延迟时间列表大小
3946
3947**起始版本:** 10
3948
3949
3950### size [5/7]
3951
3952```
3953size_t OhosImageSourceSupportedFormat::size = 0
3954```
3955**描述**
3956图像源支持的格式字符串大小
3957
3958**起始版本:** 10
3959
3960
3961### size [6/7]
3962
3963```
3964size_t OhosImageSourceSupportedFormatList::size = 0
3965```
3966**描述**
3967图像源支持的格式字符串列表大小
3968
3969**起始版本:** 10
3970
3971
3972### size [7/7]
3973
3974```
3975size_t OhosImageSourceProperty::size = 0
3976```
3977**描述**
3978定义图像源属性键值字符串大小
3979
3980**起始版本:** 10
3981
3982
3983### supportedFormatList
3984
3985```
3986struct OhosImageSourceSupportedFormat** OhosImageSourceSupportedFormatList::supportedFormatList = nullptr
3987```
3988**描述**
3989图像源支持的格式字符串列表头地址
3990
3991**起始版本:** 10
3992
3993
3994### updateLength
3995
3996```
3997uint32_t OhosImageSourceUpdateData::updateLength = 0
3998```
3999**描述**
4000图像源更新数据缓冲区的更新数据长度
4001
4002**起始版本:** 10
4003
4004
4005### uri
4006
4007```
4008char* OhosImageSource::uri = nullptr
4009```
4010**描述**
4011图像源资源标识符,接受文件资源或者base64资源
4012
4013**起始版本:** 10
4014
4015
4016### uriSize
4017
4018```
4019size_t OhosImageSource::uriSize = 0
4020```
4021**描述**
4022图像源资源长度
4023
4024**起始版本:** 10
4025
4026
4027### value
4028
4029```
4030char* OhosImageSourceProperty::value = nullptr
4031```
4032**描述**
4033定义图像源属性键值字符串头地址
4034
4035**起始版本:** 10
4036
4037
4038### width
4039
4040```
4041int32_t OhosImageRegion::width
4042```
4043**描述**
4044宽度范围,用pixels表示
4045
4046**起始版本:** 10
4047
4048
4049### x
4050
4051```
4052int32_t OhosImageRegion::x
4053```
4054**描述**
4055起始x坐标,用pixels表示
4056
4057**起始版本:** 10
4058
4059
4060### y
4061
4062```
4063int32_t OhosImageRegion::y
4064```
4065**描述**
4066起始y坐标,用pixels表示
4067
4068**起始版本:** 10
4069
4070
4071