HarmonyOS API:@ohos.multimedia.image (图片处理)

joytrian
发布于 2023-4-4 15:59
浏览
0收藏

版本:v3.1 Beta

@ohos.multimedia.image (图片处理)

ImageSource

图片源类,用于获取图片相关信息。在调用ImageSource的方法前,需要先通过createImageSource构建一个ImageSource实例。

属性

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

名称

类型

可读

可写

说明

supportedFormats

Array<string>

支持的图片格式,包括:png,jpeg,bmp,gif,webp,RAW。

getImageInfo

getImageInfo(index: number, callback: AsyncCallback<ImageInfo>): void

获取指定序号的图片信息,使用callback形式返回图片信息。

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

参数:

参数名

类型

必填

说明

index

number

创建图片源时的序号。

callback

AsyncCallback<​​ImageInfo​​>

获取图片信息回调,异步返回图片信息对象。

示例:

imageSourceApi.getImageInfo(0,(error, imageInfo) => { 
    if(error) {
        console.log('getImageInfo failed.');
    } else {
        console.log('getImageInfo succeeded.');
    }
})

getImageInfo

getImageInfo(callback: AsyncCallback<ImageInfo>): void

获取图片信息,使用callback形式返回图片信息。

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

参数:

参数名

类型

必填

说明

callback

AsyncCallback<​​ImageInfo​​>

获取图片信息回调,异步返回图片信息对象。

示例:

imageSourceApi.getImageInfo(imageInfo => { 
    console.log('Succeeded in obtaining the image information.');
})

getImageInfo

getImageInfo(index?: number): Promise<ImageInfo>

获取图片信息,使用Promise形式返回图片信息。

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

参数:

参数名

类型

必填

说明

index

number

创建图片源时的序号,不选择时默认为0。

返回值:

类型

说明

Promise<​​ImageInfo​​>

返回获取到的图片信息。

示例:

imageSourceApi.getImageInfo(0)
    .then(imageInfo => {
        console.log('Succeeded in obtaining the image information.');
    }).catch(error => {
        console.log('Failed to obtain the image information.');
    })

getImageProperty7+

getImageProperty(key:string, options?: GetImagePropertyOptions): Promise<string>

获取图片中给定索引处图像的指定属性键的值,用Promise形式返回结果。

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

参数:

参数名

类型

必填

说明

key

string

图片属性名。

options

​GetImagePropertyOptions​

图片属性,包括图片序号与默认属性值。

返回值:

类型

说明

Promise<string>

Promise实例,用于异步获取图片属性值,如获取失败则返回属性默认值。

示例:

imageSourceApi.getImageProperty("BitsPerSample")
    .then(data => {
        console.log('Succeeded in getting the value of the specified attribute key of the image.');
    })

getImageProperty7+

getImageProperty(key:string, callback: AsyncCallback<string>): void

获取图片中给定索引处图像的指定属性键的值,用callback形式返回结果。

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

参数:

参数名

类型

必填

说明

key

string

图片属性名。

callback

AsyncCallback<string>

获取图片属性回调,返回图片属性值,如获取失败则返回属性默认值。

示例:

imageSourceApi.getImageProperty("BitsPerSample",(error,data) => { 
    if(error) {
        console.log('Failed to get the value of the specified attribute key of the image.');
    } else {
        console.log('Succeeded in getting the value of the specified attribute key of the image.');
    }
})

getImageProperty7+

getImageProperty(key:string, options: GetImagePropertyOptions, callback: AsyncCallback<string>): void

获取图片指定属性键的值,callback形式返回结果。

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

参数:

参数名

类型

必填

说明

key

string

图片属性名。

options

​GetImagePropertyOptions​

图片属性,包括图片序号与默认属性值。

callback

AsyncCallback<string>

获取图片属性回调,返回图片属性值,如获取失败则返回属性默认值。

示例:

let property = { index: 0, defaultValue: '9999' }
imageSourceApi.getImageProperty("BitsPerSample",property,(error,data) => { 
    if(error) {
        console.log('Failed to get the value of the specified attribute key of the image.');
    } else {
        console.log('Succeeded in getting the value of the specified attribute key of the image.');
    }
})

modifyImageProperty9+

