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