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