modifyImageProperty(key: string, value: string): Promise<void>

通过指定的键修改图片属性的值,使用Promise形式返回结果。

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

参数:

参数名

类型

必填

说明

key

string

图片属性名。

value

string

属性值。

返回值:

类型

说明

Promise<void>

Promise实例,异步返回结果。

示例:

imageSourceApi.modifyImageProperty("ImageWidth", "120").then(() => {
    const w = imageSourceApi.getImageProperty("ImageWidth")
    console.info('w', w);
})

modifyImageProperty9+

modifyImageProperty(key: string, value: string, callback: AsyncCallback<void>): void

通过指定的键修改图片属性的值,callback形式返回结果。

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

参数:

参数名

类型

必填

说明

key

string

图片属性名。

value

string

属性值。

callback

AsyncCallback<void>

修改属性值,callback返回结果。

示例:

imageSourceApi.modifyImageProperty("ImageWidth", "120",() => {})

updateData9+

updateData(buf: ArrayBuffer, isFinished: boolean, value: number, length: number): Promise<void>

更新增量数据,使用Promise形式返回结果。

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

参数:

参数名

类型

必填

说明

buf

ArrayBuffer

增量数据。

isFinished

boolean

是否更新完。

value

number

偏移量。

length

number

数组长。

返回值:

类型

说明

Promise<void>

Promise实例,异步返回结果。

示例:

const array = new ArrayBuffer(100);
imageSourceApi.updateData(array, false, 0, 10).then(data => {
    console.info('Succeeded in updating data.');
})

updateData9+

updateData(buf: ArrayBuffer, isFinished: boolean, value: number, length: number, callback: AsyncCallback<void>): void

更新增量数据,callback形式返回结果。

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

参数:

参数名

类型

必填

说明

buf

ArrayBuffer

增量数据。

isFinished

boolean

是否更新完。

value

number

偏移量。

length

number

数组长。

callback

AsyncCallback<void>

回调表示成功或失败。

示例:

const array = new ArrayBuffer(100);
imageSourceApi.updateData(array, false, 0, 10,(error,data )=> {
    if(data !== undefined){
        console.info('Succeeded in updating data.');     
    }
})

createPixelMap7+

createPixelMap(options?: DecodingOptions): Promise<PixelMap>

通过图片解码参数创建PixelMap对象。

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

参数:

参数名

类型

必填

说明

options

​DecodingOptions​

解码参数。

返回值:

类型

说明

Promise<​​PixelMap​​>

异步返回Promise对象。

示例:

imageSourceApi.createPixelMap().then(pixelmap => {
    console.log('Succeeded in creating pixelmap object through image decoding parameters.');
}).catch(error => {
    console.log('Failed to create pixelmap object through image decoding parameters.');
})

createPixelMap7+

createPixelMap(callback: AsyncCallback<PixelMap>): void

通过默认参数创建PixelMap对象,使用callback形式返回结果。

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

参数:

参数名

类型

必填

说明

callback

AsyncCallback<​​PixelMap​​>

通过回调返回PixelMap对象。

示例:

imageSourceApi.createPixelMap((err, pixelmap) => {
                    console.info('Succeeded in creating pixelmap object.');
                })

createPixelMap7+

createPixelMap(options: DecodingOptions, callback: AsyncCallback<PixelMap>): void

通过图片解码参数创建PixelMap对象。

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

参数:

参数名

类型

必填

说明

options

​DecodingOptions​

解码参数。

callback

AsyncCallback<​​PixelMap​​>

通过回调返回PixelMap对象。

示例:

let decodingOptions = {
    sampleSize: 1,
    editable: true,
    desiredSize: { width: 1, height: 2 },
    rotate: 10,
    desiredPixelFormat: 3,
    desiredRegion: { size: { height: 1, width: 2 }, x: 0, y: 0 },
    index: 0
};
imageSourceApi.createPixelMap(decodingOptions, pixelmap => { 
    console.log('Succeeded in creating pixelmap object.');
})

release

release(callback: AsyncCallback<void>): void

释放图片源实例,使用callback形式返回结果。

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

参数:

参数名

类型

必填

说明

callback

AsyncCallback<void>

资源释放回调,失败时返回错误信息。

