# Image
提供获取pixelmap的数据和信息的接口方法。
使用该文件下接口,需要依赖:libpixelmap_ndk.z.so
@Syscap SystemCapability.Multimedia.Image
**起始版本:**
8
## 汇总
### 文件
| 文件名称 | 描述 |
| -------- | -------- |
| [image_pixel_map_napi.h](image__pixel__map__napi_8h.md) | 声明可以锁定并访问pixelmap数据的方法,声明解锁的方法。
引用文件:|
### 结构体
| 结构体名称 | 描述 |
| -------- | -------- |
| [OhosPixelMapInfo](_ohos_pixel_map_info.md) | 用于定义 pixel map 的相关信息。 |
### 枚举
| 名称 | 描述 |
| -------- | -------- |
| { OHOS_IMAGE_RESULT_SUCCESS = 0, OHOS_IMAGE_RESULT_BAD_PARAMETER = -1 } | 函数方法返回值的错误码的枚举。|
| { OHOS_PIXEL_MAP_FORMAT_NONE = 0, OHOS_PIXEL_MAP_FORMAT_RGBA_8888 = 3, OHOS_PIXEL_MAP_FORMAT_RGB_565 = 2 } | pixel 格式的枚举。|
### 函数
| 名称 | 描述 |
| -------- | -------- |
| [OH_GetImageInfo](#oh_getimageinfo) (napi_env env, napi_value value, [OhosPixelMapInfo](_ohos_pixel_map_info.md) \*info) | 获取 **PixelMap** 的信息,并记录信息到[OhosPixelMapInfo](_ohos_pixel_map_info.md)结构中。|
| [OH_AccessPixels](#oh_accesspixels) (napi_env env, napi_value value, void \*\*addrPtr) | 获取**PixelMap**对象数据的内存地址,并锁定该内存。|
| [OH_UnAccessPixels](#oh_unaccesspixels) (napi_env env, napi_value value) | 释放**PixelMap**对象数据的内存锁, 用于匹配方法[OH_AccessPixels](#oh_accesspixels)。|
## 枚举类型说明
### anonymous enum
```
anonymous enum
```
**描述:**
函数方法返回值的错误码的枚举。
| 枚举值 | 描述 |
| -------- | -------- |
| OHOS_IMAGE_RESULT_SUCCESS| 成功的结果 |
| OHOS_IMAGE_RESULT_BAD_PARAMETER| 无效值 |
**起始版本:**
8
### anonymous enum
```
anonymous enum
```
**描述:**
pixel 格式的枚举。
| 枚举值 | 描述 |
| -------- | -------- |
| OHOS_PIXEL_MAP_FORMAT_NONE| 未知的格式 |
| OHOS_PIXEL_MAP_FORMAT_RGBA_8888| 32-bit RGBA。 由 R, G, B组成,包括 A 都需要占用 8 bits。存储顺序是从高位到低位。 |
| OHOS_PIXEL_MAP_FORMAT_RGB_565| 16-bit RGB。 仅由 R, G, B 组成. 存储顺序是从高位到低位: 红色占用5 bits,绿色占用6 bits,蓝色占用5 bits。 |
**起始版本:**
8
## 函数说明
### OH_AccessPixels()
```
int32_t OH_AccessPixels (napi_env env, napi_value value, void ** addrPtr )
```
**描述:**
获取**PixelMap**对象数据的内存地址,并锁定该内存。
函数执行成功后,**\*addrPtr**就是获取的待访问的内存地址. 访问操作完成后,必须要使用[OH_UnAccessPixels](#oh_unaccesspixels)来释放锁, 否则的话资源无法被释放. 待解锁后,内存地址就不可以再被访问和操作。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| env | napi的环境指针。|
| value | 应用层的 **PixelMap** 对象。|
| addrPtr | 用于指向的内存地址的双指针对象。|
**参见:**
UnAccessPixels
**返回:**
操作成功则返回 OHOS_IMAGE_RESULT_SUCCESS; 如果操作失败,则返回错误码。
**起始版本:**
8
### OH_GetImageInfo()
```
struct OhosPixelMapCreateOps OH_GetImageInfo (napi_env env, napi_value value, OhosPixelMapInfo * info )
```
**描述:**
获取 **PixelMap** 的信息,并记录信息到[OhosPixelMapInfo](_ohos_pixel_map_info.md)结构中。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| env | napi的环境指针。|
| value | 应用层的 **PixelMap** 对象。|
| info | 用于保存信息的指针对象. 更多细节, 参看 [OhosPixelMapInfo](_ohos_pixel_map_info.md)。|
**返回:**
如果获取并保存信息成功,则返回**0**; 如果操作失败,则返回错误码。
**参见:**
[OhosPixelMapInfo](_ohos_pixel_map_info.md)
**起始版本:**
8
### OH_UnAccessPixels()
```
int32_t OH_UnAccessPixels (napi_env env, napi_value value )
```
**描述:**
释放**PixelMap**对象数据的内存锁, 用于匹配方法[OH_AccessPixels](#oh_accesspixels).
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| env | napi的环境指针。|
| value | 应用层的 **PixelMap** 对象。|
**返回:**
操作成功则返回 OHOS_IMAGE_RESULT_SUCCESS; 如果操作失败,则返回错误码。
**参见:**
AccessPixels
**起始版本:**
8