Image
提供获取pixelmap的数据和信息的接口方法。
使用该文件下接口,需要依赖:libpixelmap_ndk.z.so
@Syscap SystemCapability.Multimedia.Image
起始版本:
8
汇总
文件
文件名称 | 描述 |
---|---|
image_pixel_map_napi.h | 声明可以锁定并访问pixelmap数据的方法,声明解锁的方法。 引用文件:<multimedia/image_framework/image_pixel_map_napi.h> |
结构体
结构体名称 | 描述 |
---|---|
OhosPixelMapInfo | 用于定义 pixel map 的相关信息。 |
OhosPixelMapCreateOps | 用于定义创建 pixel map 设置选项的相关信息。 |
类型定义
名称 | 描述 |
---|---|
NativePixelMap | 用于定义NativePixelMap数据类型名称。 |
枚举
名称 | 描述 |
---|---|
{ 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 格式的枚举。 |
{ OHOS_PIXEL_MAP_ALPHA_TYPE_UNKNOWN = 0, OHOS_PIXEL_MAP_ALPHA_TYPE_OPAQUE = 1, OHOS_PIXEL_MAP_ALPHA_TYPE_PREMUL = 2, OHOS_PIXEL_MAP_ALPHA_TYPE_UNPREMUL = 3 } | PixelMap alpha 类型的枚举。 |
{ OHOS_PIXEL_MAP_SCALE_MODE_FIT_TARGET_SIZE = 0, OHOS_PIXEL_MAP_SCALE_MODE_CENTER_CROP = 1 } | PixelMap 缩放类型的枚举。 |
{ OHOS_PIXEL_MAP_READ_ONLY = 0, OHOS_PIXEL_MAP_EDITABLE = 1 } | PixelMap 编辑类型的枚举。 |
函数
名称 | 描述 |
---|---|
OH_GetImageInfo (napi_env env, napi_value value, OhosPixelMapInfo *info) | 获取 PixelMap 的信息,并记录信息到OhosPixelMapInfo结构中。 |
OH_AccessPixels (napi_env env, napi_value value, void **addrPtr) | 获取PixelMap对象数据的内存地址,并锁定该内存。 |
OH_UnAccessPixels (napi_env env, napi_value value) | 释放PixelMap对象数据的内存锁, 用于匹配方法OH_AccessPixels。 |
OH_PixelMap_CreatePixelMap (napi_env env, OhosPixelMapCreateOps info, void *buf, size_t len, napi_value *res) | 创建PixelMap对象。 |
OH_PixelMap_CreateAlphaPixelMap (napi_env env, napi_value source, napi_value *alpha) | 根据Alpha通道的信息,来生成一个仅包含Alpha通道信息的PixelMap对象。 |
OH_PixelMap_InitNativePixelMap (napi_env env, napi_value source) | 初始化PixelMap对象数据。 |
OH_PixelMap_GetBytesNumberPerRow (const NativePixelMap *native, int32_t *num) | 获取PixelMap对象每行字节数。 |
OH_PixelMap_GetIsEditable (const NativePixelMap *native, int32_t *editable) | 获取PixelMap对象是否可编辑的状态。 |
OH_PixelMap_IsSupportAlpha (const NativePixelMap *native, int32_t *alpha) | 获取PixelMap对象是否支持Alpha通道。 |
OH_PixelMap_SetAlphaAble (const NativePixelMap *native, int32_t alpha) | 设置PixelMap对象的Alpha通道。 |
OH_PixelMap_GetDensity (const NativePixelMap *native, int32_t *density) | 获取PixelMap对象像素密度。 |
OH_PixelMap_SetDensity (const NativePixelMap *native, int32_t density) | 设置PixelMap对象像素密度。 |
OH_PixelMap_SetOpacity (const NativePixelMap *native, float opacity) | 设置PixelMap对象的透明度。 |
OH_PixelMap_Scale (const NativePixelMap *native, float x, float y) | 设置PixelMap对象的缩放。 |
OH_PixelMap_Translate (const NativePixelMap *native, float x, float y) | 设置PixelMap对象的偏移。 |
OH_PixelMap_Rotate (const NativePixelMap *native, float angle) | 设置PixelMap对象的旋转。 |
OH_PixelMap_Flip (const NativePixelMap *native, int32_t x, int32_t y) | 设置PixelMap对象的翻转。 |
OH_PixelMap_Crop (const NativePixelMap *native, int32_t x, int32_t y, int32_t width, int32_t height) | 设置PixelMap对象的裁剪。 |
类型定义说明
NativePixelMap
typedef struct NativePixelMap
描述: 用于定义NativePixelMap数据类型名称。
起始版本: 9
枚举类型说明
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
anonymous enum
anonymous enum
描述: PixelMap alpha 类型的枚举。
枚举值 | 描述 |
---|---|
OHOS_PIXEL_MAP_ALPHA_TYPE_UNKNOWN | 未知的格式 |
OHOS_PIXEL_MAP_ALPHA_TYPE_OPAQUE | 不透明的格式 |
OHOS_PIXEL_MAP_ALPHA_TYPE_PREMUL | 预乘的格式 |
OHOS_PIXEL_MAP_ALPHA_TYPE_UNPREMUL | 预除的格式 |
起始版本: 9
anonymous enum
anonymous enum
描述: PixelMap 缩放类型的枚举。
枚举值 | 描述 |
---|---|
OHOS_PIXEL_MAP_SCALE_MODE_FIT_TARGET_SIZE | 适应目标图片大小的格式 |
OHOS_PIXEL_MAP_SCALE_MODE_CENTER_CROP | 以中心进行缩放的格式 |
起始版本: 9
anonymous enum
anonymous enum
描述: PixelMap 编辑类型的枚举。
枚举值 | 描述 |
---|---|
OHOS_PIXEL_MAP_READ_ONLY | 只读的格式 |
OHOS_PIXEL_MAP_EDITABLE | 可编辑的格式 |
起始版本: 9
函数说明
OH_AccessPixels()
int32_t OH_AccessPixels (napi_env env, napi_value value, void ** addrPtr )
描述: 获取PixelMap对象数据的内存地址,并锁定该内存。
函数执行成功后,*addrPtr就是获取的待访问的内存地址. 访问操作完成后,必须要使用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结构中。
参数:
名称 | 描述 |
---|---|
env | napi的环境指针。 |
value | 应用层的 PixelMap 对象。 |
info | 用于保存信息的指针对象. 更多细节, 参看 OhosPixelMapInfo。 |
返回:
如果获取并保存信息成功,则返回0; 如果操作失败,则返回错误码。
参见:
起始版本: 8
OH_PixelMap_CreateAlphaPixelMap()
int32_t OH_PixelMap_CreateAlphaPixelMap (napi_env env, napi_value source, napi_value * alpha )
描述: 根据Alpha通道的信息,来生成一个仅包含Alpha通道信息的PixelMap对象。
参数:
名称 | 描述 |
---|---|
env | napi的环境指针。 |
source | PixelMap数据设置项。 |
alpha | alpha通道的指针。 |
返回:
操作成功则返回 PixelMap 对象; 如果操作失败,则返回错误码。
参见:
CreateAlphaPixelMap
起始版本: 9
OH_PixelMap_CreatePixelMap()
int32_t OH_PixelMap_CreatePixelMap (napi_env env, OhosPixelMapCreateOps info, void * buf, size_t len, napi_value * res )
描述: 创建PixelMap对象.
参数:
名称 | 描述 |
---|---|
env | napi的环境指针。 |
info | pixel map 数据设置项。 |
buf | 图片的buffer数据。 |
len | 图片大小信息。 |
res | 应用层的 PixelMap 对象的指针。 |
返回:
操作成功则返回 PixelMap 对象; 如果操作失败,则返回错误码。
参见:
CreatePixelMap
起始版本: 9
OH_PixelMap_Crop()
int32_t OH_PixelMap_Crop (const NativePixelMap * native, int32_t x, int32_t y, int32_t width, int32_t height )
描述: 设置PixelMap对象的裁剪.
参数:
名称 | 描述 |
---|---|
native | NativePixelMap的指针。 |
x | 目标图片左上角的x坐标。 |
y | 目标图片左上角的y坐标。 |
width | 裁剪区域的宽度。 |
height | 裁剪区域的高度。 |
返回:
操作成功则返回0; 如果操作失败,则返回错误码。
参见:
Crop
起始版本: 9
OH_PixelMap_Flip()
int32_t OH_PixelMap_Flip (const NativePixelMap * native, int32_t x, int32_t y )
描述: 设置PixelMap对象的翻转.
参数:
名称 | 描述 |
---|---|
native | NativePixelMap的指针。 |
x | 根据水平方向x轴进行图片翻转。 |
y | 根据垂直方向y轴进行图片翻转。 |
返回:
操作成功则返回0; 如果操作失败,则返回错误码。
参见:
Flip
起始版本: 9
OH_PixelMap_GetBytesNumberPerRow()
int32_t OH_PixelMap_GetBytesNumberPerRow (const NativePixelMap * native, int32_t * num )
描述: 获取PixelMap对象每行字节数.
参数:
名称 | 描述 |
---|---|
native | NativePixelMap的指针。 |
num | PixelMap对象的每行字节数指针。 |
返回:
操作成功则返回 PixelMap 对象每行字节数; 如果操作失败,则返回错误码。
参见:
GetBytesNumberPerRow
起始版本: 9
OH_PixelMap_GetDensity()
int32_t OH_PixelMap_GetDensity (const NativePixelMap * native, int32_t * density )
描述: 获取PixelMap对象像素密度.
参数:
名称 | 描述 |
---|---|
native | NativePixelMap的指针。 |
density | 像素密度指针。 |
返回:
操作成功则返回像素密度; 如果操作失败,则返回错误码。
参见:
GetDensity
起始版本: 9
OH_PixelMap_GetIsEditable()
int32_t OH_PixelMap_GetIsEditable (const NativePixelMap * native, int32_t * editable )
描述: 获取PixelMap对象是否可编辑的状态.
参数:
名称 | 描述 |
---|---|
native | NativePixelMap的指针。 |
editable | PixelMap 对象是否可编辑的指针。 |
返回:
操作成功则返回编辑类型的枚举值; 如果操作失败,则返回错误码。
参见:
GetIsEditable
起始版本: 9
OH_PixelMap_InitNativePixelMap()
NativePixelMap* OH_PixelMap_InitNativePixelMap (napi_env env, napi_value source )
描述: 初始化PixelMap对象数据.
参数:
名称 | 描述 |
---|---|
env | napi的环境指针。 |
source | PixelMap 数据设置项。 |
返回:
操作成功则返回NativePixelMap的指针; 如果操作失败,则返回错误码。
参见:
InitNativePixelMap
起始版本: 9
OH_PixelMap_IsSupportAlpha()
int32_t OH_PixelMap_IsSupportAlpha (const NativePixelMap * native, int32_t * alpha )
描述: 获取PixelMap对象是否支持Alpha通道.
参数:
名称 | 描述 |
---|---|
native | NativePixelMap的指针。 |
alpha | 是否支持Alpha的指针。 |
返回:
操作成功则返回0; 如果操作失败,则返回错误码。
参见:
IsSupportAlpha
起始版本: 9
OH_PixelMap_Rotate()
int32_t OH_PixelMap_Rotate (const NativePixelMap * native, float angle )
描述: 设置PixelMap对象的旋转.
参数:
名称 | 描述 |
---|---|
native | NativePixelMap的指针。 |
angle | 旋转角度。 |
返回:
操作成功则返回0; 如果操作失败,则返回错误码。
参见:
Rotate
起始版本: 9
OH_PixelMap_Scale()
int32_t OH_PixelMap_Scale (const NativePixelMap * native, float x, float y )
描述: 设置PixelMap对象的缩放.
参数:
名称 | 描述 |
---|---|
native | NativePixelMap的指针。 |
x | 缩放宽度。 |
y | 缩放高度。 |
返回:
操作成功则返回0; 如果操作失败,则返回错误码。
参见:
Scale
起始版本: 9
OH_PixelMap_SetAlphaAble()
int32_t OH_PixelMap_SetAlphaAble (const NativePixelMap * native, int32_t alpha )
描述: 设置PixelMap对象的Alpha通道.
参数:
名称 | 描述 |
---|---|
native | NativePixelMap的指针。 |
alpha | Alpha通道。 |
返回:
操作成功则返回0; 如果操作失败,则返回错误码。
参见:
SetAlphaAble
起始版本: 9
OH_PixelMap_SetDensity()
int32_t OH_PixelMap_SetDensity (const NativePixelMap * native, int32_t density )
描述: 设置PixelMap对象像素密度.
参数:
名称 | 描述 |
---|---|
native | NativePixelMap的指针。 |
density | 像素密度。 |
返回:
操作成功则返回0; 如果操作失败,则返回错误码。
参见:
GetDensity
起始版本: 9
OH_PixelMap_SetOpacity()
int32_t OH_PixelMap_SetOpacity (const NativePixelMap * native, float opacity )
描述: 设置PixelMap对象的透明度.
参数:
名称 | 描述 |
---|---|
native | NativePixelMap的指针。 |
opacity | 透明度。 |
返回:
操作成功则返回0; 如果操作失败,则返回错误码。
参见:
SetOpacity
起始版本: 9
OH_PixelMap_Translate()
int32_t OH_PixelMap_Translate (const NativePixelMap * native, float x, float y )
描述: 设置PixelMap对象的偏移.
参数:
名称 | 描述 |
---|---|
native | NativePixelMap的指针。 |
x | 水平偏移量。 |
y | 垂直偏移量。 |
返回:
操作成功则返回0; 如果操作失败,则返回错误码。
参见:
Translate
起始版本: 9
OH_UnAccessPixels()
int32_t OH_UnAccessPixels (napi_env env, napi_value value )
描述: 释放PixelMap对象数据的内存锁, 用于匹配方法OH_AccessPixels.
参数:
名称 | 描述 |
---|---|
env | napi的环境指针。 |
value | 应用层的 PixelMap 对象。 |
返回:
操作成功则返回 OHOS_IMAGE_RESULT_SUCCESS; 如果操作失败,则返回错误码。
参见:
AccessPixels
起始版本: 8