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