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