示例:

imageSourceApi.release(() => { 
    console.log('release succeeded.');
})

release

release(): Promise<void>

释放图片源实例,使用Promise形式返回结果。

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

返回值:

类型

说明

Promise<void>

Promise实例,异步返回结果。

示例:

imageSourceApi.release().then(()=>{
    console.log('Succeeded in releasing the image source instance.');
}).catch(error => {
    console.log('Failed to release the image source instance.');
})

image.createImagePacker

createImagePacker(): ImagePacker

创建ImagePacker实例。

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

返回值:

类型

说明

​ImagePacker​

返回ImagePacker实例。

示例:

const imagePackerApi = image.createImagePacker();

ImagePacker

图片打包器类,用于图片压缩和打包。在调用ImagePacker的方法前,需要先通过createImagePacker构建一个ImagePacker实例,当前支持格式有:jpeg webp。

属性

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

名称

类型

可读

可写

说明

supportedFormats

Array<string>

图片打包支持的格式,jpeg。

packing

packing(source: ImageSource, option: PackingOption, callback: AsyncCallback<ArrayBuffer>): void

图片压缩或重新打包,使用callback形式返回结果。

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

参数:

参数名

类型

必填

说明

source

​ImageSource​

打包的图片源。

option

​PackingOption​

设置打包参数。

callback

AsyncCallback<ArrayBuffer>

获取图片打包回调,返回打包后数据。

示例:

const imageSourceApi = image.createImageSource(0);
let packOpts = { format:"image/jpeg", quality:98 };
imagePackerApi.packing(imageSourceApi, packOpts, data => {})

packing

packing(source: ImageSource, option: PackingOption): Promise<ArrayBuffer>

图片压缩或重新打包,使用Promise形式返回结果。

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

参数:

参数名

类型

必填

说明

source

​ImageSource​

打包的图片源。

option

​PackingOption​

设置打包参数。

返回值:

类型

说明

Promise<ArrayBuffer>

Promise实例,用于异步获取压缩或打包后的数据。

示例:

const imageSourceApi = image.createImageSource(0);
let packOpts = { format:"image/jpeg", quality:98 }
imagePackerApi.packing(imageSourceApi, packOpts)
    .then( data => {
        console.log('packing succeeded.');
    }).catch(error => {
        console.log('packing failed.');
    })

packing8+

packing(source: PixelMap, option: PackingOption, callback: AsyncCallback<ArrayBuffer>): void

图片压缩或重新打包,使用callback形式返回结果。

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

参数:

参数名

类型

必填

说明

source

​PixelMap​

打包的PixelMap资源。

option

​PackingOption​

设置打包参数。

callback

AsyncCallback<ArrayBuffer>

获取图片打包回调,返回打包后数据。

示例:

const color = new ArrayBuffer(96);  //96为需要创建的像素buffer大小,取值为:height * width *4
let bufferArr = new Uint8Array(color);
let opts = { editable: true, pixelFormat: 3, size: { height: 4, width: 6 } }
image.createPixelMap(color, opts).then((pixelmap) => {
    let packOpts = { format:"image/jpeg", quality:98 }
    imagePackerApi.packing(pixelmap, packOpts, data => { 
        console.log('Succeeded in packing the image.');
    })
})

packing8+

packing(source: PixelMap, option: PackingOption): Promise<ArrayBuffer>

图片压缩或重新打包,使用Promise形式返回结果。

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

参数:

参数名

类型

必填

说明

source

​PixelMap​

打包的PixelMap源。

option

​PackingOption​

设置打包参数。

返回值:

类型

说明

Promise<ArrayBuffer>

Promise实例,用于异步获取压缩或打包后的数据。

示例:

const color = new ArrayBuffer(96);  //96为需要创建的像素buffer大小,取值为:height * width *4
let bufferArr = new Uint8Array(color);
let opts = { editable: true, pixelFormat: 3, size: { height: 4, width: 6 } }
image.createPixelMap(color, opts).then((pixelmap) => {
    let packOpts = { format:"image/jpeg", quality:98 }
    imagePackerApi.packing(pixelmap, packOpts)
        .then( data => {
            console.log('Succeeded in packing the image.');
        }).catch(error => {
            console.log('Failed to pack the image..');
        })
})

