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