
HarmonyOS API:@ohos.multimedia.image (图片处理)
版本:v3.1 Beta
@ohos.multimedia.image (图片处理)
更新时间: 2023-02-17 09:19
本模块提供图片处理效果,包括通过属性创建PixelMap、读取图像像素数据、读取区域内的图片数据等。
说明
本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
导入模块
image.createPixelMap8+
createPixelMap(colors: ArrayBuffer, options: InitializationOptions): Promise<PixelMap>
通过属性创建PixelMap,默认采用BGRA_8888格式处理数据,通过Promise返回结果。
系统能力: SystemCapability.Multimedia.Image.Core
参数:
参数名 | 类型 | 必填 | 说明 |
colors | ArrayBuffer | 是 | BGRA_8888格式的颜色数组。 |
options | 是 | 创建像素的属性,包括透明度,尺寸,缩略值,像素格式和是否可编辑。 |
返回值:
类型 | 说明 |
Promise<PixelMap> | 返回Pixelmap。 当创建的pixelmap大小超过原图大小时,返回原图pixelmap大小。 |
示例:
image.createPixelMap8+
createPixelMap(colors: ArrayBuffer, options: InitializationOptions, callback: AsyncCallback<PixelMap>): void
通过属性创建PixelMap,默认采用BGRA_8888格式处理数据,通过回调函数返回结果。
系统能力: SystemCapability.Multimedia.Image.Core
参数:
参数名 | 类型 | 必填 | 说明 |
colors | ArrayBuffer | 是 | BGRA_8888格式的颜色数组。 |
options | 是 | 属性。 | |
callback | AsyncCallback<PixelMap> | 是 | 通过回调返回PixelMap对象。 |
示例:
PixelMap7+
图像像素类,用于读取或写入图像数据以及获取图像信息。在调用PixelMap的方法前,需要先通过createPixelMap创建一个PixelMap实例。
属性
系统能力: SystemCapability.Multimedia.Image.Core
名称 | 类型 | 可读 | 可写 | 说明 |
isEditable | boolean | 是 | 否 | 设定是否图像像素可被编辑。 |
readPixelsToBuffer7+
readPixelsToBuffer(dst: ArrayBuffer): Promise<void>
读取图像像素数据,结果写入ArrayBuffer里,使用Promise形式返回。指定BGRA_8888格式创建pixelmap,读取的像素数据与原数据保持一致。
系统能力: SystemCapability.Multimedia.Image.Core
参数:
参数名 | 类型 | 必填 | 说明 |
dst | ArrayBuffer | 是 | 缓冲区,函数执行结束后获取的图像像素数据写入到该内存区域内。缓冲区大小由getPixelBytesNumber接口获取。 |
返回值:
类型 | 说明 |
Promise<void> | Promise实例,用于获取结果,失败时返回错误信息。 |
示例:
readPixelsToBuffer7+
readPixelsToBuffer(dst: ArrayBuffer, callback: AsyncCallback<void>): void
读取图像像素数据,结果写入ArrayBuffer里,使用callback形式返回。指定BGRA_8888格式创建pixelmap,读取的像素数据与原数据保持一致。
系统能力: SystemCapability.Multimedia.Image.Core
参数:
参数名 | 类型 | 必填 | 说明 |
dst | ArrayBuffer | 是 | 缓冲区,函数执行结束后获取的图像像素数据写入到该内存区域内。缓冲区大小由getPixelBytesNumber接口获取。 |
callback | AsyncCallback<void> | 是 | 获取回调,失败时返回错误信息。 |
示例:
readPixels7+
readPixels(area: PositionArea): Promise<void>
读取区域内的图片数据,使用Promise形式返回读取结果。
系统能力: SystemCapability.Multimedia.Image.Core
参数:
参数名 | 类型 | 必填 | 说明 |
area | 是 | 区域大小,根据区域读取。 |
返回值:
类型 | 说明 |
Promise<void> | Promise实例,用于获取读取结果,失败时返回错误信息。 |
示例:
readPixels7+
readPixels(area: PositionArea, callback: AsyncCallback<void>): void
读取区域内的图片数据,使用callback形式返回读取结果。
系统能力: SystemCapability.Multimedia.Image.Core
参数:
参数名 | 类型 | 必填 | 说明 |
area | 是 | 区域大小,根据区域读取。 | |
callback | AsyncCallback<void> | 是 | 获取回调,失败时返回错误信息。 |
示例:
writePixels7+
writePixels(area: PositionArea): Promise<void>
将PixelMap写入指定区域内,使用Promise形式返回写入结果。
系统能力: SystemCapability.Multimedia.Image.Core
参数:
参数名 | 类型 | 必填 | 说明 |
area | 是 | 区域,根据区域写入。 |
返回值:
类型 | 说明 |
Promise<void> | Promise实例,用于获取写入结果,失败时返回错误信息。 |
示例:
writePixels7+
writePixels(area: PositionArea, callback: AsyncCallback<void>): void
将PixelMap写入指定区域内,使用callback形式返回写入结果。
系统能力: SystemCapability.Multimedia.Image.Core
参数:
参数名 | 类型 | 必填 | 说明 |
area | 是 | 区域,根据区域写入。 | |
callback | AsyncCallback<void> | 是 | 获取回调,失败时返回错误信息。 |
示例:
writeBufferToPixels7+
writeBufferToPixels(src: ArrayBuffer): Promise<void>
读取缓冲区中的图片数据,结果写入PixelMap中,使用Promise形式返回。
系统能力: SystemCapability.Multimedia.Image.Core
参数:
参数名 | 类型 | 必填 | 说明 |
src | ArrayBuffer | 是 | 图像像素数据。 |
返回值:
类型 | 说明 |
Promise<void> | Promise实例,用于获取结果,失败时返回错误信息。 |
示例:
writeBufferToPixels7+
writeBufferToPixels(src: ArrayBuffer, callback: AsyncCallback<void>): void
读取缓冲区中的图片数据,结果写入PixelMap中,使用callback形式返回。
系统能力: SystemCapability.Multimedia.Image.Core
参数:
参数名 | 类型 | 必填 | 说明 |
src | ArrayBuffer | 是 | 图像像素数据。 |
callback | AsyncCallback<void> | 是 | 获取回调,失败时返回错误信息。 |
示例:
getImageInfo7+
getImageInfo(): Promise<ImageInfo>
获取图像像素信息,使用Promise形式返回获取的图像像素信息。
系统能力: SystemCapability.Multimedia.Image.Core
返回值:
类型 | 说明 |
Promise<ImageInfo> | Promise实例,用于异步获取图像像素信息,失败时返回错误信息。 |
示例:
getImageInfo7+
getImageInfo(callback: AsyncCallback<ImageInfo>): void
获取图像像素信息,使用callback形式返回获取的图像像素信息。
系统能力: SystemCapability.Multimedia.Image.Core
参数:
参数名 | 类型 | 必填 | 说明 |
callback | AsyncCallback<ImageInfo> | 是 | 获取图像像素信息回调,异步返回图像像素信息,失败时返回错误信息。 |
示例:
getBytesNumberPerRow7+
getBytesNumberPerRow(): number
获取图像像素每行字节数。
系统能力: SystemCapability.Multimedia.Image.Core
返回值:
类型 | 说明 |
number | 图像像素的行字节数。 |
示例:
getPixelBytesNumber7+
getPixelBytesNumber(): number
获取图像像素的总字节数。
系统能力: SystemCapability.Multimedia.Image.Core
返回值:
类型 | 说明 |
number | 图像像素的总字节数。 |
示例:
getDensity9+
getDensity():number
获取当前图像像素的密度。
系统能力: SystemCapability.Multimedia.Image.Core
返回值:
类型 | 说明 |
number | 图像像素的密度。 |
示例:
opacity9+
opacity(rate: number, callback: AsyncCallback<void>): void
通过设置透明比率来让PixelMap达到对应的透明效果,使用callback形式返回。
系统能力: SystemCapability.Multimedia.Image.Core
参数:
参数名 | 类型 | 必填 | 说明 |
rate | number | 是 | 透明比率的值,取值范围:0-1。 |
callback | AsyncCallback<void> | 是 | 获取回调,失败时返回错误信息。 |
示例:
opacity9+
opacity(rate: number): Promise<void>
通过设置透明比率来让PixelMap达到对应的透明效果,使用Promise形式返回。
系统能力: SystemCapability.Multimedia.Image.Core
参数:
参数名 | 类型 | 必填 | 说明 |
rate | number | 是 | 透明比率的值,取值范围:0-1。 |
返回值:
类型 | 说明 |
Promise<void> | Promise实例,用于获取结果,失败时返回错误信息。 |
示例:
createAlphaPixelmap9+
createAlphaPixelmap(): Promise<PixelMap>
根据Alpha通道的信息,来生成一个仅包含Alpha通道信息的pixelmap,可用于阴影效果,使用Promise形式返回。
系统能力: SystemCapability.Multimedia.Image.Core
返回值:
类型 | 说明 |
Promise<PixelMap> | Promise实例,返回pixelmap。 |
示例:
createAlphaPixelmap9+
createAlphaPixelmap(callback: AsyncCallback<PixelMap>): void
根据Alpha通道的信息,来生成一个仅包含Alpha通道信息的pixelmap,可用于阴影效果,使用callback形式返回。
系统能力: SystemCapability.Multimedia.Image.Core
参数:
参数名 | 类型 | 必填 | 说明 |
callback | AsyncCallback<PixelMap> | 是 | 获取回调,异步返回结果。 |
示例:
scale9+
scale(x: number, y: number, callback: AsyncCallback<void>): void
根据输入的宽高对图片进行缩放,使用callback形式返回。
系统能力: SystemCapability.Multimedia.Image.Core
参数:
参数名 | 类型 | 必填 | 说明 |
x | number | 是 | 宽度的缩放值,其值为输入的倍数。 |
y | number | 是 | 高度的缩放值,其值为输入的倍数。 |
callback | AsyncCallback<void> | 是 | 获取回调,失败时返回错误信息。 |
示例:
scale9+
scale(x: number, y: number): Promise<void>
根据输入的宽高对图片进行缩放,使用Promise形式返回。
系统能力: SystemCapability.Multimedia.Image.Core
参数:
参数名 | 类型 | 必填 | 说明 |
x | number | 是 | 宽度的缩放值,其值为输入的倍数。 |
y | number | 是 | 高度的缩放值,其值为输入的倍数。 |
返回值:
类型 | 说明 |
Promise<void> | Promise实例,异步返回结果。 |
示例:
translate9+
translate(x: number, y: number, callback: AsyncCallback<void>): void
根据输入的坐标对图片进行位置变换,使用callback形式返回。
系统能力: SystemCapability.Multimedia.Image.Core
参数:
参数名 | 类型 | 必填 | 说明 |
x | number | 是 | 区域横坐标。 |
y | number | 是 | 区域纵坐标。 |
callback | AsyncCallback<void> | 是 | 获取回调,失败时返回错误信息。 |
示例:
translate9+
translate(x: number, y: number): Promise<void>
根据输入的坐标对图片进行位置变换,使用Promise形式返回。
系统能力: SystemCapability.Multimedia.Image.Core
参数:
参数名 | 类型 | 必填 | 说明 |
x | number | 是 | 区域横坐标。 |
y | number | 是 | 区域纵坐标。 |
返回值:
类型 | 说明 |
Promise<void> | Promise实例,异步返回结果。 |
示例:
rotate9+
rotate(angle: number, callback: AsyncCallback<void>): void
根据输入的角度对图片进行旋转,使用callback形式返回。
系统能力: SystemCapability.Multimedia.Image.Core
参数:
参数名 | 类型 | 必填 | 说明 |
angle | number | 是 | 图片旋转的角度。 |
callback | AsyncCallback<void> | 是 | 获取回调,失败时返回错误信息。 |
示例:
rotate9+
rotate(angle: number): Promise<void>
根据输入的角度对图片进行旋转,使用Promise形式返回。
系统能力: SystemCapability.Multimedia.Image.Core
参数:
参数名 | 类型 | 必填 | 说明 |
angle | number | 是 | 图片旋转的角度。 |
返回值:
类型 | 说明 |
Promise<void> | Promise实例,异步返回结果。 |
示例:
flip9+
flip(horizontal: boolean, vertical: boolean, callback: AsyncCallback<void>): void
根据输入的条件对图片进行翻转,使用callback形式返回。
系统能力: SystemCapability.Multimedia.Image.Core
参数:
参数名 | 类型 | 必填 | 说明 |
horizontal | boolean | 是 | 水平翻转。 |
vertical | boolean | 是 | 垂直翻转。 |
callback | AsyncCallback<void> | 是 | 获取回调,失败时返回错误信息。 |
示例:
flip9+
flip(horizontal: boolean, vertical: boolean): Promise<void>
根据输入的条件对图片进行翻转,使用Promise形式返回。
系统能力: SystemCapability.Multimedia.Image.Core
参数:
参数名 | 类型 | 必填 | 说明 |
horizontal | boolean | 是 | 水平翻转。 |
vertical | boolean | 是 | 垂直翻转。 |
返回值:
类型 | 说明 |
Promise<void> | Promise实例,异步返回结果。 |
示例:
crop9+
crop(region: Region, callback: AsyncCallback<void>): void
根据输入的尺寸对图片进行裁剪,使用callback形式返回。
系统能力: SystemCapability.Multimedia.Image.Core
参数:
参数名 | 类型 | 必填 | 说明 |
region | Region | 是 | 裁剪的尺寸。 |
callback | AsyncCallback<void> | 是 | 获取回调,失败时返回错误信息。 |
示例:
crop9+
crop(region: Region): Promise<void>
根据输入的尺寸对图片进行裁剪,使用Promise形式返回。
系统能力: SystemCapability.Multimedia.Image.Core
参数:
参数名 | 类型 | 必填 | 说明 |
region | Region | 是 | 裁剪的尺寸。 |
返回值:
类型 | 说明 |
Promise<void> | Promise实例,异步返回结果。 |
示例:
release7+
release():Promise<void>
释放PixelMap对象,使用Promise形式返回释放结果。
系统能力: SystemCapability.Multimedia.Image.Core
返回值:
类型 | 说明 |
Promise<void> | Promise实例,异步返回释放结果。 |
示例:
release7+
release(callback: AsyncCallback<void>): void
释放PixelMap对象,使用callback形式返回释放结果。
系统能力: SystemCapability.Multimedia.Image.Core
参数:
参数名 | 类型 | 必填 | 说明 |
callback | AsyncCallback<void> | 是 | 异步返回释放结果。 |
示例:
image.createImageSource
createImageSource(uri: string): ImageSource
通过传入的uri创建图片源实例。
系统能力: SystemCapability.Multimedia.Image.ImageSource
参数:
参数名 | 类型 | 必填 | 说明 |
uri | string | 是 | 图片路径,当前仅支持应用沙箱路径。 当前支持格式有:.jpg .png .gif .bmp .webp RAW。 |
返回值:
类型 | 说明 |
返回ImageSource类实例,失败时返回undefined。 |
示例:
image.createImageSource9+
createImageSource(uri: string, options: SourceOptions): ImageSource
通过传入的uri创建图片源实例。
系统能力: SystemCapability.Multimedia.Image.ImageSource
参数:
参数名 | 类型 | 必填 | 说明 |
uri | string | 是 | 图片路径,当前仅支持应用沙箱路径。 当前支持格式有:.jpg .png .gif .bmp .webp RAW。 |
options | 是 | 图片属性,包括图片序号与默认属性值。 |
返回值:
类型 | 说明 |
返回ImageSource类实例,失败时返回undefined。 |
示例:
image.createImageSource7+
createImageSource(fd: number): ImageSource
通过传入文件描述符来创建图片源实例。
系统能力: SystemCapability.Multimedia.Image.ImageSource
参数:
参数名 | 类型 | 必填 | 说明 |
fd | number | 是 | 文件描述符fd。 |
返回值:
类型 | 说明 |
返回ImageSource类实例,失败时返回undefined。 |
示例:
image.createImageSource9+
createImageSource(fd: number, options: SourceOptions): ImageSource
通过传入文件描述符来创建图片源实例。
系统能力: SystemCapability.Multimedia.Image.ImageSource
参数:
参数名 | 类型 | 必填 | 说明 |
fd | number | 是 | 文件描述符fd。 |
options | 是 | 图片属性,包括图片序号与默认属性值。 |
返回值:
类型 | 说明 |
返回ImageSource类实例,失败时返回undefined。 |
示例:
image.createImageSource9+
createImageSource(buf: ArrayBuffer): ImageSource
通过缓冲区创建图片源实例。
系统能力: SystemCapability.Multimedia.Image.ImageSource
参数:
参数名 | 类型 | 必填 | 说明 |
buf | ArrayBuffer | 是 | 图像缓冲区数组。 |
示例:
image.createImageSource9+
createImageSource(buf: ArrayBuffer, options: SourceOptions): ImageSource
通过缓冲区创建图片源实例。
系统能力: SystemCapability.Multimedia.Image.ImageSource
参数:
参数名 | 类型 | 必填 | 说明 |
buf | ArrayBuffer | 是 | 图像缓冲区数组。 |
options | 是 | 图片属性,包括图片序号与默认属性值。 |
返回值:
类型 | 说明 |
返回ImageSource类实例,失败时返回undefined。 |
示例:
image.CreateIncrementalSource9+
CreateIncrementalSource(buf: ArrayBuffer): ImageSource
通过缓冲区以增量的方式创建图片源实例。
系统能力: SystemCapability.Multimedia.Image.ImageSource
参数:
参数名 | 类型 | 必填 | 说明 |
buf | ArrayBuffer | 是 | 增量数据。 |
返回值:
类型 | 说明 |
返回图片源,失败时返回undefined。 |
示例:
image.CreateIncrementalSource9+
CreateIncrementalSource(buf: ArrayBuffer, options?: SourceOptions): ImageSource
通过缓冲区以增量的方式创建图片源实例。
系统能力: SystemCapability.Multimedia.Image.ImageSource
参数:
参数名 | 类型 | 必填 | 说明 |
buf | ArrayBuffer | 是 | 增量数据。 |
options | 否 | 图片属性,包括图片序号与默认属性值。 |
返回值:
类型 | 说明 |
返回图片源,失败时返回undefined。 |
示例:
