Image

Overview

Provides APIs for obtaining pixel map data and information.

@Syscap SystemCapability.Multimedia.Image

Since: 8

Summary

Files

Name Description
image_pixel_map_napi.h Declares the APIs that can lock, access, and unlock pixel map data.
File to Include: <multimedia/image_framework/image_pixel_map_napi.h>

Structs

Name Description
OhosPixelMapInfo Defines the pixel map information.
OhosPixelMapCreateOps Defines the options used for creating a pixel map.

Types

Name Description
NativePixelMap Defines the data type name of the native pixel map.

Enums

Name Description
{ OHOS_IMAGE_RESULT_SUCCESS = 0, OHOS_IMAGE_RESULT_BAD_PARAMETER = -1 } Enumerates the error codes returned by a function.
{ OHOS_PIXEL_MAP_FORMAT_NONE = 0, OHOS_PIXEL_MAP_FORMAT_RGBA_8888 = 3, OHOS_PIXEL_MAP_FORMAT_RGB_565 = 2 } Enumerates the pixel formats.
{ 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 } Enumerates the pixel map alpha types.
{ OHOS_PIXEL_MAP_SCALE_MODE_FIT_TARGET_SIZE = 0, OHOS_PIXEL_MAP_SCALE_MODE_CENTER_CROP = 1 } Enumerates the pixel map scale modes.
{ OHOS_PIXEL_MAP_READ_ONLY = 0, OHOS_PIXEL_MAP_EDITABLE = 1 } Enumerates the pixel map editing types.

Functions

Name Description
OH_GetImageInfo (napi_env env, napi_value value, OhosPixelMapInfo *info) Obtains the PixelMap information and stores the information to the OhosPixelMapInfo structure.
OH_AccessPixels (napi_env env, napi_value value, void **addrPtr) Obtains the memory address of the PixelMap object data and locks the memory.
OH_UnAccessPixels (napi_env env, napi_value value) Unlocks the memory of the PixelMap object data. This function is used with OH_AccessPixels in pairs.
OH_PixelMap_CreatePixelMap (napi_env env, OhosPixelMapCreateOps info, void *buf, size_t len, napi_value *res) Creates a PixelMap object.
OH_PixelMap_CreateAlphaPixelMap (napi_env env, napi_value source, napi_value *alpha) Creates a PixelMap object that contains only alpha channel information.
OH_PixelMap_InitNativePixelMap (napi_env env, napi_value source) Initializes a PixelMap object.
OH_PixelMap_GetBytesNumberPerRow (const NativePixelMap *native, int32_t *num) Obtains the number of bytes per row of a PixelMap object.
OH_PixelMap_GetIsEditable (const NativePixelMap *native, int32_t *editable) Checks whether a PixelMap object is editable.
OH_PixelMap_IsSupportAlpha (const NativePixelMap *native, int32_t *alpha) Checks whether a PixelMap object supports alpha channels.
OH_PixelMap_SetAlphaAble (const NativePixelMap *native, int32_t alpha) Sets an alpha channel for a PixelMap object.
OH_PixelMap_GetDensity (const NativePixelMap *native, int32_t *density) Obtains the pixel density of a PixelMap object.
OH_PixelMap_SetDensity (const NativePixelMap *native, int32_t density) Sets the pixel density for a PixelMap object.
OH_PixelMap_SetOpacity (const NativePixelMap *native, float opacity) Sets the opacity for a PixelMap object.
OH_PixelMap_Scale (const NativePixelMap *native, float x, float y) Scales a PixelMap object.
OH_PixelMap_Translate (const NativePixelMap *native, float x, float y) Translates a PixelMap object.
OH_PixelMap_Rotate (const NativePixelMap *native, float angle) Rotates a PixelMap object.
OH_PixelMap_Flip (const NativePixelMap *native, int32_t x, int32_t y) Flips a PixelMap object.
OH_PixelMap_Crop (const NativePixelMap *native, int32_t x, int32_t y, int32_t width, int32_t height) Crops a PixelMap object.

Type Description

NativePixelMap

typedef struct NativePixelMapNativePixelMap

Description:
Defines the data type name of the native pixel map.

Enum Description

anonymous enum