release

release(callback: AsyncCallback<void>): void

释放图片打包实例,使用callback形式返回结果。

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

参数:

参数名

类型

必填

说明

callback

AsyncCallback<void>

释放回调,失败时返回错误信息。

示例:

imagePackerApi.release(()=>{ 
    console.log('Succeeded in releasing image packaging.');
})

release

release(): Promise<void>

释放图片打包实例,使用Promise形式返回释放结果。

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

返回值:

类型

说明

Promise<void>

Promise实例,用于异步获取释放结果,失败时返回错误信息。

示例:

imagePackerApi.release().then(()=>{
    console.log('Succeeded in releasing image packaging.');
}).catch((error)=>{ 
    console.log('Failed to release image packaging.'); 
}) 

image.createImageReceiver9+

createImageReceiver(width: number, height: number, format: number, capacity: number): ImageReceiver

通过宽、高、图片格式、容量创建ImageReceiver实例。

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

参数:

参数名

类型

必填

说明

width

number

图像的默认宽度。

height

number

图像的默认高度。

format

number

图像格式,取值为​​ImageFormat​​常量(目前仅支持 ImageFormat:JPEG 和 4)。

capacity

number

同时访问的最大图像数。

返回值:

类型

说明

​ImageReceiver​

如果操作成功,则返回ImageReceiver实例。

示例:

var receiver = image.createImageReceiver(8192, 8, 2000, 8);

ImageReceiver9+

图像接收类,用于获取组件Surface id,接收最新的图片和读取下一张图片,以及释放ImageReceiver实例。

在调用以下方法前需要先创建ImageReceiver实例。

属性

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

名称

类型

可读

可写

说明

size

​Size​

图片大小。

capacity

number

同时访问的图像数。

format

​ImageFormat​

图像格式。

getReceivingSurfaceId9+

getReceivingSurfaceId(callback: AsyncCallback<string>): void

用于获取一个Surface id供Camera或其他组件使用。使用callback返回结果。

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

参数:

参数名

类型

必填

说明

callback

AsyncCallback<string>

回调函数,返回Surface id。

示例:

receiver.getReceivingSurfaceId((err, id) => { 
    if(err) {
        console.log('getReceivingSurfaceId failed.');
    } else {
        console.log('getReceivingSurfaceId succeeded.');
    }
});

getReceivingSurfaceId9+

getReceivingSurfaceId(): Promise<string>

用于获取一个Surface id供Camera或其他组件使用。使用promise返回结果。

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

返回值:

类型

说明

Promise<string>

异步返回Surface id。

示例:

receiver.getReceivingSurfaceId().then( id => { 
    console.log('getReceivingSurfaceId succeeded.');
}).catch(error => {
    console.log('getReceivingSurfaceId failed.');
})

readLatestImage9+

readLatestImage(callback: AsyncCallback<Image>): void

从ImageReceiver读取最新的图片,并使用callback返回结果。

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

参数:

参数名

类型

必填

说明

callback

AsyncCallback<​​Image​​>

回调函数,返回最新图像。

示例:

receiver.readLatestImage((err, img) => { 
    if(err) {
        console.log('readLatestImage failed.');
    } else {
        console.log('readLatestImage succeeded.');
    }
});

readLatestImage9+

readLatestImage(): Promise<Image>

从ImageReceiver读取最新的图片,并使用promise返回结果。

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

返回值:

类型

说明

Promise<​​Image​​>

异步返回最新图片。

示例:

receiver.readLatestImage().then(img => {
    console.log('readLatestImage succeeded.');
}).catch(error => {
    console.log('readLatestImage failed.');
})

readNextImage9+

readNextImage(callback: AsyncCallback<Image>): void

从ImageReceiver读取下一张图片,并使用callback返回结果。

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

参数:

参数名

类型

必填

说明

callback

AsyncCallback<​​Image​​>

回调函数,返回下一张图片。

示例:

receiver.readNextImage((err, img) => { 
    if(err) {
        console.log('readNextImage failed.');
    } else {
        console.log('readNextImage succeeded.');
    }
});

readNextImage9+

readNextImage(): Promise<Image>

