@ohos.multimedia.image (Image Processing)
The Image module provides APIs for image processing. You can use the APIs to create a PixelMap object with specified properties or read image pixel data (even in an area).
NOTE
The initial APIs of this module are supported since API version 6. Newly added APIs will be marked with a superscript to indicate their earliest API version.
Modules to Import
import image from '@ohos.multimedia.image';
image.createPixelMap8+
createPixelMap(colors: ArrayBuffer, options: InitializationOptions): Promise<PixelMap>
Creates a PixelMap object with the default BGRA_8888 format and pixel properties specified. This API uses a promise to return the result.
System capability: SystemCapability.Multimedia.Image.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
colors | ArrayBuffer | Yes | Color array in BGRA_8888 format. |
options | InitializationOptions | Yes | Pixel properties, including the alpha type, size, scale mode, pixel format, and editable. |
Return value
Type | Description |
---|---|
Promise<PixelMap> | Promise used to return the PixelMap object. If the size of the created pixel map exceeds that of the original image, the pixel map size of the original image is returned. |
Example
import {BusinessError} from '@ohos.base';
async function Demo() {
const color : ArrayBuffer = new ArrayBuffer(96); // 96 is the size of the pixel map buffer to create. The value is calculated as follows: height x width x 4.
let opts : image.InitializationOptions = { editable: true, pixelFormat: 3, size: { height: 4, width: 6 } }
image.createPixelMap(color, opts).then((pixelMap : image.PixelMap) => {
console.info('Succeeded in creating pixelmap.');
}).catch((error : BusinessError) => {
console.error('Failed to create pixelmap.');
})
}
image.createPixelMap8+
createPixelMap(colors: ArrayBuffer, options: InitializationOptions, callback: AsyncCallback<PixelMap>): void
Creates a PixelMap object with the default BGRA_8888 format and pixel properties specified. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.Image.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
colors | ArrayBuffer | Yes | Color array in BGRA_8888 format. |
options | InitializationOptions | Yes | Pixel properties. |
callback | AsyncCallback<PixelMap> | Yes | Callback used to return the PixelMap object. |
Example
import {BusinessError} from '@ohos.base';
async function Demo() {
const color : ArrayBuffer = new ArrayBuffer(96); // 96 is the size of the pixel map buffer to create. The value is calculated as follows: height x width x 4.
let opts : image.InitializationOptions = { editable: true, pixelFormat: 3, size: { height: 4, width: 6 } }
image.createPixelMap(color, opts, (error : BusinessError, pixelMap : image.PixelMap) => {
if(error) {
console.error('Failed to create pixelmap.');
return;
} else {
console.info('Succeeded in creating pixelmap.');
}
})
}
PixelMap7+
Provides APIs to read or write image pixel map data and obtain image pixel map information. Before calling any API in PixelMap, you must use createPixelMap to create a PixelMap object. Currently, the maximum size of a serialized pixel map is 128 MB. A larger size will cause a display failure. The size is calculated as follows: Width * Height * Number of bytes occupied by each pixel.
Since API version 11, PixelMap supports cross-thread calls through workers. If a PixelMap object is invoked by another thread through Worker, all APIs of the PixelMap object cannot be called in the original thread. Otherwise, error 501 is reported, indicating that the server cannot complete the request.
Before calling any API in PixelMap, you must use image.createPixelMap to create a PixelMap object.
Attributes
System capability: SystemCapability.Multimedia.Image.Core
Name | Type | Readable | Writable | Description |
---|---|---|---|---|
isEditable | boolean | Yes | No | Whether the image pixel map is editable. |
readPixelsToBuffer7+
readPixelsToBuffer(dst: ArrayBuffer): Promise<void>
Reads data of this pixel map and writes the data to an ArrayBuffer. This API uses a promise to return the result. If this pixel map is created in the BGRA_8888 format, the data read is the same as the original data.
System capability: SystemCapability.Multimedia.Image.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
dst | ArrayBuffer | Yes | Buffer to which the image pixel map data will be written. The buffer size is obtained by calling getPixelBytesNumber. |
Return value
Type | Description |
---|---|
Promise<void> | Promise used to return the result. If the operation fails, an error message is returned. |
Example
import {BusinessError} from '@ohos.base';
async function Demo() {
const readBuffer : ArrayBuffer = new ArrayBuffer(96); // 96 is the size of the pixel map buffer to create. The value is calculated as follows: height x width x 4.
pixelMap.readPixelsToBuffer(readBuffer).then(() => {
console.info('Succeeded in reading image pixel data.'); // Called if the condition is met.
}).catch((error : BusinessError) => {
console.error('Failed to read image pixel data.'); // Called if no condition is met.
})
}
readPixelsToBuffer7+
readPixelsToBuffer(dst: ArrayBuffer, callback: AsyncCallback<void>): void
Reads data of this pixel map and writes the data to an ArrayBuffer. This API uses an asynchronous callback to return the result. If this pixel map is created in the BGRA_8888 format, the data read is the same as the original data.
System capability: SystemCapability.Multimedia.Image.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
dst | ArrayBuffer | Yes | Buffer to which the image pixel map data will be written. The buffer size is obtained by calling getPixelBytesNumber. |
callback | AsyncCallback<void> | Yes | Callback used to return the result. If the operation fails, an error message is returned. |
Example
import {BusinessError} from '@ohos.base';
async function Demo() {
const readBuffer : ArrayBuffer = new ArrayBuffer(96); // 96 is the size of the pixel map buffer to create. The value is calculated as follows: height x width x 4.
pixelMap.readPixelsToBuffer(readBuffer, (err : BusinessError, res : void) => {
if(err) {
console.error('Failed to read image pixel data.'); // Called if no condition is met.
return;
} else {
console.info('Succeeded in reading image pixel data.'); // Called if the condition is met.
}
})
}
readPixels7+
readPixels(area: PositionArea): Promise<void>
Reads image pixel map data in an area. This API uses a promise to return the result.
System capability: SystemCapability.Multimedia.Image.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
area | PositionArea | Yes | Area from which the image pixel map data will be read. |
Return value
Type | Description |
---|---|
Promise<void> | Promise used to return the result. If the operation fails, an error message is returned. |
Example
import {BusinessError} from '@ohos.base';
async function Demo() {
const area : image.PositionArea = {
pixels: new ArrayBuffer(8),
offset: 0,
stride: 8,
region: { size: { height: 1, width: 2 }, x: 0, y: 0 }
};
pixelMap.readPixels(area).then(() => {
console.info('Succeeded in reading the image data in the area.'); // Called if the condition is met.
}).catch((error : BusinessError) => {
console.error('Failed to read the image data in the area.'); // Called if no condition is met.
})
}
readPixels7+
readPixels(area: PositionArea, callback: AsyncCallback<void>): void
Reads image pixel map data in an area. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.Image.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
area | PositionArea | Yes | Area from which the image pixel map data will be read. |
callback | AsyncCallback<void> | Yes | Callback used to return the result. If the operation fails, an error message is returned. |
Example
import {BusinessError} from '@ohos.base';
async function Demo() {
const area : image.PositionArea = {
pixels: new ArrayBuffer(8),
offset: 0,
stride: 8,
region: { size: { height: 1, width: 2 }, x: 0, y: 0 }
};
pixelMap.readPixels(area, (err : BusinessError) => {
if (err != undefined) {
console.error('Failed to read pixelmap from the specified area.');
return;
} else {
console.info('Succeeded to read pixelmap from the specified area.');
}
})
}
writePixels7+
writePixels(area: PositionArea): Promise<void>
Writes image pixel map data to an area. This API uses a promise to return the result.
System capability: SystemCapability.Multimedia.Image.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
area | PositionArea | Yes | Area to which the image pixel map data will be written. |
Return value
Type | Description |
---|---|
Promise<void> | Promise used to return the result. If the operation fails, an error message is returned. |
Example
import {BusinessError} from '@ohos.base';
async function Demo() {
const area : image.PositionArea = {
pixels: new ArrayBuffer(8),
offset: 0,
stride: 8,
region: { size: { height: 1, width: 2 }, x: 0, y: 0 }
};
let bufferArr : Uint8Array = new Uint8Array(area.pixels);
for (let i = 0; i < bufferArr.length; i++) {
bufferArr[i] = i + 1;
}
pixelMap.writePixels(area).then(() => {
console.info('Succeeded to write pixelmap into the specified area.');
}).catch((error : BusinessError) => {
console.error(`Failed to write pixelmap into the specified area. code is ${error.code}, message is ${error.message}`);
})
}
writePixels7+
writePixels(area: PositionArea, callback: AsyncCallback<void>): void
Writes image pixel map data to an area. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.Image.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
area | PositionArea | Yes | Area to which the image pixel map data will be written. |
callback | AsyncCallback<void> | Yes | Callback used to return the result. If the operation fails, an error message is returned. |
Example
import {BusinessError} from '@ohos.base';
async function Demo() {
const area : image.PositionArea = { pixels: new ArrayBuffer(8),
offset: 0,
stride: 8,
region: { size: { height: 1, width: 2 }, x: 0, y: 0 }
};
let bufferArr : Uint8Array = new Uint8Array(area.pixels);
for (let i = 0; i < bufferArr.length; i++) {
bufferArr[i] = i + 1;
}
pixelMap.writePixels(area, (error : BusinessError) => {
if (error != undefined) {
console.error('Failed to write pixelmap into the specified area.');
return;
} else {
console.info('Succeeded to write pixelmap into the specified area.');
}
})
}
writeBufferToPixels7+
writeBufferToPixels(src: ArrayBuffer): Promise<void>
Reads image data in an ArrayBuffer and writes the data to a PixelMap object. This API uses a promise to return the result.
System capability: SystemCapability.Multimedia.Image.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
src | ArrayBuffer | Yes | Buffer from which the image data will be read. |
Return value
Type | Description |
---|---|
Promise<void> | Promise used to return the result. If the operation fails, an error message is returned. |
Example
import {BusinessError} from '@ohos.base';
async function Demo() {
const color : ArrayBuffer = new ArrayBuffer(96); // 96 is the size of the pixel map buffer to create. The value is calculated as follows: height x width x 4.
let bufferArr : Uint8Array = new Uint8Array(color);
for (let i = 0; i < bufferArr.length; i++) {
bufferArr[i] = i + 1;
}
pixelMap.writeBufferToPixels(color).then(() => {
console.info("Succeeded in writing data from a buffer to a PixelMap.");
}).catch((error : BusinessError) => {
console.error("Failed to write data from a buffer to a PixelMap.");
})
}
writeBufferToPixels7+
writeBufferToPixels(src: ArrayBuffer, callback: AsyncCallback<void>): void
Reads image data in an ArrayBuffer and writes the data to a PixelMap object. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.Image.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
src | ArrayBuffer | Yes | Buffer from which the image data will be read. |
callback | AsyncCallback<void> | Yes | Callback used to return the result. If the operation fails, an error message is returned. |
Example
import {BusinessError} from '@ohos.base';
async function Demo() {
const color : ArrayBuffer = new ArrayBuffer(96); // 96 is the size of the pixel map buffer to create. The value is calculated as follows: height x width x 4.
let bufferArr : Uint8Array = new Uint8Array(color);
for (let i = 0; i < bufferArr.length; i++) {
bufferArr[i] = i + 1;
}
pixelMap.writeBufferToPixels(color, (err : BusinessError) => {
if (err != undefined) {
console.error("Failed to write data from a buffer to a PixelMap.");
return;
} else {
console.info("Succeeded in writing data from a buffer to a PixelMap.");
}
})
}
getImageInfo7+
getImageInfo(): Promise<ImageInfo>
Obtains pixel map information of this image. This API uses a promise to return the result.
System capability: SystemCapability.Multimedia.Image.Core
Return value
Type | Description |
---|---|
Promise<ImageInfo> | Promise used to return the pixel map information. If the operation fails, an error message is returned. |
Example
async function Demo() {
pixelMap.getImageInfo().then((imageInfo : image.ImageInfo) => {
if (imageInfo == undefined) {
console.error("Failed to obtain the image pixel map information.");
}
if (imageInfo.size.height == 4 && imageInfo.size.width == 6) {
console.info("Succeeded in obtaining the image pixel map information.");
}
})
}
getImageInfo7+
getImageInfo(callback: AsyncCallback<ImageInfo>): void
Obtains pixel map information of this image. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.Image.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
callback | AsyncCallback<ImageInfo> | Yes | Callback used to return the pixel map information. If the operation fails, an error message is returned. |
Example
import {BusinessError} from '@ohos.base';
async function Demo() {
pixelMap.getImageInfo((err : BusinessError, imageInfo : image.ImageInfo) => {
if (imageInfo == undefined) {
console.error("Failed to obtain the image pixel map information.");
return;
}
if (imageInfo.size.height == 4 && imageInfo.size.width == 6) {
console.info("Succeeded in obtaining the image pixel map information.");
}
})
}
getBytesNumberPerRow7+
getBytesNumberPerRow(): number
Obtains the number of bytes per row of this image pixel map.
System capability: SystemCapability.Multimedia.Image.Core
Return value
Type | Description |
---|---|
number | Number of bytes per row. |
Example
let rowCount : number = pixelMap.getBytesNumberPerRow();
getPixelBytesNumber7+
getPixelBytesNumber(): number
Obtains the total number of bytes of this image pixel map.
System capability: SystemCapability.Multimedia.Image.Core
Return value
Type | Description |
---|---|
number | Total number of bytes. |
Example
let pixelBytesNumber : number = pixelMap.getPixelBytesNumber();
getDensity9+
getDensity():number
Obtains the density of this image pixel map.
System capability: SystemCapability.Multimedia.Image.Core
Return value
Type | Description |
---|---|
number | Density of the image pixel map. |
Example
let getDensity : number = pixelMap.getDensity();
opacity9+
opacity(rate: number, callback: AsyncCallback<void>): void
Sets an opacity rate for this image pixel map. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.Image.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
rate | number | Yes | Opacity rate to set. |
callback | AsyncCallback<void> | Yes | Callback used to return the result. If the operation fails, an error message is returned. |
Example
import {BusinessError} from '@ohos.base';
async function Demo() {
let rate : number = 0.5;
pixelMap.opacity(rate, (err : BusinessError) => {
if (err) {
console.error("Failed to set opacity.");
return;
} else {
console.info("Succeeded in setting opacity.");
}
})
}
opacity9+
opacity(rate: number): Promise<void>
Sets an opacity rate for this image pixel map. This API uses a promise to return the result.
System capability: SystemCapability.Multimedia.Image.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
rate | number | Yes | Opacity rate to set. |
Return value
Type | Description |
---|---|
Promise<void> | Promise used to return the result. If the operation fails, an error message is returned. |
Example
import {BusinessError} from '@ohos.base';
async function Demo() {
let rate : number = 0.5;
await pixelMap.opacity(rate).then(() => {
console.info('Sucessed in setting opacity.');
}).catch((err : BusinessError) => {
console.error('Failed to set opacity.');
})
}
createAlphaPixelmap9+
createAlphaPixelmap(): Promise<PixelMap>
Creates a PixelMap object that contains only the alpha channel information. This object can be used for the shadow effect. This API uses a promise to return the result.
System capability: SystemCapability.Multimedia.Image.Core
Return value
Type | Description |
---|---|
Promise<PixelMap> | Promise used to return the PixelMap object. |
Example
import {BusinessError} from '@ohos.base';
async function Demo() {
await pixelMap.createAlphaPixelmap().then((alphaPixelMap : image.PixelMap) => {
console.info('Succeeded in creating alpha pixelmap.');
}).catch((error : BusinessError) => {
console.error('Failed to create alpha pixelmap.');
})
}
createAlphaPixelmap9+
createAlphaPixelmap(callback: AsyncCallback<PixelMap>): void
Creates a PixelMap object that contains only the alpha channel information. This object can be used for the shadow effect. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.Image.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
callback | AsyncCallback<PixelMap> | Yes | Callback used to return the PixelMap object. |
Example
import {BusinessError} from '@ohos.base';
async function Demo() {
pixelMap.createAlphaPixelmap((err : BusinessError, alphaPixelMap : image.PixelMap) => {
if (alphaPixelMap == undefined) {
console.error('Failed to obtain new pixel map.');
return;
} else {
console.info('Succeed in obtaining new pixel map.');
}
})
}
scale9+
scale(x: number, y: number, callback: AsyncCallback<void>): void
Scales this image based on the input width and height. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.Image.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
x | number | Yes | Scaling multiple of the width. |
y | number | Yes | Scaling multiple of the height. |
callback | AsyncCallback<void> | Yes | Callback used to return the result. If the operation fails, an error message is returned. |
Example
import {BusinessError} from '@ohos.base';
async function Demo() {
let scaleX : number = 2.0;
let scaleY : number = 1.0;
pixelMap.scale(scaleX, scaleY, (err : BusinessError) => {
if (err) {
console.error("Failed to scale pixelmap.");
return;
} else {
console.info("Succeeded in scaling pixelmap.");
}
})
}
scale9+
scale(x: number, y: number): Promise<void>
Scales this image based on the input width and height. This API uses a promise to return the result.
System capability: SystemCapability.Multimedia.Image.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
x | number | Yes | Scaling multiple of the width. |
y | number | Yes | Scaling multiple of the height. |
Return value
Type | Description |
---|---|
Promise<void> | Promise used to return the result. |
Example
import {BusinessError} from '@ohos.base';
async function Demo() {
let scaleX : number = 2.0;
let scaleY : number = 1.0;
await pixelMap.scale(scaleX, scaleY).then(() => {
console.info('Sucessed in scaling pixelmap.');
}).catch((err : BusinessError) => {
console.error('Failed to scale pixelmap.');
})
}
translate9+
translate(x: number, y: number, callback: AsyncCallback<void>): void
Translates this image based on the input coordinates. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.Image.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
x | number | Yes | X coordinate to translate. |
y | number | Yes | Y coordinate to translate. |
callback | AsyncCallback<void> | Yes | Callback used to return the result. If the operation fails, an error message is returned. |
Example
import {BusinessError} from '@ohos.base';
async function Demo() {
let translateX : number = 50.0;
let translateY : number = 10.0;
pixelMap.translate(translateX, translateY, (err : BusinessError) => {
if (err) {
console.error("Failed to translate pixelmap.");
return;
} else {
console.info("Succeeded in translating pixelmap.");
}
})
}
translate9+
translate(x: number, y: number): Promise<void>
Translates this image based on the input coordinates. This API uses a promise to return the result.
System capability: SystemCapability.Multimedia.Image.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
x | number | Yes | X coordinate to translate. |
y | number | Yes | Y coordinate to translate. |
Return value
Type | Description |
---|---|
Promise<void> | Promise used to return the result. |
Example
import {BusinessError} from '@ohos.base';
async function Demo() {
let translateX : number = 50.0;
let translateY : number = 10.0;
await pixelMap.translate(translateX, translateY).then(() => {
console.info('Sucessed in translating pixelmap.');
}).catch((err : BusinessError) => {
console.error('Failed to translate pixelmap.');
})
}
rotate9+
rotate(angle: number, callback: AsyncCallback<void>): void
Rotates this image based on the input angle. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.Image.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
angle | number | Yes | Angle to rotate. |
callback | AsyncCallback<void> | Yes | Callback used to return the result. If the operation fails, an error message is returned. |
Example
import {BusinessError} from '@ohos.base';
async function Demo() {
let angle : number = 90.0;
pixelMap.rotate(angle, (err : BusinessError) => {
if (err != undefined) {
console.error("Failed to rotate pixelmap.");
return;
} else {
console.info("Succeeded in rotating pixelmap.");
}
})
}
rotate9+
rotate(angle: number): Promise<void>
Rotates this image based on the input angle. This API uses a promise to return the result.
System capability: SystemCapability.Multimedia.Image.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
angle | number | Yes | Angle to rotate. |
Return value
Type | Description |
---|---|
Promise<void> | Promise used to return the result. |
Example
import {BusinessError} from '@ohos.base';
async function Demo() {
let angle : number = 90.0;
await pixelMap.rotate(angle).then(() => {
console.info('Sucessed in rotating pixelmap.');
}).catch((err : BusinessError) => {
console.error('Failed to rotate pixelmap.');
})
}
flip9+
flip(horizontal: boolean, vertical: boolean, callback: AsyncCallback<void>): void
Flips this image horizontally or vertically, or both. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.Image.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
horizontal | boolean | Yes | Whether to flip the image horizontally. |
vertical | boolean | Yes | Whether to flip the image vertically. |
callback | AsyncCallback<void> | Yes | Callback used to return the result. If the operation fails, an error message is returned. |
Example
import {BusinessError} from '@ohos.base';
async function Demo() {
let horizontal : boolean = true;
let vertical : boolean = false;
pixelMap.flip(horizontal, vertical, (err : BusinessError) => {
if (err != undefined) {
console.error("Failed to flip pixelmap.");
return;
} else {
console.info("Succeeded in flipping pixelmap.");
}
})
}
flip9+
flip(horizontal: boolean, vertical: boolean): Promise<void>
Flips this image horizontally or vertically, or both. This API uses a promise to return the result.
System capability: SystemCapability.Multimedia.Image.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
horizontal | boolean | Yes | Whether to flip the image horizontally. |
vertical | boolean | Yes | Whether to flip the image vertically. |
Return value
Type | Description |
---|---|
Promise<void> | Promise used to return the result. |
Example
import {BusinessError} from '@ohos.base';
async function Demo() {
let horizontal : boolean = true;
let vertical : boolean = false;
await pixelMap.flip(horizontal, vertical).then(() => {
console.info('Sucessed in flipping pixelmap.');
}).catch((err : BusinessError) => {
console.error('Failed to flip pixelmap.');
})
}
crop9+
crop(region: Region, callback: AsyncCallback<void>): void
Crops this image based on the input size. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.Image.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
region | Region | Yes | Size of the image after cropping. |
callback | AsyncCallback<void> | Yes | Callback used to return the result. If the operation fails, an error message is returned. |
Example
import {BusinessError} from '@ohos.base';
async function Demo() {
let region : image.Region = { x: 0, y: 0, size: { height: 100, width: 100 } };
pixelMap.crop(region, (err : BusinessError) => {
if (err != undefined) {
console.error("Failed to crop pixelmap.");
return;
} else {
console.info("Succeeded in cropping pixelmap.");
}
})
}
crop9+
crop(region: Region): Promise<void>
Crops this image based on the input size. This API uses a promise to return the result.
System capability: SystemCapability.Multimedia.Image.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
region | Region | Yes | Size of the image after cropping. |
Return value
Type | Description |
---|---|
Promise<void> | Promise used to return the result. |
Example
import {BusinessError} from '@ohos.base';
async function Demo() {
let region : image.Region = { x: 0, y: 0, size: { height: 100, width: 100 } };
await pixelMap.crop(region).then(() => {
console.info('Sucessed in cropping pixelmap.');
}).catch((err : BusinessError) => {
console.error('Failed to crop pixelmap.');
});
}
getColorSpace10+
getColorSpace(): colorSpaceManager.ColorSpaceManager
Obtains the color space of this image.
System capability: SystemCapability.Multimedia.Image.Core
Return value
Type | Description |
---|---|
colorSpaceManager.ColorSpaceManager | Color space obtained. |
Error codes
For details about the error codes, see Image Error Codes.
ID | Error Message |
---|---|
62980101 | If the image data abnormal |
62980103 | If the image data unsupport |
62980115 | If the image parameter invalid |
Example
async function Demo() {
let csm = pixelMap.getColorSpace();
}
setColorSpace10+
setColorSpace(colorSpace: colorSpaceManager.ColorSpaceManager): void
Sets the color space for this image.
System capability: SystemCapability.Multimedia.Image.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
colorSpace | colorSpaceManager.ColorSpaceManager | Yes | Color space to set. |
Error codes
For details about the error codes, see Image Error Codes.
ID | Error Message |
---|---|
62980111 | If the operation invalid |
62980115 | If the image parameter invalid |
Example
import colorSpaceManager from '@ohos.graphics.colorSpaceManager';
async function Demo() {
let colorSpaceName = colorSpaceManager.ColorSpace.SRGB;
let csm : colorSpaceManager.ColorSpaceManager = colorSpaceManager.create(colorSpaceName);
pixelMap.setColorSpace(csm);
}
marshalling10+
marshalling(sequence: rpc.MessageSequence): void
Marshals this PixelMap object and writes it to a MessageSequence object.
System capability: SystemCapability.Multimedia.Image.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
sequence | rpc.MessageSequence | Yes | MessageSequence object. |
Error codes
For details about the error codes, see Image Error Codes.
ID | Error Message |
---|---|
62980115 | If the input parameter invalid |
62980097 | If the ipc error |
Example
import image from '@ohos.multimedia.image';
import rpc from '@ohos.rpc';
class MySequence implements rpc.Parcelable {
pixel_map : image.PixelMap;
constructor(conPixelMap : image.PixelMap) {
this.pixel_map = conPixelMap;
}
marshalling(messageSequence : rpc.MessageSequence) {
this.pixel_map.marshalling(messageSequence);
console.info('marshalling');
return true;
}
unmarshalling(messageSequence : rpc.MessageSequence) {
image.createPixelMap(new ArrayBuffer(96), {size: { height:4, width: 6}}).then((pixelParcel : image.PixelMap) => {
pixelParcel.unmarshalling(messageSequence).then(async (pixelMap : image.PixelMap) => {
this.pixel_map = pixelMap;
await pixelMap.getImageInfo().then((imageInfo : image.ImageInfo) => {
console.info("unmarshalling information h:" + imageInfo.size.height + "w:" + imageInfo.size.width);
})
})
});
return true;
}
}
async function Demo() {
const color : ArrayBuffer = new ArrayBuffer(96);
let bufferArr : Uint8Array = new Uint8Array(color);
for (let i = 0; i < bufferArr.length; i++) {
bufferArr[i] = 0x80;
}
let opts : image.InitializationOptions = {
editable: true,
pixelFormat: 4,
size: { height: 4, width: 6 },
alphaType: 3
}
let pixelMap : image.PixelMap | undefined = undefined;
await image.createPixelMap(color, opts).then((srcPixelMap : image.PixelMap) => {
pixelMap = srcPixelMap;
})
if (pixelMap != undefined) {
// Implement serialization.
let parcelable : MySequence = new MySequence(pixelMap);
let data : rpc.MessageSequence = rpc.MessageSequence.create();
data.writeParcelable(parcelable);
// Deserialize to obtain data through the RPC.
let ret : MySequence = new MySequence(pixelMap);
data.readParcelable(ret);
}
}
unmarshalling10+
unmarshalling(sequence: rpc.MessageSequence): Promise<PixelMap>
Unmarshals a MessageSequence object to obtain a PixelMap object.
System capability: SystemCapability.Multimedia.Image.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
sequence | rpc.MessageSequence | Yes | MessageSequence object that stores the PixelMap information. |
Return value
Type | Description |
---|---|
Promise<PixelMap> | Promise used to return the result. If the operation fails, an error message is returned. |
Error codes
For details about the error codes, see Image Error Codes.
ID | Error Message |
---|---|
62980115 | If the input parameter invalid |
62980097 | If the ipc error |
62980096 | If fail to create async work |
Example
import image from '@ohos.multimedia.image';
import rpc from '@ohos.rpc';
class MySequence implements rpc.Parcelable {
pixel_map : image.PixelMap;
constructor(conPixelMap : image.PixelMap) {
this.pixel_map = conPixelMap;
}
marshalling(messageSequence : rpc.MessageSequence) {
this.pixel_map.marshalling(messageSequence);
console.info('marshalling');
return true;
}
unmarshalling(messageSequence : rpc.MessageSequence) {
image.createPixelMap(new ArrayBuffer(96), {size: { height:4, width: 6}}).then((pixelParcel : image.PixelMap) => {
pixelParcel.unmarshalling(messageSequence).then(async (pixelMap : image.PixelMap) => {
this.pixel_map = pixelMap;
await pixelMap.getImageInfo().then((imageInfo : image.ImageInfo) => {
console.info("unmarshalling information h:" + imageInfo.size.height + "w:" + imageInfo.size.width);
})
})
});
return true;
}
}
async function Demo() {
const color : ArrayBuffer = new ArrayBuffer(96);
let bufferArr : Uint8Array = new Uint8Array(color);
for (let i = 0; i < bufferArr.length; i++) {
bufferArr[i] = 0x80;
}
let opts : image.InitializationOptions = {
editable: true,
pixelFormat: 4,
size: { height: 4, width: 6 },
alphaType: 3
}
let pixelMap : image.PixelMap | undefined = undefined;
await image.createPixelMap(color, opts).then((srcPixelMap : image.PixelMap) => {
pixelMap = srcPixelMap;
})
if (pixelMap != undefined) {
// Implement serialization.
let parcelable : MySequence = new MySequence(pixelMap);
let data : rpc.MessageSequence = rpc.MessageSequence.create();
data.writeParcelable(parcelable);
// Deserialize to obtain data through the RPC.
let ret : MySequence = new MySequence(pixelMap);
data.readParcelable(ret);
}
}
release7+
release():Promise<void>
Releases this PixelMap object. This API uses a promise to return the result.
System capability: SystemCapability.Multimedia.Image.Core
Return value
Type | Description |
---|---|
Promise<void> | Promise used to return the result. |
Example
import {BusinessError} from '@ohos.base';
async function Demo() {
pixelMap.release().then(() => {
console.info('Succeeded in releasing pixelmap object.');
}).catch((error : BusinessError) => {
console.error('Failed to release pixelmap object.');
})
}
release7+
release(callback: AsyncCallback<void>): void
Releases this PixelMap object. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.Image.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
callback | AsyncCallback<void> | Yes | Callback used to return the result. |
Example
import {BusinessError} from '@ohos.base';
async function Demo() {
pixelMap.release((err : BusinessError) => {
if (err != undefined) {
console.error('Failed to release pixelmap object.');
return;
} else {
console.info('Succeeded in releasing pixelmap object.');
}
})
}
image.createImageSource
createImageSource(uri: string): ImageSource
Creates an ImageSource instance based on the URI.
System capability: SystemCapability.Multimedia.Image.ImageSource
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
uri | string | Yes | Image path. Currently, only the application sandbox path is supported. Currently, the following formats are supported: .jpg, .png, .gif, .bmp, .webp, and raw SVG10+. |
Return value
Type | Description |
---|---|
ImageSource | Returns the ImageSource instance if the operation is successful; returns undefined otherwise. |
Example
// Stage model
const context : Context = getContext(this);
const path : string = context.cacheDir + "/test.jpg";
const imageSourceApi : image.ImageSource = image.createImageSource(path);
// FA model
import featureAbility from '@ohos.ability.featureAbility';
const context : featureAbility.Context = featureAbility.getContext();
const path : string = context.getCacheDir() + "/test.jpg";
const imageSourceApi : image.ImageSource = image.createImageSource(path);
image.createImageSource9+
createImageSource(uri: string, options: SourceOptions): ImageSource
Creates an ImageSource instance based on the URI.
System capability: SystemCapability.Multimedia.Image.ImageSource
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
uri | string | Yes | Image path. Currently, only the application sandbox path is supported. Currently, the following formats are supported: .jpg, .png, .gif, .bmp, .webp, and raw SVG10+. |
options | SourceOptions | Yes | Image properties, including the image index and default property value. |
Return value
Type | Description |
---|---|
ImageSource | Returns the ImageSource instance if the operation is successful; returns undefined otherwise. |
Example
let sourceOptions : image.SourceOptions = { sourceDensity: 120 };
let imageSource : image.ImageSource = image.createImageSource('test.png', sourceOptions);
image.createImageSource7+
createImageSource(fd: number): ImageSource
Creates an ImageSource instance based on the file descriptor.
System capability: SystemCapability.Multimedia.Image.ImageSource
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
fd | number | Yes | File descriptor. |
Return value
Type | Description |
---|---|
ImageSource | Returns the ImageSource instance if the operation is successful; returns undefined otherwise. |
Example
const imageSourceApi : image.ImageSource = image.createImageSource(0);
image.createImageSource9+
createImageSource(fd: number, options: SourceOptions): ImageSource
Creates an ImageSource instance based on the file descriptor.
System capability: SystemCapability.Multimedia.Image.ImageSource
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
fd | number | Yes | File descriptor. |
options | SourceOptions | Yes | Image properties, including the image index and default property value. |
Return value
Type | Description |
---|---|
ImageSource | Returns the ImageSource instance if the operation is successful; returns undefined otherwise. |
Example
let sourceOptions : image.SourceOptions = { sourceDensity: 120 };
const imageSourceApi : image.ImageSource = image.createImageSource(0, sourceOptions);
image.createImageSource9+
createImageSource(buf: ArrayBuffer): ImageSource
Creates an ImageSource instance based on the buffers.
System capability: SystemCapability.Multimedia.Image.ImageSource
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
buf | ArrayBuffer | Yes | Array of image buffers. |
Return value
Type | Description |
---|---|
ImageSource | Returns the ImageSource instance if the operation is successful; returns undefined otherwise. |
Example
const buf : ArrayBuffer = new ArrayBuffer(96); // 96 is the size of the pixel map buffer to create. The value is calculated as follows: height x width x 4.
const imageSourceApi : image.ImageSource = image.createImageSource(buf);
image.createImageSource9+
createImageSource(buf: ArrayBuffer, options: SourceOptions): ImageSource
Creates an ImageSource instance based on the buffers.
System capability: SystemCapability.Multimedia.Image.ImageSource
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
buf | ArrayBuffer | Yes | Array of image buffers. |
options | SourceOptions | Yes | Image properties, including the image index and default property value. |
Return value
Type | Description |
---|---|
ImageSource | Returns the ImageSource instance if the operation is successful; returns undefined otherwise. |
Example
const data : ArrayBuffer= new ArrayBuffer(112);
let sourceOptions : image.SourceOptions = { sourceDensity: 120 };
const imageSourceApi : image.ImageSource = image.createImageSource(data, sourceOptions);
image.CreateIncrementalSource9+
CreateIncrementalSource(buf: ArrayBuffer): ImageSource
Creates an ImageSource instance in incremental mode based on the buffers.
System capability: SystemCapability.Multimedia.Image.ImageSource
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
buf | ArrayBuffer | Yes | Incremental data. |
Return value
Type | Description |
---|---|
ImageSource | Returns the ImageSource instance if the operation is successful; returns undefined otherwise. |
Example
const buf : ArrayBuffer = new ArrayBuffer(96); // 96 is the size of the pixel map buffer to create. The value is calculated as follows: height x width x 4.
const imageSourceIncrementalSApi : image.ImageSource = image.CreateIncrementalSource(buf);
image.CreateIncrementalSource9+
CreateIncrementalSource(buf: ArrayBuffer, options?: SourceOptions): ImageSource
Creates an ImageSource instance in incremental mode based on the buffers.
System capability: SystemCapability.Multimedia.Image.ImageSource
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
buf | ArrayBuffer | Yes | Incremental data. |
options | SourceOptions | No | Image properties, including the image index and default property value. |
Return value
Type | Description |
---|---|
ImageSource | Returns the ImageSource instance if the operation is successful; returns undefined otherwise. |
Example
const buf : ArrayBuffer = new ArrayBuffer(96); // 96 is the size of the pixel map buffer to create. The value is calculated as follows: height x width x 4.
let sourceOptions : image.SourceOptions = { sourceDensity: 120 };
const imageSourceIncrementalSApi : image.ImageSource = image.CreateIncrementalSource(buf, sourceOptions);
ImageSource
Provides APIs to obtain image information. Before calling any API in ImageSource, you must use createImageSource to create an ImageSource instance.
Attributes
System capability: SystemCapability.Multimedia.Image.ImageSource
Name | Type | Readable | Writable | Description |
---|---|---|---|---|
supportedFormats | Array<string> | Yes | No | Supported image formats, including PNG, JPEG, BMP, GIF, WebP, and RAW. |
getImageInfo
getImageInfo(index: number, callback: AsyncCallback<ImageInfo>): void
Obtains information about an image with the specified index. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.Image.ImageSource
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
index | number | Yes | Index of the image. |
callback | AsyncCallback<ImageInfo> | Yes | Callback used to return the image information. |
Example
import {BusinessError} from '@ohos.base';
imageSourceApi.getImageInfo(0,(error : BusinessError, imageInfo : image.ImageInfo) => {
if(error) {
console.error('getImageInfo failed.');
} else {
console.info('getImageInfo succeeded.');
}
})
getImageInfo
getImageInfo(callback: AsyncCallback<ImageInfo>): void
Obtains information about this image. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.Image.ImageSource
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
callback | AsyncCallback<ImageInfo> | Yes | Callback used to return the image information. |
Example
import {BusinessError} from '@ohos.base';
imageSourceApi.getImageInfo((err : BusinessError, imageInfo : image.ImageInfo) => {
if (err != undefined) {
console.error(`Failed to obtaining the image information.code is ${err.code}, message is ${err.message}`);
} else {
console.info('Succeeded in obtaining the image information.');
}
})
getImageInfo
getImageInfo(index?: number): Promise<ImageInfo>
Obtains information about an image with the specified index. This API uses a promise to return the result.
System capability: SystemCapability.Multimedia.Image.ImageSource
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
index | number | No | Index of the image. If this parameter is not set, the default value 0 is used. |
Return value
Type | Description |
---|---|
Promise<ImageInfo> | Promise used to return the image information. |
Example
import {BusinessError} from '@ohos.base';
imageSourceApi.getImageInfo(0)
.then((imageInfo : image.ImageInfo) => {
console.info('Succeeded in obtaining the image information.');
}).catch((error : BusinessError) => {
console.error('Failed to obtain the image information.');
})
getImageProperty7+
getImageProperty(key:string, options?: GetImagePropertyOptions): Promise<string>
Obtains the value of a property with the specified index in this image. This API uses a promise to return the result. The image must be in JPEG format and contain EXIF information.
System capability: SystemCapability.Multimedia.Image.ImageSource
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
key | string | Yes | Name of the property. |
options | GetImagePropertyOptions | No | Image properties, including the image index and default property value. |
Return value
Type | Description |
---|---|
Promise<string> | Promise used to return the property value. If the operation fails, the default value is returned. |
Example
import {BusinessError} from '@ohos.base';
imageSourceApi.getImageProperty("BitsPerSample")
.then((data : string) => {
console.info('Succeeded in getting the value of the specified attribute key of the image.');
}).catch((error : BusinessError) => {
console.error('Failed to get the value of the specified attribute key of the image.');
})
getImageProperty7+
getImageProperty(key:string, callback: AsyncCallback<string>): void
Obtains the value of a property with the specified index in this image. This API uses an asynchronous callback to return the result. The image must be in JPEG format and contain EXIF information.
System capability: SystemCapability.Multimedia.Image.ImageSource
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
key | string | Yes | Name of the property. |
callback | AsyncCallback<string> | Yes | Callback used to return the property value. If the operation fails, the default value is returned. |
Example
import {BusinessError} from '@ohos.base';
imageSourceApi.getImageProperty("BitsPerSample",(error : BusinessError, data : string) => {
if(error) {
console.error('Failed to get the value of the specified attribute key of the image.');
} else {
console.info('Succeeded in getting the value of the specified attribute key of the image.');
}
})
getImageProperty7+
getImageProperty(key:string, options: GetImagePropertyOptions, callback: AsyncCallback<string>): void
Obtains the value of a property in this image. This API uses an asynchronous callback to return the result. The image must be in JPEG format and contain EXIF information.
System capability: SystemCapability.Multimedia.Image.ImageSource
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
key | string | Yes | Name of the property. |
options | GetImagePropertyOptions | Yes | Image properties, including the image index and default property value. |
callback | AsyncCallback<string> | Yes | Callback used to return the property value. If the operation fails, the default value is returned. |
Example
import {BusinessError} from '@ohos.base';
let property : image.GetImagePropertyOptions = { index: 0, defaultValue: '9999' }
imageSourceApi.getImageProperty("BitsPerSample",property,(error : BusinessError, data : string) => {
if(error) {
console.error('Failed to get the value of the specified attribute key of the image.');
} else {
console.info('Succeeded in getting the value of the specified attribute key of the image.');
}
})
modifyImageProperty9+
modifyImageProperty(key: string, value: string): Promise<void>
Modifies the value of a property in this image. This API uses a promise to return the result. The image must be in JPEG format and contain EXIF information.
System capability: SystemCapability.Multimedia.Image.ImageSource
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
key | string | Yes | Name of the property. |
value | string | Yes | New value of the property. |
Return value
Type | Description |
---|---|
Promise<void> | Promise used to return the result. |
Example
import {BusinessError} from '@ohos.base';
imageSourceApi.modifyImageProperty("ImageWidth", "120").then(() => {
imageSourceApi.getImageProperty("ImageWidth").then((width : string) => {
console.info(`ImageWidth is :${width}`);
}).catch((error : BusinessError) => {
console.error('Failed to get the Image Width.');
})
}).catch((error : BusinessError) => {
console.error('Failed to modify the Image Width');
})
modifyImageProperty9+
modifyImageProperty(key: string, value: string, callback: AsyncCallback<void>): void
Modifies the value of a property in this image. This API uses an asynchronous callback to return the result. The image must be in JPEG format and contain EXIF information.
System capability: SystemCapability.Multimedia.Image.ImageSource
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
key | string | Yes | Name of the property. |
value | string | Yes | New value of the property. |
callback | AsyncCallback<void> | Yes | Callback used to return the result. |
Example
import {BusinessError} from '@ohos.base';
imageSourceApi.modifyImageProperty("ImageWidth", "120",(err : BusinessError) => {
if (err != undefined) {
console.error('modifyImageProperty Failed');
} else {
console.info('modifyImageProperty Succeeded');
}
})
updateData9+
updateData(buf: ArrayBuffer, isFinished: boolean, value: number, length: number): Promise<void>
Updates incremental data. This API uses a promise to return the result.
System capability: SystemCapability.Multimedia.Image.ImageSource
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
buf | ArrayBuffer | Yes | Incremental data. |
isFinished | boolean | Yes | Whether the update is complete. |
value | number | Yes | Offset for data reading. |
length | number | Yes | Array length. |
Return value
Type | Description |
---|---|
Promise<void> | Promise used to return the result. |
Example
import {BusinessError} from '@ohos.base';
const array : ArrayBuffer = new ArrayBuffer(100);
imageSourceApi.updateData(array, false, 0, 10).then(() => {
console.info('Succeeded in updating data.');
}).catch((err: BusinessError) => {
console.error(`Failed to update data.code is ${err.code},message is ${err.message}`);
})
updateData9+
updateData(buf: ArrayBuffer, isFinished: boolean, value: number, length: number, callback: AsyncCallback<void>): void
Updates incremental data. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.Image.ImageSource
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
buf | ArrayBuffer | Yes | Incremental data. |
isFinished | boolean | Yes | Whether the update is complete. |
value | number | Yes | Offset for data reading. |
length | number | Yes | Array length. |
callback | AsyncCallback<void> | Yes | Callback used to return the result. |
Example
import {BusinessError} from '@ohos.base';
const array : ArrayBuffer = new ArrayBuffer(100);
imageSourceApi.updateData(array, false, 0, 10, (err: BusinessError) => {
if (err != undefined) {
console.error(`Failed to update data.code is ${err.code},message is ${err.message}`);
} else {
console.info('Succeeded in updating data.');
}
})
createPixelMap7+
createPixelMap(options?: DecodingOptions): Promise<PixelMap>
Creates a PixelMap object based on image decoding parameters. This API uses a promise to return the result.
System capability: SystemCapability.Multimedia.Image.ImageSource
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
options | DecodingOptions | No | Image decoding parameters. |
Return value
Type | Description |
---|---|
Promise<PixelMap> | Promise used to return the PixelMap object. |
Example
import {BusinessError} from '@ohos.base';
imageSourceApi.createPixelMap().then((pixelMap : image.PixelMap) => {
console.info('Succeeded in creating pixelMap object through image decoding parameters.');
}).catch((error : BusinessError) => {
console.error('Failed to create pixelMap object through image decoding parameters.');
})
createPixelMap7+
createPixelMap(callback: AsyncCallback<PixelMap>): void
Creates a PixelMap object based on the default parameters. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.Image.ImageSource
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
callback | AsyncCallback<PixelMap> | Yes | Callback used to return the PixelMap object. |
Example
import {BusinessError} from '@ohos.base';
imageSourceApi.createPixelMap((err : BusinessError, pixelMap : image.PixelMap) => {
if (err != undefined) {
console.error(`Failed to create pixelMap.code is ${err.code},message is ${err.message}`);
} else {
console.info('Succeeded in creating pixelMap object.');
}
})
createPixelMap7+
createPixelMap(options: DecodingOptions, callback: AsyncCallback<PixelMap>): void
Creates a PixelMap object based on image decoding parameters. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.Image.ImageSource
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
options | DecodingOptions | Yes | Image decoding parameters. |
callback | AsyncCallback<PixelMap> | Yes | Callback used to return the PixelMap object. |
Example
import {BusinessError} from '@ohos.base';
let decodingOptions : image.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, (err : BusinessError, pixelMap : image.PixelMap) => {
if (err != undefined) {
console.error(`Failed to create pixelMap.code is ${err.code},message is ${err.message}`);
} else {
console.info('Succeeded in creating pixelMap object.');
}
})
createPixelMapList10+
createPixelMapList(options?: DecodingOptions): Promise<Array<PixelMap>>
Creates an array of PixelMap objects based on image decoding parameters. This API uses a promise to return the result.
System capability: SystemCapability.Multimedia.Image.ImageSource
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
options | DecodingOptions | No | Image decoding parameters. |
Return value
Type | Description |
---|---|
Promise<Array<PixelMap>> | Promise used to return an array of PixelMap objects. |
Error codes
For details about the error codes, see Image Error Codes.
ID | Error Message |
---|---|
62980096 | If the operation failed |
62980103 | If the image data unsupport |
62980110 | If the image source data error |
62980111 | If the image source data incomplete |
62980118 | If the image plugin create failed |
Example
import {BusinessError} from '@ohos.base';
let decodeOpts: image.DecodingOptions = {
sampleSize: 1,
editable: true,
desiredSize: { width: 198, height: 202 },
rotate: 0,
desiredPixelFormat: 3,
index: 0,
};
imageSourceApi.createPixelMapList(decodeOpts).then((pixelMapList: Array<image.PixelMap>) => {
console.info('Succeeded in creating pixelMapList object.');
}).catch((err: BusinessError) => {
console.error(`Failed to create pixelMapList object.code is ${err.code},message is ${err.message}`);
})
createPixelMapList10+
createPixelMapList(callback: AsyncCallback<Array<PixelMap>>): void
Creates an array of PixelMap objects based on the default parameters. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.Image.ImageSource
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
callback | AsyncCallback<Array<PixelMap>> | Yes | Callback used to return an array of PixelMap objects. |
Error codes
For details about the error codes, see Image Error Codes.
ID | Error Message |
---|---|
62980096 | If the operation failed |
62980103 | If the image data unsupport |
62980110 | If the image source data error |
62980111 | If the image source data incomplete |
62980118 | If the image plugin create failed |
Example
import {BusinessError} from '@ohos.base';
imageSourceApi.createPixelMapList((err: BusinessError, pixelMapList: Array<image.PixelMap>) => {
if (err != undefined) {
console.error(`Failed to create pixelMapList object.code is ${err.code},message is ${err.message}`);
} else {
console.info('Succeeded in creating pixelMapList object.');
}
})
createPixelMapList10+
createPixelMapList(options: DecodingOptions, callback: AsyncCallback<Array<PixelMap>>): void
Creates an array of PixelMap objects based on image decoding parameters. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.Image.ImageSource
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
options | DecodingOptions | Yes | Image decoding parameters. |
callback | AsyncCallback<Array<PixelMap>> | Yes | Callback used to return an array of PixelMap objects. |
Error codes
For details about the error codes, see Image Error Codes.
ID | Error Message |
---|---|
62980096 | If the operation failed |
62980103 | If the image data unsupport |
62980110 | If the image source data error |
62980111 | If the image source data incomplete |
62980118 | If the image plugin create failed |
Example
import {BusinessError} from '@ohos.base';
let decodeOpts : image.DecodingOptions = {
sampleSize: 1,
editable: true,
desiredSize: { width: 198, height: 202 },
rotate: 0,
desiredPixelFormat: 3,
index: 0,
};
imageSourceApi.createPixelMapList(decodeOpts, (err: BusinessError, pixelMapList: Array<image.PixelMap>) => {
if (err != undefined) {
console.error(`Failed to create pixelMapList object.code is ${err.code},message is ${err.message}`);
} else {
console.info('Succeeded in creating pixelMapList object.');
}
})
getDelayTimeList10+
getDelayTimeList(callback: AsyncCallback<Array<number>>): void
Obtains an array of delay times. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.Image.ImageSource
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
callback | AsyncCallback<Array<number>> | Yes | Callback used to return an array of delay times. |
Error codes
For details about the error codes, see Image Error Codes.
ID | Error Message |
---|---|
62980096 | If the operation failed |
62980110 | If the image source data error |
62980111 | If the image source data incomplete |
62980113 | If the image format unknown |
62980116 | If the image decode failed |
62980118 | If the image plugin create failed |
62980122 | If the image decode head abnormal |
Example
import {BusinessError} from '@ohos.base';
imageSourceApi.getDelayTimeList((err: BusinessError, delayTimes: Array<number>) => {
if (err != undefined) {
console.error(`Failed to get delayTimes object.code is ${err.code},message is ${err.message}`);
} else {
console.info('Succeeded in delayTimes object.');
}
})
getDelayTimeList10+
getDelayTimeList(): Promise<Array<number>>
Obtains an array of delay times. This API uses a promise to return the result.
System capability: SystemCapability.Multimedia.Image.ImageSource
Return value
Type | Description |
---|---|
Promise<Array<number>> | Promise used to return an array of delay times. |
Error codes
For details about the error codes, see Image Error Codes.
ID | Error Message |
---|---|
62980096 | If the operation failed |
62980110 | If the image source data error |
62980111 | If the image source data incomplete |
62980113 | If the image format unknown |
62980116 | If the image decode failed |
62980118 | If the image plugin create failed |
62980122 | If the image decode head abnormal |
Example
import {BusinessError} from '@ohos.base';
imageSourceApi.getDelayTimeList().then((delayTimes : Array<number>) => {
console.info('Succeeded in delayTimes object.');
}).catch((err: BusinessError) => {
console.error(`Failed to get delayTimes object.code is ${err.code},message is ${err.message}`);
})
getFrameCount10+
getFrameCount(callback: AsyncCallback<number>): void
Obtains the number of frames. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.Image.ImageSource
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
callback | AsyncCallback<number> | Yes | Callback used to return the number of frames. |
Error codes
For details about the error codes, see Image Error Codes.
ID | Error Message |
---|---|
62980096 | If the operation failed |
62980110 | If the image source data error |
62980111 | If the image source data incomplete |
62980113 | If the image format unknown |
62980116 | If the image decode failed |
62980118 | If the image plugin create failed |
62980122 | If the image decode head abnormal |
Example
import {BusinessError} from '@ohos.base';
imageSourceApi.getFrameCount((err: BusinessError, frameCount: number) => {
if (err != undefined) {
console.error(`Failed to get frame count.code is ${err.code},message is ${err.message}`);
} else {
console.info('Succeeded in getting frame count.');
}
})
getFrameCount10+
getFrameCount(): Promise<number>
Obtains the number of frames. This API uses a promise to return the result.
System capability: SystemCapability.Multimedia.Image.ImageSource
Return value
Type | Description |
---|---|
Promise<number> | Promise used to return the number of frames. |
Error codes
For details about the error codes, see Image Error Codes.
ID | Error Message |
---|---|
62980096 | If the operation failed |
62980110 | If the image source data error |
62980111 | If the image source data incomplete |
62980113 | If the image format unknown |
62980116 | If the image decode failed |
62980118 | If the image plugin create failed |
62980122 | If the image decode head abnormal |
Example
import {BusinessError} from '@ohos.base';
imageSourceApi.getFrameCount().then((frameCount: number) => {
console.info('Succeeded in getting frame count.');
}).catch((err : BusinessError) => {
console.error(`Failed to get frame count.code is ${err.code},message is ${err.message}`);
})
release
release(callback: AsyncCallback<void>): void
Releases this ImageSource instance. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.Image.ImageSource
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
callback | AsyncCallback<void> | Yes | Callback invoked for instance release. If the operation fails, an error message is returned. |
Example
import {BusinessError} from '@ohos.base';
imageSourceApi.release((err : BusinessError) => {
if (err != undefined) {
console.error('Failed to release the image source instance.');
} else {
console.info('Succeeded in releasing the image source instance.');
}
})
release
release(): Promise<void>
Releases this ImageSource instance. This API uses a promise to return the result.
System capability: SystemCapability.Multimedia.Image.ImageSource
Return value
Type | Description |
---|---|
Promise<void> | Promise used to return the result. |
Example
import {BusinessError} from '@ohos.base';
imageSourceApi.release().then(()=>{
console.info('Succeeded in releasing the image source instance.');
}).catch((error : BusinessError) => {
console.error('Failed to release the image source instance.');
})
image.createImagePacker
createImagePacker(): ImagePacker
Creates an ImagePacker instance.
System capability: SystemCapability.Multimedia.Image.ImagePacker
Return value
Type | Description |
---|---|
ImagePacker | ImagePacker instance created. |
Example
const imagePackerApi : image.ImagePacker = image.createImagePacker();
ImagePacker
Provides APIs to pack images. Before calling any API in ImagePacker, you must use createImagePacker to create an ImagePacker instance. The image formats JPEG, WebP, and PNG are supported.
Attributes
System capability: SystemCapability.Multimedia.Image.ImagePacker
Name | Type | Readable | Writable | Description |
---|---|---|---|---|
supportedFormats | Array<string> | Yes | No | Supported image formats, which can be JPEG, WebP, and PNG. |
packing
packing(source: ImageSource, option: PackingOption, callback: AsyncCallback<ArrayBuffer>): void
Packs an image. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.Image.ImagePacker
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
source | ImageSource | Yes | Image to pack. |
option | PackingOption | Yes | Option for image packing. |
callback | AsyncCallback<ArrayBuffer> | Yes | Callback used to return the packed data. |
Example
import {BusinessError} from '@ohos.base';
const imageSourceApi : image.ImageSource = image.createImageSource(0);
let packOpts : image.PackingOption = { format:"image/jpeg", quality:98 };
imagePackerApi.packing(imageSourceApi, packOpts, (err : BusinessError, data : ArrayBuffer) => {
if(err) {
console.error('packing failed.');
} else {
console.info('packing succeeded.');
}
})
packing
packing(source: ImageSource, option: PackingOption): Promise<ArrayBuffer>
Packs an image. This API uses a promise to return the result.
System capability: SystemCapability.Multimedia.Image.ImagePacker
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
source | ImageSource | Yes | Image to pack. |
option | PackingOption | Yes | Option for image packing. |
Return value
Type | Description |
---|---|
Promise<ArrayBuffer> | Promise used to return the packed data. |
Example
import {BusinessError} from '@ohos.base';
const imageSourceApi : image.ImageSource = image.createImageSource(0);
let packOpts : image.PackingOption = { format:"image/jpeg", quality:98 }
imagePackerApi.packing(imageSourceApi, packOpts)
.then( (data : ArrayBuffer) => {
console.info('packing succeeded.');
}).catch((error : BusinessError) => {
console.error('packing failed.');
})
packing8+
packing(source: PixelMap, option: PackingOption, callback: AsyncCallback<ArrayBuffer>): void
Packs an image. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.Image.ImagePacker
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
source | PixelMap | Yes | PixelMap object to pack. |
option | PackingOption | Yes | Option for image packing. |
callback | AsyncCallback<ArrayBuffer> | Yes | Callback used to return the packed data. |
Example
import {BusinessError} from '@ohos.base';
const color : ArrayBuffer = new ArrayBuffer(96); // 96 is the size of the pixel map buffer to create. The value is calculated as follows: height x width x 4.
let opts : image.InitializationOptions = { editable: true, pixelFormat: 3, size: { height: 4, width: 6 } }
image.createPixelMap(color, opts).then((pixelMap : image.PixelMap) => {
let packOpts : image.PackingOption = { format:"image/jpeg", quality:98 }
imagePackerApi.packing(pixelMap, packOpts, (err : BusinessError, data : ArrayBuffer) => {
console.info('Succeeded in packing the image.');
})
}).catch((error : BusinessError) => {
console.error('createPixelMap failed.');
})
packing8+
packing(source: PixelMap, option: PackingOption): Promise<ArrayBuffer>
Packs an image. This API uses a promise to return the result.
System capability: SystemCapability.Multimedia.Image.ImagePacker
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
source | PixelMap | Yes | PixelMap object to pack. |
option | PackingOption | Yes | Option for image packing. |
Return value
Type | Description |
---|---|
Promise<ArrayBuffer> | Promise used to return the packed data. |
Example
import {BusinessError} from '@ohos.base';
const color : ArrayBuffer = new ArrayBuffer(96); // 96 is the size of the pixel map buffer to create. The value is calculated as follows: height x width x 4.
let opts : image.InitializationOptions = { editable: true, pixelFormat: 3, size: { height: 4, width: 6 } }
image.createPixelMap(color, opts).then((pixelMap : image.PixelMap) => {
let packOpts : image.PackingOption = { format:"image/jpeg", quality:98 }
imagePackerApi.packing(pixelMap, packOpts)
.then( (data : ArrayBuffer) => {
console.info('Succeeded in packing the image.');
}).catch((error : BusinessError) => {
console.error('Failed to pack the image..');
})
}).catch((error : BusinessError) => {
console.error('createPixelMap failed.');
})
release
release(callback: AsyncCallback<void>): void
Releases this ImagePacker instance. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.Image.ImagePacker
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
callback | AsyncCallback<void> | Yes | Callback invoked for instance release. If the operation fails, an error message is returned. |
Example
import {BusinessError} from '@ohos.base';
imagePackerApi.release((err : BusinessError)=>{
if (err != undefined) {
console.error('Failed to release image packaging.');
} else {
console.info('Succeeded in releasing image packaging.');
}
})
release
release(): Promise<void>
Releases this ImagePacker instance. This API uses a promise to return the result.
System capability: SystemCapability.Multimedia.Image.ImagePacker
Return value
Type | Description |
---|---|
Promise<void> | Promise used to return the instance release result. If the operation fails, an error message is returned. |
Example
import {BusinessError} from '@ohos.base';
imagePackerApi.release().then(()=>{
console.info('Succeeded in releasing image packaging.');
}).catch((error : BusinessError)=>{
console.error('Failed to release image packaging.');
})
image.createImageReceiver9+
createImageReceiver(width: number, height: number, format: number, capacity: number): ImageReceiver
Creates an ImageReceiver instance by specifying the image width, height, format, and capacity.
System capability: SystemCapability.Multimedia.Image.ImageReceiver
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
width | number | Yes | Default image width. |
height | number | Yes | Default image height. |
format | number | Yes | Image format, which is a constant of ImageFormat. (Currently, only ImageFormat:JPEG is supported.) |
capacity | number | Yes | Maximum number of images that can be accessed at the same time. |
Return value
Type | Description |
---|---|
ImageReceiver | Returns an ImageReceiver instance if the operation is successful. |
Example
let receiver : image.ImageReceiver = image.createImageReceiver(8192, 8, image.ImageFormat.JPEG, 8);
ImageReceiver9+
Provides APIs to obtain the surface ID of a component, read the latest image, read the next image, and release the ImageReceiver instance.
Before calling any APIs in ImageReceiver, you must create an ImageReceiver instance.
Attributes
System capability: SystemCapability.Multimedia.Image.ImageReceiver
Name | Type | Readable | Writable | Description |
---|---|---|---|---|
size | Size | Yes | No | Image size. |
capacity | number | Yes | No | Maximum number of images that can be accessed at the same time. |
format | ImageFormat | Yes | No | Image format. |
getReceivingSurfaceId9+
getReceivingSurfaceId(callback: AsyncCallback<string>): void
Obtains a surface ID for the camera or other components. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.Image.ImageReceiver
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
callback | AsyncCallback<string> | Yes | Callback used to return the surface ID. |
Example
import {BusinessError} from '@ohos.base';
receiver.getReceivingSurfaceId((err : BusinessError, id : string) => {
if(err) {
console.error('getReceivingSurfaceId failed.');
} else {
console.info('getReceivingSurfaceId succeeded.');
}
});
getReceivingSurfaceId9+
getReceivingSurfaceId(): Promise<string>
Obtains a surface ID for the camera or other components. This API uses a promise to return the result.
System capability: SystemCapability.Multimedia.Image.ImageReceiver
Return value
Type | Description |
---|---|
Promise<string> | Promise used to return the surface ID. |
Example
import {BusinessError} from '@ohos.base';
receiver.getReceivingSurfaceId().then( (id : string) => {
console.info('getReceivingSurfaceId succeeded.');
}).catch((error : BusinessError) => {
console.error('getReceivingSurfaceId failed.');
})
readLatestImage9+
readLatestImage(callback: AsyncCallback<Image>): void
Reads the latest image from the ImageReceiver instance. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.Image.ImageReceiver
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
callback | AsyncCallback<Image> | Yes | Callback used to return the latest image. |
Example
import {BusinessError} from '@ohos.base';
receiver.readLatestImage((err : BusinessError, img : image.Image) => {
if(err) {
console.error('readLatestImage failed.');
} else {
console.info('readLatestImage succeeded.');
}
});
readLatestImage9+
readLatestImage(): Promise<Image>
Reads the latest image from the ImageReceiver instance. This API uses a promise to return the result.
System capability: SystemCapability.Multimedia.Image.ImageReceiver
Return value
Type | Description |
---|---|
Promise<Image> | Promise used to return the latest image. |
Example
import {BusinessError} from '@ohos.base';
receiver.readLatestImage().then((img : image.Image) => {
console.info('readLatestImage succeeded.');
}).catch((error : BusinessError) => {
console.error('readLatestImage failed.');
})
readNextImage9+
readNextImage(callback: AsyncCallback<Image>): void
Reads the next image from the ImageReceiver instance. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.Image.ImageReceiver
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
callback | AsyncCallback<Image> | Yes | Callback used to return the next image. |
Example
import {BusinessError} from '@ohos.base';
receiver.readNextImage((err : BusinessError, img : image.Image) => {
if(err) {
console.error('readNextImage failed.');
} else {
console.info('readNextImage succeeded.');
}
});
readNextImage9+
readNextImage(): Promise<Image>
Reads the next image from the ImageReceiver instance. This API uses a promise to return the result.
System capability: SystemCapability.Multimedia.Image.ImageReceiver
Return value
Type | Description |
---|---|
Promise<Image> | Promise used to return the next image. |
Example
import {BusinessError} from '@ohos.base';
receiver.readNextImage().then((img : image.Image) => {
console.info('readNextImage succeeded.');
}).catch((error : BusinessError) => {
console.error('readNextImage failed.');
})
on9+
on(type: 'imageArrival', callback: AsyncCallback<void>): void
Listens for image arrival events.
System capability: SystemCapability.Multimedia.Image.ImageReceiver
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
type | string | Yes | Type of event to listen for. The value is fixed at imageArrival, which is triggered when an image is received. |
callback | AsyncCallback<void> | Yes | Callback invoked for the event. |
Example
receiver.on('imageArrival', () => {
// image arrival, do something.
})
release9+
release(callback: AsyncCallback<void>): void
Releases this ImageReceiver instance. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.Image.ImageReceiver
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
callback | AsyncCallback<void> | Yes | Callback used to return the result. |
Example
import {BusinessError} from '@ohos.base'
receiver.release((err : BusinessError) => {
if(err) {
console.error('release ImageReceiver failed.');
} else {
console.info('release ImageReceiver succeeded.');
}
})
release9+
release(): Promise<void>
Releases this ImageReceiver instance. This API uses a promise to return the result.
System capability: SystemCapability.Multimedia.Image.ImageReceiver
Return value
Type | Description |
---|---|
Promise<void> | Promise used to return the result. |
Example
import {BusinessError} from '@ohos.base';
receiver.release().then(() => {
console.info('release succeeded.');
}).catch((error : BusinessError) => {
console.error('release failed.');
})
image.createImageCreator9+
createImageCreator(width: number, height: number, format: number, capacity: number): ImageCreator
Creates an ImageCreator instance by specifying the image width, height, format, and capacity.
System capability: SystemCapability.Multimedia.Image.ImageCreator
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
width | number | Yes | Default image width. |
height | number | Yes | Default image height. |
format | number | Yes | Image format, for example, YCBCR_422_SP or JPEG. |
capacity | number | Yes | Maximum number of images that can be accessed at the same time. |
Return value
Type | Description |
---|---|
ImageCreator | Returns an ImageCreator instance if the operation is successful. |
Example
let creator : image.ImageCreator = image.createImageCreator(8192, 8, image.ImageFormat.JPEG, 8);
ImageCreator9+
Provides APIs for applications to request an image native data area and compile native image data. Before calling any APIs in ImageCreator, you must create an ImageCreator instance. ImageCreator does not support multiple threads.
Attributes
System capability: SystemCapability.Multimedia.Image.ImageCreator
Name | Type | Readable | Writable | Description |
---|---|---|---|---|
capacity | number | Yes | No | Maximum number of images that can be accessed at the same time. |
format | ImageFormat | Yes | No | Image format. |
dequeueImage9+
dequeueImage(callback: AsyncCallback<Image>): void
Obtains an image buffer from the idle queue and writes image data into it. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.Image.ImageCreator
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
callback | AsyncCallback<Image> | Yes | Callback used to return the drawn image. |
Example
import {BusinessError} from '@ohos.base';
creator.dequeueImage((err : BusinessError, img : image.Image) => {
if (err) {
console.error('dequeueImage failed.');
} else {
console.info('dequeueImage succeeded.');
}
});
dequeueImage9+
dequeueImage(): Promise<Image>
Obtains an image buffer from the idle queue and writes image data into it. This API uses a promise to return the result.
System capability: SystemCapability.Multimedia.Image.ImageCreator
Return value
Type | Description |
---|---|
Promise<Image> | Promise used to return the drawn image. |
Example
import {BusinessError} from '@ohos.base';
creator.dequeueImage().then((img : image.Image) => {
console.info('dequeueImage succeeded.');
}).catch((error : BusinessError) => {
console.error('dequeueImage failed: ' + error);
})
queueImage9+
queueImage(interface: Image, callback: AsyncCallback<void>): void
Places the drawn image in the dirty queue. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.Image.ImageCreator
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
interface | Image | Yes | Drawn image. |
callback | AsyncCallback<void> | Yes | Callback used to return the result. If the operation fails, an error message is returned. |
Example
import {BusinessError} from '@ohos.base';
creator.dequeueImage().then((img : image.Image) => {
// Draw the image.
img.getComponent(4).then( (component : image.Component) => {
let bufferArr : Uint8Array = new Uint8Array(component.byteBuffer);
for (let 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 : BusinessError) => {
if (err) {
console.error('queueImage failed: ' + err);
} else {
console.info('queueImage succeeded');
}
})
})
queueImage9+
queueImage(interface: Image): Promise<void>
Places the drawn image in the dirty queue. This API uses a promise to return the result.
System capability: SystemCapability.Multimedia.Image.ImageCreator
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
interface | Image | Yes | Drawn image. |
Return value
Type | Description |
---|---|
Promise<void> | Promise used to return the result. If the operation fails, an error message is returned. |
Example
import {BusinessError} from '@ohos.base';
creator.dequeueImage().then((img : image.Image) => {
// Draw the image.
img.getComponent(4).then((component : image.Component) => {
let bufferArr : Uint8Array = new Uint8Array(component.byteBuffer);
for (let 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 : BusinessError) => {
console.error('queueImage failed: ' + error);
})
})
on9+
on(type: 'imageRelease', callback: AsyncCallback<void>): void
Listens for image release events. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.Image.ImageCreator
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
type | string | Yes | Type of event, which is 'imageRelease'. |
callback | AsyncCallback<void> | Yes | Callback used to return the result. If the operation fails, an error message is returned. |
Example
import {BusinessError} from '@ohos.base';
creator.on('imageRelease', (err : BusinessError) => {
if (err) {
console.error('on faild' + err);
} else {
console.info('on succeeded');
}
})
release9+
release(callback: AsyncCallback<void>): void
Releases this ImageCreator instance. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.Image.ImageCreator
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
callback | AsyncCallback<void> | Yes | Callback used to return the result. If the operation fails, an error message is returned. |
Example
import {BusinessError} from '@ohos.base';
creator.release((err : BusinessError) => {
if (err) {
console.error('release failed: ' + err);
} else {
console.info('release succeeded');
}
});
release9+
release(): Promise<void>
Releases this ImageCreator instance. This API uses a promise to return the result.
System capability: SystemCapability.Multimedia.Image.ImageCreator
Return value
Type | Description |
---|---|
Promise<void> | Promise used to return the result. If the operation fails, an error message is returned. |
Example
import {BusinessError} from '@ohos.base';
creator.release().then(() => {
console.info('release succeeded');
}).catch((error : BusinessError) => {
console.error('release failed');
})
Image9+
Provides APIs for basic image operations, including obtaining image information and reading and writing image data. An Image instance is returned when readNextImage and readLatestImage are called.
Attributes
System capability: SystemCapability.Multimedia.Image.Core
Name | Type | Readable | Writable | Description |
---|---|---|---|---|
clipRect | Region | Yes | Yes | Image area to be cropped. |
size | Size | Yes | No | Image size. |
format | number | Yes | No | Image format. For details, see PixelMapFormat. |
getComponent9+
getComponent(componentType: ComponentType, callback: AsyncCallback<Component>): void
Obtains the component buffer from the Image instance based on the color component type. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.Image.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
componentType | ComponentType | Yes | Color component type of the image. |
callback | AsyncCallback<Component> | Yes | Callback used to return the component buffer. |
Example
import {BusinessError} from '@ohos.base';
img.getComponent(4, (err : BusinessError, component : image.Component) => {
if(err) {
console.error('getComponent failed.');
} else {
console.info('getComponent succeeded.');
}
})
getComponent9+
getComponent(componentType: ComponentType): Promise<Component>
Obtains the component buffer from the Image instance based on the color component type. This API uses a promise to return the result.
System capability: SystemCapability.Multimedia.Image.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
componentType | ComponentType | Yes | Color component type of the image. |
Return value
Type | Description |
---|---|
Promise<Component> | Promise used to return the component buffer. |
Example
import {BusinessError} from '@ohos.base';
img.getComponent(4).then((component : image.Component) => {
console.info('getComponent succeeded.');
}).catch((error : BusinessError) => {
console.error('getComponent failed');
})
release9+
release(callback: AsyncCallback<void>): void
Releases this Image instance. This API uses an asynchronous callback to return the result.
The corresponding resources must be released before another image arrives.
System capability: SystemCapability.Multimedia.Image.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
callback | AsyncCallback<void> | Yes | Callback used to return the result. |
Example
import {BusinessError} from '@ohos.base';
img.release((err : BusinessError) =>{
if (err != undefined) {
console.error('Failed to release the image source instance.');
} else {
console.info('Succeeded in releasing the image source instance.');
}
})
release9+
release(): Promise<void>
Releases this Image instance. This API uses a promise to return the result.
The corresponding resources must be released before another image arrives.
System capability: SystemCapability.Multimedia.Image.Core
Return value
Type | Description |
---|---|
Promise<void> | Promise used to return the result. |
Example
import {BusinessError} from '@ohos.base';
img.release().then(() =>{
console.info('release succeeded.');
}).catch((error : BusinessError) => {
console.error('release failed.');
})
PositionArea7+
Describes area information in an image.
System capability: SystemCapability.Multimedia.Image.Core
Name | Type | Readable | Writable | Description |
---|---|---|---|---|
pixels | ArrayBuffer | Yes | No | Pixels of the image. |
offset | number | Yes | No | Offset for data reading. |
stride | number | Yes | No | Number of bytes from one row of pixels in memory to the next row of pixels in memory. The value of stride must be greater than or equal to the value of region.size.width multiplied by 4. |
region | Region | Yes | No | Region to read or write. The width of the region to write plus the X coordinate cannot be greater than the width of the original image. The height of the region to write plus the Y coordinate cannot be greater than the height of the original image. |
ImageInfo
Describes image information.
System capability: SystemCapability.Multimedia.Image.Core
Name | Type | Readable | Writable | Description |
---|---|---|---|---|
size | Size | Yes | Yes | Image size. |
density9+ | number | Yes | Yes | Pixel density, in ppi. |
Size
Describes the size of an image.
System capability: SystemCapability.Multimedia.Image.Core
Name | Type | Readable | Writable | Description |
---|---|---|---|---|
height | number | Yes | Yes | Image height. |
width | number | Yes | Yes | Image width. |
PixelMapFormat7+
Enumerates the pixel formats of images.
System capability: SystemCapability.Multimedia.Image.Core
Name | Value | Description |
---|---|---|
UNKNOWN | 0 | Unknown format. |
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+
Enumerates the alpha types of images.
System capability: SystemCapability.Multimedia.Image.Core
Name | Value | Description |
---|---|---|
UNKNOWN | 0 | Unknown alpha type. |
OPAQUE | 1 | There is no alpha or the image is opaque. |
PREMUL | 2 | Premultiplied alpha. |
UNPREMUL | 3 | Unpremultiplied alpha, that is, straight alpha. |
ScaleMode9+
Enumerates the scale modes of images.
System capability: SystemCapability.Multimedia.Image.Core
Name | Value | Description |
---|---|---|
CENTER_CROP | 1 | Scales the image so that it fills the requested bounds of the target and crops the extra. |
FIT_TARGET_SIZE | 0 | Reduces the image size to the dimensions of the target. |
SourceOptions9+
Defines image source initialization options.
System capability: SystemCapability.Multimedia.Image.Core
Name | Type | Readable | Writable | Description |
---|---|---|---|---|
sourceDensity | number | Yes | Yes | Density of the image source. |
sourcePixelFormat | PixelMapFormat | Yes | Yes | Pixel format of the image source. |
sourceSize | Size | Yes | Yes | Pixel size of the image source. |
InitializationOptions8+
Defines pixel map initialization options.
System capability: SystemCapability.Multimedia.Image.Core
Name | Type | Readable | Writable | Description |
---|---|---|---|---|
alphaType9+ | AlphaType | Yes | Yes | Alpha type. |
editable | boolean | Yes | Yes | Whether the image is editable. |
pixelFormat | PixelMapFormat | Yes | Yes | Pixel map format. |
scaleMode9+ | ScaleMode | Yes | Yes | Scale mode. |
size | Size | Yes | Yes | Image size. |
DecodingOptions7+
Defines image decoding options.
System capability: SystemCapability.Multimedia.Image.ImageSource
Name | Type | Readable | Writable | Description |
---|---|---|---|---|
sampleSize | number | Yes | Yes | Thumbnail sampling size. Currently, this option can only be set to 1. |
rotate | number | Yes | Yes | Rotation angle. |
editable | boolean | Yes | Yes | Whether the image is editable. If this option is set to false, the image cannot be edited again, and operations such as cropping will fail. |
desiredSize | Size | Yes | Yes | Expected output size. |
desiredRegion | Region | Yes | Yes | Region to decode. |
desiredPixelFormat | PixelMapFormat | Yes | Yes | Pixel map format for decoding. |
index | number | Yes | Yes | Index of the image to decode. |
fitDensity9+ | number | Yes | Yes | Image pixel density, in ppi. |
Region7+
Describes region information.
System capability: SystemCapability.Multimedia.Image.Core
Name | Type | Readable | Writable | Description |
---|---|---|---|---|
size | Size | Yes | Yes | Region size. |
x | number | Yes | Yes | X coordinate to translate. |
y | number | Yes | Yes | Y coordinate of the region. |
PackingOption
Defines the option for image packing.
System capability: SystemCapability.Multimedia.Image.ImagePacker
Name | Type | Readable | Writable | Description |
---|---|---|---|---|
format | string | Yes | Yes | Format of the packed image. Currently, only JPG, WebP, and PNG are supported. |
quality | number | Yes | Yes | Quality of the output image in JPEG encoding. The value ranges from 1 to 100. |
bufferSize9+ | number | Yes | Yes | Size of the buffer for receiving the encoded data, in bytes. The default value is 10 MB. The value of bufferSize must be greater than the size of the encoded image. |
GetImagePropertyOptions7+
Describes image properties.
System capability: SystemCapability.Multimedia.Image.ImageSource
Name | Type | Readable | Writable | Description |
---|---|---|---|---|
index | number | Yes | Yes | Index of the image. |
defaultValue | string | Yes | Yes | Default property value. |
PropertyKey7+
Describes the exchangeable image file format (EXIF) data of an image.
System capability: SystemCapability.Multimedia.Image.Core
Name | Value | Description |
---|---|---|
BITS_PER_SAMPLE | "BitsPerSample" | Number of bits per pixel. |
ORIENTATION | "Orientation" | Image orientation. |
IMAGE_LENGTH | "ImageLength" | Image length. |
IMAGE_WIDTH | "ImageWidth" | Image width. |
GPS_LATITUDE | "GPSLatitude" | Image latitude. |
GPS_LONGITUDE | "GPSLongitude" | Image longitude. |
GPS_LATITUDE_REF | "GPSLatitudeRef" | Latitude reference, for example, N or S. |
GPS_LONGITUDE_REF | "GPSLongitudeRef" | Longitude reference, for example, W or E. |
DATE_TIME_ORIGINAL9+ | "DateTimeOriginal" | Shooting time, for example, 2022:09:06 15:48:00. Currently, this attribute is read-only. |
EXPOSURE_TIME9+ | "ExposureTime" | Exposure time, for example, 1/33 sec. Currently, this attribute is read-only. |
SCENE_TYPE9+ | "SceneType" | Shooting scene type, for example, portrait, scenery, motion, and night. Currently, this attribute is read-only. |
ISO_SPEED_RATINGS9+ | "ISOSpeedRatings" | ISO sensitivity or ISO speed, for example, 400. Currently, this attribute is read-only. |
F_NUMBER9+ | "FNumber" | Aperture, for example, f/1.8. Currently, this attribute is read-only. |
DATE_TIME10+ | "DateTime" | Date and time. Currently, this attribute is read-only. |
GPS_TIME_STAMP10+ | "GPSTimeStamp" | GPS timestamp. Currently, this attribute is read-only. |
GPS_DATE_STAMP10+ | "GPSDateStamp" | GPS date stamp. Currently, this attribute is read-only. |
IMAGE_DESCRIPTION10+ | "ImageDescription" | Image description. Currently, this attribute is read-only. |
MAKE10+ | "Make" | Manufacturer. Currently, this attribute is read-only. |
MODEL10+ | "Model" | Device model. Currently, this attribute is read-only. |
PHOTO_MODE10+ | "PhotoMode " | Photographing mode. Currently, this attribute is read-only. |
SENSITIVITY_TYPE10+ | "SensitivityType" | Sensitivity type. Currently, this attribute is read-only. |
STANDARD_OUTPUT_SENSITIVITY10+ | "StandardOutputSensitivity" | Standard output sensitivity. Currently, this attribute is read-only. |
RECOMMENDED_EXPOSURE_INDEX10+ | "RecommendedExposureIndex" | Recommended exposure index. Currently, this attribute is read-only. |
ISO_SPEED10+ | "ISOSpeedRatings" | ISO speed. Currently, this attribute is read-only. |
APERTURE_VALUE10+ | "ApertureValue" | Aperture value. Currently, this attribute is read-only. |
EXPOSURE_BIAS_VALUE10+ | "ExposureBiasValue" | Exposure bias value. Currently, this attribute is read-only. |
METERING_MODE10+ | "MeteringMode" | Metering mode. Currently, this attribute is read-only. |
LIGHT_SOURCE10+ | "LightSource" | Light source. Currently, this attribute is read-only. |
FLASH 10+ | "Flash" | Flash status. Currently, this attribute is read-only. |
FOCAL_LENGTH 10+ | "FocalLength" | Focal length. Currently, this attribute is read-only. |
USER_COMMENT 10+ | "UserComment" | User comment. Currently, this attribute is read-only. |
PIXEL_X_DIMENSION 10+ | "PixelXDimension" | Pixel X dimension. Currently, this attribute is read-only. |
PIXEL_Y_DIMENSION10+ | "PixelYDimension" | Pixel Y dimension. Currently, this attribute is read-only. |
WHITE_BALANCE 10+ | "WhiteBalance" | White balance. Currently, this attribute is read-only. |
FOCAL_LENGTH_IN_35_MM_FILM 10+ | "FocalLengthIn35mmFilm" | Focal length in 35mm film. Currently, this attribute is read-only. |
CAPTURE_MODE 10+ | "HwMnoteCaptureMode" | Capture mode. Currently, this attribute is read-only. |
PHYSICAL_APERTURE 10+ | "HwMnotePhysicalAperture" | Physical aperture. Currently, this attribute is read-only. |
ImageFormat9+
Enumerates the image formats.
System capability: SystemCapability.Multimedia.Image.Core
Name | Value | Description |
---|---|---|
YCBCR_422_SP | 1000 | YCBCR422 semi-planar format. |
JPEG | 2000 | JPEG encoding format. |
ComponentType9+
Enumerates the color component types of images.
System capability: SystemCapability.Multimedia.Image.ImageReceiver
Name | Value | Description |
---|---|---|
YUV_Y | 1 | Luminance component. |
YUV_U | 2 | Chrominance component. |
YUV_V | 3 | Chrominance component. |
JPEG | 4 | JPEG type. |
Component9+
Describes the color components of an image.
System capability: SystemCapability.Multimedia.Image.Core
Name | Type | Readable | Writable | Description |
---|---|---|---|---|
componentType | ComponentType | Yes | No | Color component type. |
rowStride | number | Yes | No | Row stride. |
pixelStride | number | Yes | No | Pixel stride. |
byteBuffer | ArrayBuffer | Yes | No | Component buffer. |
Supplementary Information
SVG Tags
The SVG tags are supported since API version 10. The used version is (SVG) 1.1. Currently, the following tags are supported:
- a
- circla
- clipPath
- defs
- ellipse
- feBlend
- feColorMatrix
- feComposite
- feDiffuseLighting
- feDisplacementMap
- feDistantLight
- feFlood
- feGaussianBlur
- feImage
- feMorphology
- feOffset
- fePointLight
- feSpecularLighting
- feSpotLight
- feTurbulence
- filter
- g
- image
- line
- linearGradient
- mask
- path
- pattern
- polygon
- polyline
- radialGradient
- rect
- stop
- svg
- text
- textPath
- tspan
- use