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