从ImageReceiver读取下一张图片,并使用promise返回结果。

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

返回值:

类型

说明

Promise<​​Image​​>

异步返回下一张图片。

示例:

receiver.readNextImage().then(img => {
    console.log('readNextImage succeeded.');
}).catch(error => {
    console.log('readNextImage failed.');
})

on9+

on(type: 'imageArrival', callback: AsyncCallback<void>): void

接收图片时注册回调。

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

参数:

参数名

类型

必填

说明

type

string

注册事件的类型,固定为'imageArrival',接收图片时触发。

callback

AsyncCallback<void>

注册的事件回调。

示例:

receiver.on('imageArrival', () => {})

release9+

release(callback: AsyncCallback<void>): void

释放ImageReceiver实例并使用回调返回结果。

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

参数:

参数名

类型

必填

说明

callback

AsyncCallback<void>

回调函数,返回操作结果。

示例:

receiver.release(() => {})

release9+

release(): Promise<void>

释放ImageReceiver实例并使用promise返回结果。

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

返回值:

类型

说明

Promise<void>

异步返回操作结果。

示例:

receiver.release().then(() => {
    console.log('release succeeded.');
}).catch(error => {
    console.log('release failed.');
})

image.createImageCreator9+

createImageCreator(width: number, height: number, format: number, capacity: number): ImageCreator

通过宽、高、图片格式、容量创建ImageCreator实例。

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

参数:

参数名

类型

必填

说明

width

number

图像的默认宽度。

height

number

图像的默认高度。

format

number

图像格式,如YCBCR_422_SP,JPEG。

capacity

number

同时访问的最大图像数。

返回值:

类型

说明

​ImageCreator​

如果操作成功,则返回ImageCreator实例。

示例:

var creator = image.createImageCreator(8192, 8, 4, 8);

ImageCreator9+

图像创建模块,用于请求图像原生数据区域,并开放给应用编译原生图像数据的能力。

在调用以下方法前需要先创建ImageCreator实例。

属性

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

名称

类型

可读

可写

说明

capacity

number

同时访问的图像数。

format

​ImageFormat​

图像格式。

dequeueImage9+

dequeueImage(callback: AsyncCallback<Image>): void

从空闲队列中获取buffer图片,用于绘制UI内容,并使用callback返回结果。

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

参数:

参数名

类型

必填

说明

callback

AsyncCallback<Image>

回调函数,返回最新图片。

示例:

creator.dequeueImage((err, img) => {
    if (err) {
        console.info('dequeueImage failded.');
    }
    console.info('dequeueImage succeeded.');
});

dequeueImage9+

dequeueImage(): Promise<Image>

从空闲队列中获取buffer图片,用于绘制UI内容,并使用promise返回结果。

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

返回值:

类型

说明

Promise<Image>

返回绘制的图像。

示例:

creator.dequeueImage().then(img => {
    console.info('dequeueImage succeeded.');
}).catch(error => {
    console.log('dequeueImage failed: ' + error);
})

queueImage9+

queueImage(interface: Image, callback: AsyncCallback<void>): void

将绘制好的图片放入Dirty队列,并使用callback返回结果。

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

参数:

参数名

类型

必填

说明

interface

Image

绘制好的buffer图像。

callback

AsyncCallback<void>

获取回调,失败时返回错误信息。

示例:

creator.dequeueImage().then(img => {
    //绘制图片
    img.getComponent(4).then(component => {
        var bufferArr = new Uint8Array(component.byteBuffer);
        for (var i = 0; i < bufferArr.length; i += 4) {
            bufferArr[i] = 0; //B
            bufferArr[i + 1] = 0; //G
            bufferArr[i + 2] = 255; //R
            bufferArr[i + 3] = 255; //A
        }
    })
    creator.queueImage(img, (err) => {
        if (err) {
            console.info('queueImage failed: ' + err);
        }
        console.info('queueImage succeeded');
    })
})

queueImage9+

queueImage(interface: Image): Promise<void>

将绘制好的图片放入Dirty队列,并使用promise返回结果。

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

参数:

参数名

类型

必填

说明

interface

Image

绘制好的buffer图像。

返回值:

类型

说明

Promise<void>

获取回调,失败时返回错误信息。