anonymous enum

Description
Enumerates the error codes returned by a function.

Name Description
OHOS_IMAGE_RESULT_SUCCESS Operation success.
OHOS_IMAGE_RESULT_BAD_PARAMETER Invalid value.

anonymous enum

anonymous enum

Description
Enumerates the pixel formats.

Name Description
OHOS_PIXEL_MAP_FORMAT_NONE Unknown format.
OHOS_PIXEL_MAP_FORMAT_RGBA_8888 32-bit RGBA, with 8 bits each for R (red), G (green), B (blue), and A (alpha). The data is stored from the most significant bit to the least significant bit.
OHOS_PIXEL_MAP_FORMAT_RGB_565 16-bit RGB, with 5, 6, and 5 bits for R, G, and B, respectively. The storage sequence is from the most significant bit to the least significant bit.

anonymous enum

anonymous enum

Description:
Enumerates the pixel map alpha types.

Name Description
OHOS_PIXEL_MAP_ALPHA_TYPE_UNKNOWN Unknown format.
OHOS_PIXEL_MAP_ALPHA_TYPE_OPAQUE Opaque format.
OHOS_PIXEL_MAP_ALPHA_TYPE_PREMUL Premultiplied format.
OHOS_PIXEL_MAP_ALPHA_TYPE_UNPREMUL Unpremultiplied format.

anonymous enum

anonymous enum

Description:
Enumerates the pixel map scale modes.

Name Description
OHOS_PIXEL_MAP_SCALE_MODE_FIT_TARGET_SIZE Adaptation to the target image size.
OHOS_PIXEL_MAP_SCALE_MODE_CENTER_CROP Cropping the center portion of an image to the target size.

anonymous enum

anonymous enum

Description:
Enumerates the pixel map editing types.

Name Description
OHOS_PIXEL_MAP_READ_ONLY Read-only.
OHOS_PIXEL_MAP_EDITABLE Editable.

Function Description

OH_AccessPixels()

int32_t OH_AccessPixels (napi_env env, napi_value value, void ** addrPtr )

Description
Obtains the memory address of the PixelMap object data and locks the memory.

After the function is executed successfully, *addrPtr is the address of the memory to be accessed. After the access operation is complete, you must use OH_UnAccessPixels to unlock the memory. Otherwise, the resources in the memory cannot be released. After being unlocked, the memory address cannot be accessed or operated.

Parameters

Name Description
env Indicates the NAPI environment pointer.
value Indicates the PixelMap object at the application layer.
addrPtr Indicates the double pointer to the memory address.

See

UnAccessPixels

Returns

Returns OHOS_IMAGE_RESULT_SUCCESS if the operation is successful; returns an error code otherwise.

OH_GetImageInfo()

int32_t OH_GetImageInfo (napi_env env, napi_value value, OhosPixelMapInfo * info )

Description
Obtains the PixelMap information and stores the information to the OhosPixelMapInfo structure.

Parameters

Name Description
env Indicates the NAPI environment pointer.
value Indicates the PixelMap object at the application layer.
info Indicates the pointer to the object that stores the information obtained. For details, see OhosPixelMapInfo.

Returns

Returns 0 if the information is obtained and stored successfully; returns an error code otherwise.

See

OhosPixelMapInfo

OH_UnAccessPixels()

int32_t OH_UnAccessPixels (napi_env env, napi_value value )

Description
Unlocks the memory of the PixelMap object data. This function is used with OH_AccessPixels in pairs.

Parameters

Name Description
env Indicates the NAPI environment pointer.
value Indicates the PixelMap object at the application layer.

Returns

Returns OHOS_IMAGE_RESULT_SUCCESS if the operation is successful; returns an error code otherwise.

See

AccessPixels

OH_PixelMap_CreateAlphaPixelMap()

int32_t OH_PixelMap_CreateAlphaPixelMap (napi_env env, napi_value source, napi_value * alpha )

Description:
Creates a PixelMap object that contains only alpha channel information.

Parameters

Name Description
env Indicates the NAPI environment pointer.
source Indicates the options for setting the PixelMap object.
alpha Indicates the pointer to the alpha channel.

Returns

