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