示例:

creator.dequeueImage().then(img => {
    //绘制图片
    img.getComponent(4).then(component => {
        var bufferArr = new Uint8Array(component.byteBuffer);
        for (var i = 0; i < bufferArr.length; i += 4) {
            bufferArr[i] = 0; //B
            bufferArr[i + 1] = 0; //G
            bufferArr[i + 2] = 255; //R
            bufferArr[i + 3] = 255; //A
        }
    })
    creator.queueImage(img).then(() => {
        console.info('queueImage succeeded.');
    }).catch(error => {
        console.info('queueImage failed: ' + error);
    })
})

on9+

on(type: 'imageRelease', callback: AsyncCallback<void>): void

监听imageRelease事件,并使用callback返回结果。

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

参数:

参数名

类型

必填

说明

type

string

监听事件类型,如'imageRelease'。

callback

AsyncCallback<void>

获取回调,失败时返回错误信息。

示例:

creator.on('imageRelease', (err) => {
    if (err) {
        console.info('on faild' + err);
    }
    console.info('on succeeded');
})

release9+

release(callback: AsyncCallback<void>): void

释放当前图像,并使用callback返回结果。

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

参数:

参数名

类型

必填

说明

callback

AsyncCallback<void>

获取回调,失败时返回错误信息。

示例:

creator.release((err) => {
    if (err) {
        console.info('release failed: ' + err);
    }
    console.info('release succeeded');
});

release9+

release(): Promise<void>

释放当前图像,并使用promise返回结果。

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

返回值:

类型

说明

Promise<void>

获取回调,失败时返回错误信息。

示例:

creator.release().then(() => {
    console.info('release succeeded');
}).catch(error => {
    console.info('release failed');
})

Image9+

提供基本的图像操作,包括获取图像信息、读写图像数据。调用​​readNextImage​​​和​​readLatestImage​​接口时会返回image。

属性

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

名称

类型

可读

可写

说明

clipRect

​Region​

要裁剪的图像区域。

size

​Size​

图像大小。

format

number

图像格式,参考​​PixelMapFormat​​。

getComponent9+

getComponent(componentType: ComponentType, callback: AsyncCallback<Component>): void

根据图像的组件类型从图像中获取组件缓存并使用callback返回结果。

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

参数:

参数名

类型

必填

说明

componentType

​ComponentType​

图像的组件类型。

callback

AsyncCallback<​​Component​​>

用于返回组件缓冲区。

示例:

img.getComponent(4, (err, component) => {
    if(err) {
        console.log('getComponent failed.');
    } else {
        console.log('getComponent succeeded.');
    }
})

getComponent9+

getComponent(componentType: ComponentType): Promise<Component>

根据图像的组件类型从图像中获取组件缓存并使用Promise方式返回结果。

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

参数:

参数名

类型

必填

说明

componentType

​ComponentType​

图像的组件类型。

返回值:

类型

说明

Promise<​​Component​​>

用于返回组件缓冲区的promise实例。

示例:

img.getComponent(4).then(component => { })

release9+

release(callback: AsyncCallback<void>): void

释放当前图像并使用callback返回结果。

在接收另一个图像前必须先释放对应资源。

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

参数:

参数名

类型

必填

说明

callback

AsyncCallback<void>

返回操作结果。

示例:

img.release(() =>{ 
    console.log('release succeeded.');
}) 

release9+

release(): Promise<void>

释放当前图像并使用Promise方式返回结果。

在接收另一个图像前必须先释放对应资源。

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

返回值:

类型

说明

Promise<void>

promise返回操作结果。

示例:

img.release().then(() =>{
    console.log('release succeeded.');
}).catch(error => {
    console.log('release failed.');
})

PositionArea7+

表示图片指定区域内的数据。

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

名称

类型

可读

可写

说明

pixels

ArrayBuffer

像素。

offset

number

偏移量。

stride

number

像素间距,stride >= region.size.width*4。

region

​Region​

区域,按照区域读写。写入的区域宽度加X坐标不能大于原图的宽度,写入的区域高度加Y坐标不能大于原图的高度。

ImageInfo

表示图片信息。

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

名称

类型

可读

可写

说明

size

​Size​

图片大小。