Returns a PixelMap object if the operation is successful; returns an error code otherwise.

See

CreateAlphaPixelMap

OH_PixelMap_CreatePixelMap()

int32_t OH_PixelMap_CreatePixelMap (napi_env env, OhosPixelMapCreateOps info, void * buf, size_t len, napi_value * res )

Description:
Creates a PixelMap object.

Parameters

Name Description
env Indicates the NAPI environment pointer.
info Indicates the options for setting the PixelMap object.
buf Indicates the pointer to the buffer of the image.
len Indicates the image size.
res Indicates the pointer to the PixelMap object at the application layer.

Returns

Returns a PixelMap object if the operation is successful; returns an error code otherwise.

See

CreatePixelMap

OH_PixelMap_Crop()

int32_t OH_PixelMap_Crop (const NativePixelMap * native, int32_t x, int32_t y, int32_t width, int32_t height )

Description:
Crops a PixelMap object.

Parameters

Name Description
native Indicates the pointer to a NativePixelMap object.
x Indicates the x-coordinate of the upper left corner of the target image.
y Indicates the y-coordinate of the upper left corner of the target image.
width Indicates the width of the cropped region.
height Indicates the height of the cropped region.

Returns

Returns 0 if the operation is successful; returns an error code otherwise.

See

Crop

OH_PixelMap_Flip()

int32_t OH_PixelMap_Flip (const NativePixelMap * native, int32_t x, int32_t y )

Description:
Flips a PixelMap object.

Parameters

Name Description
native Indicates the pointer to a NativePixelMap object.
x Specifies whether to flip around the x axis.
y Specifies whether to flip around the y axis.

Returns

Returns 0 if the operation is successful; returns an error code otherwise.

See

Flip

OH_PixelMap_GetBytesNumberPerRow()

int32_t OH_PixelMap_GetBytesNumberPerRow (const NativePixelMap * native, int32_t * num )

Description:
Obtains the number of bytes per row of a PixelMap object.

Parameters

Name Description
native Indicates the pointer to a NativePixelMap object.
num Indicates the pointer to the number of bytes per row of the PixelMap object.

Returns

Returns the number of bytes per row of the PixelMap object if the operation is successful; returns an error code otherwise.

See

GetBytesNumberPerRow

OH_PixelMap_GetDensity()

int32_t OH_PixelMap_GetDensity (const NativePixelMap * native, int32_t * density )

Description:
Obtains the pixel density of a PixelMap object.

Parameters

Name Description
native Indicates the pointer to a NativePixelMap object.
density Indicates the pointer to the pixel density.

Returns

Returns the pixel density if the operation is successful; returns an error code otherwise.

See

GetDensity

OH_PixelMap_GetImageInfo()

int32_t OH_PixelMap_GetImageInfo (const NativePixelMap * native, OhosPixelMapInfo * info )

Description:
Obtains the image information of a PixelMap object.

Parameters

Name Description
native Indicates the pointer to a NativePixelMap object.
info Indicates the pointer to the image information.

Returns

Returns 0 if the operation is successful; returns an error code otherwise.

See

OhosPixelMapInfo

OH_PixelMap_GetIsEditable()

int32_t OH_PixelMap_GetIsEditable (const NativePixelMap * native, int32_t * editable )

Description:
Checks whether a PixelMap object is editable.

Parameters

Name Description
native Indicates the pointer to a NativePixelMap object.
editable Indicates the pointer to the editing type of the PixelMap object.

Returns

Returns an enumerated value that indicates the editing type of the PixelMap object if the operation is successful; returns an error code otherwise.

See

GetIsEditable

OH_PixelMap_InitNativePixelMap()

NativePixelMap* OH_PixelMap_InitNativePixelMap (napi_env env, napi_value source )

Description:
Initializes a PixelMap object.

Parameters

Name Description
env Indicates the NAPI environment pointer.
source Indicates the options for setting the PixelMap object.

Returns

Returns a pointer to the NativePixelMap object if the operation is successful; returns an error code otherwise.

See

InitNativePixelMap

OH_PixelMap_IsSupportAlpha()

int32_t OH_PixelMap_IsSupportAlpha (const NativePixelMap * native, int32_t * alpha )

