pixelmap_native.h

概述

访问Pixelmap的API。

库: libpixelmap.so

引用文件:<multimedia/image_framework/image/pixelmap_native.h>

系统能力: SystemCapability.Multimedia.Image.Core

起始版本: 12

相关模块:Image_NativeModule

汇总

结构体

名称 描述
struct OH_Pixelmap_HdrStaticMetadata HDR_STATIC_METADATA关键字对应的静态元数据值。
struct OH_Pixelmap_HdrDynamicMetadata DR_DYNAMIC_METADATA关键字对应的动态元数据值。
struct OH_Pixelmap_HdrGainmapMetadata HDR_GAINMAP_METADATA关键字对应的gainmap相关元数据值,参考ISO 21496-1。
struct OH_Pixelmap_HdrMetadataValue Pixelmap使用的HDR元数据值,和OH_Pixelmap_HdrMetadataKey关键字相对应。

类型定义

名称 描述
typedef struct OH_PixelmapNative OH_PixelmapNative Pixelmap结构体类型,用于执行Pixelmap相关操作。
typedef struct OH_NativeBuffer OH_NativeBuffer NativeBuffer结构体类型,用于执行NativeBuffer相关操作。
typedef struct OH_NativeColorSpaceManager OH_NativeColorSpaceManager NativeColorSpaceManager结构体类型,用于执行NativeColorSpaceManager相关操作。
typedef struct OH_Pixelmap_HdrStaticMetadata OH_Pixelmap_HdrStaticMetadata HDR_STATIC_METADATA关键字对应的静态元数据值。
typedef struct OH_Pixelmap_HdrDynamicMetadata OH_Pixelmap_HdrDynamicMetadata DR_DYNAMIC_METADATA关键字对应的动态元数据值。
typedef struct OH_Pixelmap_HdrGainmapMetadata OH_Pixelmap_HdrGainmapMetadata HDR_GAINMAP_METADATA关键字对应的gainmap相关元数据值,参考ISO 21496-1。
typedef struct OH_Pixelmap_HdrMetadataValue OH_Pixelmap_HdrMetadataValue Pixelmap使用的HDR元数据值,和OH_Pixelmap_HdrMetadataKey关键字相对应。
typedef struct OH_Pixelmap_InitializationOptions OH_Pixelmap_InitializationOptions 初始化参数结构体。
typedef struct OH_Pixelmap_ImageInfo OH_Pixelmap_ImageInfo 图像像素信息结构体。

枚举

名称 描述
PIXELMAP_ALPHA_TYPE {
PIXELMAP_ALPHA_TYPE_UNKNOWN = 0,
PIXELMAP_ALPHA_TYPE_OPAQUE = 1,
PIXELMAP_ALPHA_TYPE_PREMULTIPLIED = 2,
PIXELMAP_ALPHA_TYPE_UNPREMULTIPLIED = 3 }
Pixelmap透明度类型。
PIXEL_FORMAT {
PIXEL_FORMAT_UNKNOWN = 0, PIXEL_FORMAT_RGB_565 = 2,
PIXEL_FORMAT_RGBA_8888 = 3, PIXEL_FORMAT_BGRA_8888 = 4,
PIXEL_FORMAT_RGB_888 = 5, PIXEL_FORMAT_ALPHA_8 = 6,
PIXEL_FORMAT_RGBA_F16 = 7, PIXEL_FORMAT_NV21 = 8,
PIXEL_FORMAT_NV12 = 9
}
图片像素格式。
OH_PixelmapNative_AntiAliasingLevel {
OH_PixelmapNative_AntiAliasing_NONE = 0,
OH_PixelmapNative_AntiAliasing_LOW = 1,
OH_PixelmapNative_AntiAliasing_MEDIUM = 2,
OH_PixelmapNative_AntiAliasing_HIGH = 3
}
Pixelmap缩放时采用的缩放算法。
OH_Pixelmap_HdrMetadataKey {
HDR_METADATA_TYPE = 0,
HDR_STATIC_METADATA = 1,
HDR_DYNAMIC_METADATA = 2,
HDR_GAINMAP_METADATA = 3
}
Pixelmap使用的HDR相关元数据信息的关键字,用于OH_PixelmapNative_SetMetadataOH_PixelmapNative_GetMetadata
OH_Pixelmap_HdrMetadataType {
HDR_METADATA_TYPE_NONE = 0,
HDR_METADATA_TYPE_BASE = 1,
HDR_METADATA_TYPE_GAINMAP = 2,
HDR_METADATA_TYPE_ALTERNATE = 3
}
HDR_METADATA_TYPE关键字对应的值。