density9+

number

像素密度,单位为ppi。

Size

表示图片尺寸。

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

名称

类型

可读

可写

说明

height

number

输出图片的高。

width

number

输出图片的宽。

PixelMapFormat7+

枚举,图片像素格式。

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

名称

说明

UNKNOWN

0

未知格式。

RGB_565

2

格式为RGB_565

RGBA_8888

3

格式为RGBA_8888

BGRA_88889+

4

格式为BGRA_8888

RGB_8889+

5

格式为RGB_888

ALPHA_89+

6

格式为ALPHA_8

RGBA_F169+

7

格式为RGBA_F16

NV219+

8

格式为NV21

NV129+

9

格式为NV12

AlphaType9+

枚举,图像的透明度类型。

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

名称

说明

UNKNOWN

0

未知透明度。

OPAQUE

1

没有alpha或图片全透明。

PREMUL

2

RGB前乘alpha。

UNPREMUL

3

RGB不前乘alpha。

ScaleMode9+

枚举,图像的缩放模式。

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

名称

说明

CENTER_CROP

1

缩放图像以填充目标图像区域并居中裁剪区域外的效果。

FIT_TARGET_SIZE

0

图像适合目标尺寸的效果。

SourceOptions9+

ImageSource的初始化选项。

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

名称

类型

可读

可写

说明

sourceDensity

number

ImageSource的密度。

sourcePixelFormat

​PixelMapFormat​

图片像素格式。

sourceSize

​Size​

图像像素大小。

InitializationOptions8+

PixelMap的初始化选项。

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

名称

类型

可读

可写

说明

alphaType9+

​AlphaType​

透明度。

editable

boolean

是否可编辑。

pixelFormat

​PixelMapFormat​

像素格式。

scaleMode9+

​ScaleMode​

缩略值。

size

​Size​

创建图片大小。

DecodingOptions7+

图像解码设置选项。

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

名称

类型

可读

可写

说明

sampleSize

number

缩略图采样大小。

rotate

number

旋转角度。

editable

boolean

是否可编辑。

desiredSize

​Size​

期望输出大小。

desiredRegion

​Region​

解码区域。

desiredPixelFormat

​PixelMapFormat​

解码的像素格式。

index

number

解码图片序号。

fitDensity9+

number

图像像素密度,单位为ppi。

Region7+

表示区域信息。

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

名称

类型

可读

可写

说明

size

​Size​

区域大小。

x

number

区域横坐标。

y

number

区域纵坐标。

PackingOption

表示图片打包选项。

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

名称

类型

可读

可写

说明

format

string

目标格式。

当前支持格式有:.jpg .png .gif .bmp .webp RAW。

quality

number

JPEG编码中设定输出图片质量的参数,取值范围为1-100。

bufferSize9+

number

用于设置图片大小,默认为10M

GetImagePropertyOptions7+

表示查询图片属性的索引。

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

名称

类型

可读

可写

说明

index

number

图片序号。

defaultValue

string

默认属性值。

PropertyKey7+

枚举,Exif(Exchangeable image file format)图片信息。

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

名称

说明

BITS_PER_SAMPLE

"BitsPerSample"

每个像素比特数。

ORIENTATION

"Orientation"

图片方向。

IMAGE_LENGTH

"ImageLength"

图片长度。

IMAGE_WIDTH

"ImageWidth"

图片宽度。

GPS_LATITUDE

"GPSLatitude"

图片纬度。

GPS_LONGITUDE

"GPSLongitude"

图片经度。

GPS_LATITUDE_REF

"GPSLatitudeRef"

纬度引用,例如N或S。

GPS_LONGITUDE_REF

"GPSLongitudeRef"

经度引用,例如W或E。

DATE_TIME_ORIGINAL9+

"DateTimeOriginal"

拍摄时间,例如2022:09:06 15:48:00

EXPOSURE_TIME9+

"ExposureTime"

曝光时间,例如1/33 sec.

SCENE_TYPE9+

"SceneType"

拍摄场景模式,例如人像、风光、运动、夜景等。

ISO_SPEED_RATINGS9+

"ISOSpeedRatings"

ISO感光度,例如400

F_NUMBER9+

"FNumber"