Description:
Checks whether a PixelMap object supports alpha channels.

Parameters

Name Description
native Indicates the pointer to a NativePixelMap object.
alpha Indicates the pointer to the support for alpha channels.

Returns

Returns 0 if the operation is successful; returns an error code otherwise.

See

IsSupportAlpha

OH_PixelMap_Rotate()

int32_t OH_PixelMap_Rotate (const NativePixelMap * native, float angle )

Description:
Rotates a PixelMap object.

Parameters

Name Description
native Indicates the pointer to a NativePixelMap object.
angle Indicates the angle to rotate.

Returns

Returns 0 if the operation is successful; returns an error code otherwise.

See

Rotate

OH_PixelMap_Scale()

int32_t OH_PixelMap_Scale (const NativePixelMap * native, float x, float y )

Description:
Scales a PixelMap object.

Parameters

Name Description
native Indicates the pointer to a NativePixelMap object.
x Indicates the scaling ratio of the width.
y Indicates the scaling ratio of the height.

Returns

Returns 0 if the operation is successful; returns an error code otherwise.

See

Scale

OH_PixelMap_SetAlphaAble()

int32_t OH_PixelMap_SetAlphaAble (const NativePixelMap * native, int32_t alpha )

Description:
Sets an alpha channel for a PixelMap object.

Parameters

Name Description
native Indicates the pointer to a NativePixelMap object.
alpha Indicates the alpha channel to set.

Returns

Returns 0 if the operation is successful; returns an error code otherwise.

See

SetAlphaAble

OH_PixelMap_SetDensity()

int32_t OH_PixelMap_SetDensity (const NativePixelMap * native, int32_t density )

Description:
Sets the pixel density for a PixelMap object.

Parameters

Name Description
native Indicates the pointer to a NativePixelMap object.
density Indicates the pixel density to set.

Returns

Returns 0 if the operation is successful; returns an error code otherwise.

See

GetDensity

OH_PixelMap_SetOpacity()

int32_t OH_PixelMap_SetOpacity (const NativePixelMap * native, float opacity )

Description:
Sets the opacity for a PixelMap object.

Parameters

Name Description
native Indicates the pointer to a NativePixelMap object.
opacity Indicates the opacity to set.

Returns

Returns 0 if the operation is successful; returns an error code otherwise.

See

SetOpacity

OH_PixelMap_Translate()

int32_t OH_PixelMap_Translate (const NativePixelMap * native, float x, float y )

Description:
Translates a PixelMap object.

Parameters

Name Description
native Indicates the pointer to a NativePixelMap object.
x Indicates the horizontal distance to translate.
y Indicates the vertical distance to translate.

Returns

Returns 0 if the operation is successful; returns an error code otherwise.

See

Translate

OH_PixelMap_UnAccessPixels()

int32_t OH_PixelMap_UnAccessPixels (const NativePixelMap * native)

Description:
Unlocks the memory of the NativePixelMap object data. This function is used with OH_PixelMap_AccessPixels in pairs.

Parameters

Name Description
native Indicates the pointer to a NativePixelMap object.

Returns

Returns OHOS_IMAGE_RESULT_SUCCESS if the operation is successful; returns an error code otherwise.

See

AccessPixels

OH_PixelMap_AccessPixels()

int32_t OH_PixelMap_AccessPixels(const NativePixelMap* native, void** addr)

Description:
Obtains the memory address of a NativePixelMap object and locks the memory.

Parameters

Name Description
native Indicates the pointer to a NativePixelMap object.
addr Indicates the double pointer to the memory address.

Returns

Returns OHOS_IMAGE_RESULT_SUCCESS if the operation is successful; returns an error code otherwise.

See

UnAccessPixels

OH_UnAccessPixels()

int32_t OH_UnAccessPixels (napi_env env, napi_value value )

Description:
Unlocks the memory of a PixelMap object. This function is used with OH_AccessPixels in pairs.

Parameters

Name Description
env Indicates the NAPI environment pointer.
value Indicates the PixelMap object at the application layer.

Returns

Returns OHOS_IMAGE_RESULT_SUCCESS if the operation is successful; returns an error code otherwise.

See

AccessPixels