1# image_pixel_map_napi.h 2 3## 概述 4 5声明可以锁定并访问pixelmap数据的方法,声明解锁的方法。 6 7**库:** libpixelmap_ndk.so 8 9**系统能力:** SystemCapability.Multimedia.Image.Core 10 11**引用文件:** <multimedia/image_framework/image_pixel_map_napi.h> 12 13**起始版本:** 8 14 15**相关模块:** [Image](capi-image.md) 16 17## 汇总 18 19### 结构体 20 21| 名称 | typedef关键字 | 描述 | 22| -- | -- | -- | 23| [OhosPixelMapInfo](capi-image-ohospixelmapinfo.md) | - | 用于定义PixelMap的相关信息。 | 24 25### 枚举 26 27| 名称 | 描述 | 28| -- | -- | 29| [方法返回的错误码](#方法返回的错误码) | 函数方法返回值的错误码的枚举。 | 30| [像素格式](#像素格式) | 像素格式的枚举。 | 31| [anonymous enum](#pixelmap缩放类型) | PixelMap缩放类型的枚举。 | 32 33### 函数 34 35| 名称 | 描述 | 36| -- | -- | 37| [int32_t OH_GetImageInfo(napi_env env, napi_value value, OhosPixelMapInfo *info)](#oh_getimageinfo) | 获取PixelMap的信息,并记录信息到[OhosPixelMapInfo](capi-image-ohospixelmapinfo.md)结构中。 | 38| [int32_t OH_AccessPixels(napi_env env, napi_value value, void** addrPtr)](#oh_accesspixels) | 获取PixelMap对象数据的内存地址,并锁定该内存。<br>函数执行成功后,\*addrPtr就是获取的待访问的内存地址。访问操作完成后,必须要使用[OH_UnAccessPixels](#oh_unaccesspixels)来释放锁,否则的话资源无法被释放。待解锁后,内存地址就不可以再被访问和操作。 | 39| [int32_t OH_UnAccessPixels(napi_env env, napi_value value)](#oh_unaccesspixels) | 释放PixelMap对象数据的内存锁,用于匹配方法[OH_AccessPixels](#oh_accesspixels)。 | 40 41## 枚举类型说明 42 43### 方法返回的错误码 44 45``` 46enum anonymous enum 47``` 48 49**描述** 50 51函数方法返回值的错误码的枚举。 52 53**起始版本:** 8 54 55**废弃版本:** 10 56 57| 枚举项 | 描述 | 58| -- | -- | 59| OHOS_IMAGE_RESULT_SUCCESS = 0 | 成功的结果。 | 60| OHOS_IMAGE_RESULT_BAD_PARAMETER = -1 | 无效值。 | 61 62### 像素格式 63 64``` 65enum anonymous enum 66``` 67 68**描述** 69 70像素格式的枚举。 71 72**起始版本:** 8 73 74**废弃版本:** 10 75 76| 枚举项 | 描述 | 77| -- | -- | 78| OHOS_PIXEL_MAP_FORMAT_NONE = 0 | 未知的格式。 | 79| OHOS_PIXEL_MAP_FORMAT_RGBA_8888 = 3 | RGBA_8888格式。 | 80| OHOS_PIXEL_MAP_FORMAT_RGB_565 = 2 | RGB_565格式。 | 81 82### PixelMap缩放类型 83 84``` 85enum anonymous enum 86``` 87 88**描述** 89 90PixelMap缩放类型的枚举。 91 92**起始版本:** 10 93 94| 枚举项 | 描述 | 95| -- | -- | 96| OHOS_PIXEL_MAP_SCALE_MODE_FIT_TARGET_SIZE = 0 | 适应目标图片大小的格式。 | 97| OHOS_PIXEL_MAP_SCALE_MODE_CENTER_CROP = 1 | 以中心进行缩放的格式。 | 98 99 100## 函数说明 101 102### OH_GetImageInfo() 103 104``` 105int32_t OH_GetImageInfo(napi_env env, napi_value value, OhosPixelMapInfo *info) 106``` 107 108**描述** 109 110获取PixelMap的信息,并记录信息到[OhosPixelMapInfo](capi-image-ohospixelmapinfo.md)结构中。 111 112**起始版本:** 8 113 114**废弃版本:** 10 115 116 117**参数:** 118 119| 参数项 | 描述 | 120| -- | -- | 121| napi_env env | napi的环境指针。 | 122| napi_value value | 应用层的PixelMap对象。 | 123| [OhosPixelMapInfo](capi-image-ohospixelmapinfo.md) *info | 用于保存信息的指针对象。 | 124 125**返回:** 126 127| 类型 | 说明 | 128| -- | -- | 129| int32_t | [错误码](#方法返回的错误码):<br>OHOS_IMAGE_RESULT_SUCCESS:操作成功。<br>OHOS_IMAGE_RESULT_BAD_PARAMETER:操作失败。 | 130 131### OH_AccessPixels() 132 133``` 134int32_t OH_AccessPixels(napi_env env, napi_value value, void** addrPtr) 135``` 136 137**描述** 138 139获取PixelMap对象数据的内存地址,并锁定该内存。 140 141函数执行成功后,\*addrPtr就是获取的待访问的内存地址。访问操作完成后,必须要使用[OH_UnAccessPixels](#oh_unaccesspixels)来释放锁,否则的话资源无法被释放。待解锁后,内存地址就不可以再被访问和操作。 142 143**起始版本:** 8 144 145**废弃版本:** 10 146 147 148**参数:** 149 150| 参数项 | 描述 | 151| -- | -- | 152| napi_env env | napi的环境指针。 | 153| napi_value value | 应用层的PixelMap对象。 | 154| void** addrPtr | 用于指向的内存地址的双指针对象。 | 155 156**返回:** 157 158| 类型 | 说明 | 159| -- | -- | 160| int32_t | [错误码](#方法返回的错误码):<br>OHOS_IMAGE_RESULT_SUCCESS:操作成功。<br>OHOS_IMAGE_RESULT_BAD_PARAMETER:操作失败。 | 161 162### OH_UnAccessPixels() 163 164``` 165int32_t OH_UnAccessPixels(napi_env env, napi_value value) 166``` 167 168**描述** 169 170释放PixelMap对象数据的内存锁,用于匹配方法[OH_AccessPixels](#oh_accesspixels)。 171 172**起始版本:** 8 173 174**废弃版本:** 10 175 176 177**参数:** 178 179| 参数项 | 描述 | 180| -- | -- | 181| napi_env env | napi的环境指针。 | 182| napi_value value | 应用层的PixelMap对象。 | 183 184**返回:** 185 186| 类型 | 说明 | 187| -- | -- | 188| int32_t | [错误码](#方法返回的错误码):<br>OHOS_IMAGE_RESULT_SUCCESS:操作成功。<br>OHOS_IMAGE_RESULT_BAD_PARAMETER:操作失败。 | 189 190 191 192