函数

名称 描述
Image_ErrorCode OH_PixelmapInitializationOptions_Create (OH_Pixelmap_InitializationOptions **options) 创建OH_Pixelmap_InitializationOptions指针。
Image_ErrorCode OH_PixelmapInitializationOptions_GetWidth (OH_Pixelmap_InitializationOptions *options, uint32_t *width) 获取图片宽。
Image_ErrorCode OH_PixelmapInitializationOptions_SetWidth (OH_Pixelmap_InitializationOptions *options, uint32_t width) 设置图片宽。
Image_ErrorCode OH_PixelmapInitializationOptions_GetHeight (OH_Pixelmap_InitializationOptions *options, uint32_t *height) 获取图片高。
Image_ErrorCode OH_PixelmapInitializationOptions_SetHeight (OH_Pixelmap_InitializationOptions *options, uint32_t height) 设置图片高。
Image_ErrorCode OH_PixelmapInitializationOptions_GetPixelFormat (OH_Pixelmap_InitializationOptions *options, int32_t *pixelFormat) 获取像素格式。
Image_ErrorCode OH_PixelmapInitializationOptions_SetPixelFormat (OH_Pixelmap_InitializationOptions *options, int32_t pixelFormat) 设置像素格式。
Image_ErrorCode OH_PixelmapInitializationOptions_GetSrcPixelFormat (OH_Pixelmap_InitializationOptions *options, int32_t *srcpixelFormat) 获取源像素格式。
Image_ErrorCode OH_PixelmapInitializationOptions_SetSrcPixelFormat (OH_Pixelmap_InitializationOptions *options, int32_t srcpixelFormat) 设置源像素格式。
Image_ErrorCode OH_PixelmapInitializationOptions_GetRowStride (OH_Pixelmap_InitializationOptions *options, int32_t *rowStride) 获取行跨距。跨距,图像每行占用的真实内存大小,单位为字节。跨距 = width * 单位像素字节数 + padding,padding为每行为内存对齐做的填充区域。
Image_ErrorCode OH_PixelmapInitializationOptions_SetRowStride (OH_Pixelmap_InitializationOptions *options, int32_t rowStride) 设置图像跨距。跨距,图像每行占用的真实内存大小,单位为字节。跨距 = width * 单位像素字节数 + padding,padding为每行为内存对齐做的填充区域。
Image_ErrorCode OH_PixelmapInitializationOptions_GetAlphaType (OH_Pixelmap_InitializationOptions *options, int32_t *alphaType) 获取透明度类型。
Image_ErrorCode OH_PixelmapInitializationOptions_SetAlphaType (OH_Pixelmap_InitializationOptions *options, int32_t alphaType) 设置透明度类型。
Image_ErrorCode OH_PixelmapInitializationOptions_GetEditable (OH_Pixelmap_InitializationOptions *options, bool *editable) 获取可编辑标志。
Image_ErrorCode OH_PixelmapInitializationOptions_SetEditable (OH_Pixelmap_InitializationOptions *options, bool editable) 设置可编辑标志。
Image_ErrorCode OH_PixelmapInitializationOptions_Release (OH_Pixelmap_InitializationOptions *options) 释放OH_Pixelmap_InitializationOptions指针。
Image_ErrorCode OH_PixelmapImageInfo_Create (OH_Pixelmap_ImageInfo **info) 创建OH_Pixelmap_ImageInfo指针。
Image_ErrorCode OH_PixelmapImageInfo_GetWidth (OH_Pixelmap_ImageInfo *info, uint32_t *width) 获取图片宽。
Image_ErrorCode OH_PixelmapImageInfo_GetHeight (OH_Pixelmap_ImageInfo *info, uint32_t *height) 获取图片高。
Image_ErrorCode OH_PixelmapImageInfo_GetRowStride (OH_Pixelmap_ImageInfo *info, uint32_t *rowStride) 获取行跨距。
Image_ErrorCode OH_PixelmapImageInfo_GetPixelFormat (OH_Pixelmap_ImageInfo *info, int32_t *pixelFormat) 获取像素格式。
Image_ErrorCode OH_PixelmapImageInfo_GetAlphaType (OH_Pixelmap_ImageInfo *info, int32_t *alphaType) 获取透明度类型。
Image_ErrorCode OH_PixelmapImageInfo_GetDynamicRange (OH_Pixelmap_ImageInfo *info, bool *isHdr) 获取Pixelmap是否为高动态范围的信息。
Image_ErrorCode OH_PixelmapImageInfo_Release (OH_Pixelmap_ImageInfo *info) 释放OH_Pixelmap_ImageInfo指针。
Image_ErrorCode OH_PixelmapNative_CreatePixelmap (uint8_t *data, size_t dataLength, OH_Pixelmap_InitializationOptions *options, OH_PixelmapNative **pixelmap) 通过属性创建PixelMap,默认采用BGRA_8888格式处理数据。
Image_ErrorCode OH_PixelmapNative_ConvertPixelmapNativeToNapi (napi_env env, OH_PixelmapNative *pixelmapNative, napi_value *pixelmapNapi) 将nativePixelMap对象转换为PixelMapnapi对象。
Image_ErrorCode OH_PixelmapNative_ConvertPixelmapNativeFromNapi (napi_env env, napi_value pixelmapNapi, OH_PixelmapNative **pixelmapNative) 将PixelMapnapi对象转换为nativePixelMap对象。
Image_ErrorCode OH_PixelmapNative_ReadPixels (OH_PixelmapNative *pixelmap, uint8_t *destination, size_t *bufferSize) 读取图像像素数据,结果写入ArrayBuffer里。
Image_ErrorCode OH_PixelmapNative_WritePixels (OH_PixelmapNative *pixelmap, uint8_t *source, size_t bufferSize) 读取缓冲区中的图片数据,结果写入PixelMap中。
Image_ErrorCode OH_PixelmapNative_GetArgbPixels (OH_PixelmapNative *pixelmap, uint8_t *destination, size_t *bufferSize) 从PixelMap中读取ARGB格式的数据。
Image_ErrorCode OH_PixelmapNative_ToSdr (OH_PixelmapNative *pixelmap) 将HDR的图像内容转换为SDR的图像内容。
Image_ErrorCode OH_PixelmapNative_GetImageInfo (OH_PixelmapNative *pixelmap, OH_Pixelmap_ImageInfo *imageInfo) 获取图像像素信息。
Image_ErrorCode OH_PixelmapNative_Opacity (OH_PixelmapNative *pixelmap, float rate) 通过设置透明比率来让PixelMap达到对应的透明效果。
Image_ErrorCode OH_PixelmapNative_Scale (OH_PixelmapNative *pixelmap, float scaleX, float scaleY) 根据输入的宽高对图片进行缩放。
Image_ErrorCode OH_PixelmapNative_ScaleWithAntiAliasing (OH_PixelmapNative *pixelmap, float scaleX, float scaleY, OH_PixelmapNative_AntiAliasingLevel level) 根据指定的缩放算法和输入的宽高对图片进行缩放。
Image_ErrorCode OH_PixelmapNative_CreateScaledPixelMap (OH_PixelmapNative *srcPixelmap, OH_PixelmapNative **dstPixelmap, float scaleX, float scaleY) 根据输入的宽高的缩放比例,创建一个新的缩放后的图片。
Image_ErrorCode OH_PixelmapNative_CreateScaledPixelMapWithAntiAliasing (OH_PixelmapNative *srcPixelmap, OH_PixelmapNative **dstPixelmap, float scaleX, float scaleY, OH_PixelmapNative_AntiAliasingLevel level) 根据指定的缩放算法和输入的宽高的缩放比例,创建一个新的缩放后的图片。
Image_ErrorCode OH_PixelmapNative_Translate (OH_PixelmapNative *pixelmap, float x, float y) 根据输入的坐标对图片进行位置变换。
Image_ErrorCode OH_PixelmapNative_Rotate (OH_PixelmapNative *pixelmap, float angle) 根据输入的角度对图片进行旋转。
Image_ErrorCode OH_PixelmapNative_Flip (OH_PixelmapNative *pixelmap, bool shouldFilpHorizontally, bool shouldFilpVertically) 根据输入的条件对图片进行翻转。
Image_ErrorCode OH_PixelmapNative_Crop (OH_PixelmapNative *pixelmap, Image_Region *region) 根据输入的尺寸对图片进行裁剪。
Image_ErrorCode OH_PixelmapNative_Release (OH_PixelmapNative *pixelmap) 释放OH_PixelmapNative指针,推荐使用 OH_PixelmapNative_Destroy
Image_ErrorCode OH_PixelmapNative_Destroy (OH_PixelmapNative **pixelmap) 释放OH_PixelmapNative指针。
Image_ErrorCode OH_PixelmapNative_ConvertAlphaFormat (OH_PixelmapNative *srcpixelmap, OH_PixelmapNative *dstpixelmap, const bool isPremul) 将pixelmap的像素数据做预乘和非预乘之间的转换。
Image_ErrorCode OH_PixelmapNative_CreateEmptyPixelmap (OH_Pixelmap_InitializationOptions *options, OH_PixelmapNative **pixelmap) 利用OH_Pixelmap_InitializationOptions创建空的pixelmap对象,内存数据为0。
Image_ErrorCode OH_PixelmapNative_GetNativeBuffer (OH_PixelmapNative *pixelmap, OH_NativeBuffer **nativeBuffer) 从DMA内存的PixelMap中,获取NativeBuffer对象。
Image_ErrorCode OH_PixelmapNative_GetMetadata (OH_PixelmapNative *pixelmap, OH_Pixelmap_HdrMetadataKey key, OH_Pixelmap_HdrMetadataValue **value) 获取元数据。
Image_ErrorCode OH_PixelmapNative_SetMetadata (OH_PixelmapNative *pixelmap, OH_Pixelmap_HdrMetadataKey key, OH_Pixelmap_HdrMetadataValue *value) 设置元数据。
Image_ErrorCode OH_PixelmapNative_SetColorSpaceNative (OH_PixelmapNative *pixelmap, OH_NativeColorSpaceManager *colorSpaceNative) 设置NativeColorSpaceManager对象。
Image_ErrorCode OH_PixelmapNative_GetColorSpaceNative (OH_PixelmapNative *pixelmap, OH_NativeColorSpaceManager **colorSpaceNative) 获取NativeColorSpaceManager对象。
Image_ErrorCode OH_PixelmapNative_SetMemoryName (OH_PixelmapNative *pixelmap, char *name, size_t *size) 设置pixelMap内存名字。
Image_ErrorCode OH_PixelmapNative_GetByteCount (OH_PixelmapNative *pixelmap, uint32_t *byteCount) 获取Pixelmap中所有像素所占用的总字节数,不包含内存填充。
Image_ErrorCode OH_PixelmapNative_GetAllocationByteCount (OH_PixelmapNative *pixelmap, uint32_t *allocationByteCount) 获取Pixelmap用于储存像素数据的内存字节数。
Image_ErrorCode OH_PixelmapNative_AccessPixels (OH_PixelmapNative *pixelmap, void **addr) 获取Pixelmap像素数据的内存地址,并锁定这块内存。
当该内存被锁定时,任何修改或释放该Pixelmap的像素数据的操作均会失败或无效。
Image_ErrorCode OH_PixelmapNative_UnaccessPixels (OH_PixelmapNative *pixelmap) 释放Pixelmap像素数据的内存锁。
该函数需要与OH_PixelmapNative_AccessPixels匹配使用。