光圈值,例如f/1.8

ImageFormat9+

枚举,图片格式。

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

名称

说明

YCBCR_422_SP

1000

YCBCR422半平面格式。

JPEG

2000

JPEG编码格式。

ComponentType9+

枚举,图像的组件类型。

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

名称

说明

YUV_Y

1

亮度信息。

YUV_U

2

色度信息。

YUV_V

3

色度信息。

JPEG

4

JPEG 类型。

Component9+

描述图像颜色分量。

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

名称

类型

可读

可写

说明

componentType

​ComponentType​

组件类型。

rowStride

number

行距。

pixelStride

number

像素间距。

byteBuffer

ArrayBuffer

组件缓冲区。

ResponseCode

编译错误返回的响应码。

名称

说明

ERR_MEDIA_INVALID_VALUE

-1

无效大小。

SUCCESS

0

操作成功。

ERROR

62980096

操作失败。

ERR_IPC

62980097

ipc错误。

ERR_SHAMEM_NOT_EXIST

62980098

共享内存错误。

ERR_SHAMEM_DATA_ABNORMAL

62980099

共享内存错误。

ERR_IMAGE_DECODE_ABNORMAL

62980100

图像解码错误。

ERR_IMAGE_DATA_ABNORMAL

62980101

图像输入数据错误。

ERR_IMAGE_MALLOC_ABNORMAL

62980102

图像malloc错误。

ERR_IMAGE_DATA_UNSUPPORT

62980103

不支持图像类型。

ERR_IMAGE_INIT_ABNORMAL

62980104

图像初始化错误。

ERR_IMAGE_GET_DATA_ABNORMAL

62980105

图像获取数据错误。

ERR_IMAGE_TOO_LARGE

62980106

图像数据太大。

ERR_IMAGE_TRANSFORM

62980107

图像转换错误。

ERR_IMAGE_COLOR_CONVERT

62980108

图像颜色转换错误。

ERR_IMAGE_CROP

62980109

裁剪错误。

ERR_IMAGE_SOURCE_DATA

62980110

图像源数据错误。

ERR_IMAGE_SOURCE_DATA_INCOMPLETE

62980111

图像源数据不完整。

ERR_IMAGE_MISMATCHED_FORMAT

62980112

图像格式不匹配。

ERR_IMAGE_UNKNOWN_FORMAT

62980113

图像未知格式。

ERR_IMAGE_SOURCE_UNRESOLVED

62980114

图像源未解析。

ERR_IMAGE_INVALID_PARAMETER

62980115

图像无效参数。

ERR_IMAGE_DECODE_FAILED

62980116

解码失败。

ERR_IMAGE_PLUGIN_REGISTER_FAILED

62980117

注册插件失败。

ERR_IMAGE_PLUGIN_CREATE_FAILED

62980118

创建插件失败。

ERR_IMAGE_ENCODE_FAILED

62980119

图像编码失败。

ERR_IMAGE_ADD_PIXEL_MAP_FAILED

62980120

图像添加像素映射失败。

ERR_IMAGE_HW_DECODE_UNSUPPORT

62980121

不支持图像硬件解码。

ERR_IMAGE_DECODE_HEAD_ABNORMAL

62980122

图像解码头错误。

ERR_IMAGE_DECODE_EXIF_UNSUPPORT

62980123

图像解码exif取消支持。

ERR_IMAGE_PROPERTY_NOT_EXIST

62980124

图像属性不存在;错误代码被媒体占用,图像从150开始。

ERR_IMAGE_READ_PIXELMAP_FAILED

62980246

读取像素地图失败。

ERR_IMAGE_WRITE_PIXELMAP_FAILED

62980247

写入像素映射失败。

ERR_IMAGE_PIXELMAP_NOT_ALLOW_MODIFY

62980248

pixelmap不允许修改。

ERR_IMAGE_CONFIG_FAILED

62980259

配置错误。


文章转载自:​​https://developer.harmonyos.com/cn/docs/documentation/doc-references-V3/js-apis-image-0000001477981401-V3?catalogVersion=V3#ZH-CN_TOPIC_0000001477981401__属性-1​

已于2023-4-4 15:59:10修改
收藏
回复
举报
回复
    相关推荐