@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
const color = 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 = new Uint8Array(color);
let opts = { editable: true, pixelFormat: 3, size: { height: 4, width: 6 } }
image.createPixelMap(color, opts).then((pixelmap) => {
console.log('Succeeded in creating pixelmap.');
}).catch(error => {
console.log('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
const color = 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 = new Uint8Array(color);
let opts = { editable: true, pixelFormat: 3, size: { height: 4, width: 6 } }
image.createPixelMap(color, opts, (error, pixelmap) => {
if(error) {
console.log('Failed to create pixelmap.');
} else {
console.log('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.
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
const readBuffer = 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.log('Succeeded in reading image pixel data.'); // Called if the condition is met.
}).catch(error => {
console.log('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
const readBuffer = 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, res) => {
if(err) {
console.log('Failed to read image pixel data.'); // Called if no condition is met.
} else {
console.log('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 data read.
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
const area = {
pixels: new ArrayBuffer(8),
offset: 0,
stride: 8,
region: { size: { height: 1, width: 2 }, x: 0, y: 0 }
}
pixelmap.readPixels(area).then(() => {
console.log('Succeeded in reading the image data in the area.'); // Called if the condition is met.
}).catch(error => {
console.log('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 data read.
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
const color = 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 = new Uint8Array(color);
let opts = { editable: true, pixelFormat: 3, size: { height: 4, width: 6 } }
image.createPixelMap(color, opts, (err, pixelmap) => {
if(pixelmap == undefined){
console.info('createPixelMap failed.');
} else {
const area = { pixels: new ArrayBuffer(8),
offset: 0,
stride: 8,
region: { size: { height: 1, width: 2 }, x: 0, y: 0 }};
pixelmap.readPixels(area, () => {
console.info('readPixels success');
})
}
})
writePixels7+
writePixels(area: PositionArea): Promise<void>
Writes image pixel map data to an area. This API uses a promise to return the operation 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
const color = 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 = new Uint8Array(color);
let opts = { editable: true, pixelFormat: 3, size: { height: 4, width: 6 } }
image.createPixelMap(color, opts)
.then( pixelmap => {
if (pixelmap == undefined) {
console.info('createPixelMap failed.');
}
const area = { pixels: new ArrayBuffer(8),
offset: 0,
stride: 8,
region: { size: { height: 1, width: 2 }, x: 0, y: 0 }
}
let bufferArr = new Uint8Array(area.pixels);
for (var 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 => {
console.log('error: ' + error);
})
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 operation 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
const area = { pixels: new ArrayBuffer(8),
offset: 0,
stride: 8,
region: { size: { height: 1, width: 2 }, x: 0, y: 0 }
}
let bufferArr = new Uint8Array(area.pixels);
for (var i = 0; i < bufferArr.length; i++) {
bufferArr[i] = i + 1;
}
pixelmap.writePixels(area, (error) => {
if (error != undefined) {
console.info('Failed to write pixelmap into the specified area.');
} 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
const color = 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 = new Uint8Array(color);
for (var i = 0; i < bufferArr.length; i++) {
bufferArr[i] = i + 1;
}
pixelmap.writeBufferToPixels(color).then(() => {
console.log("Succeeded in writing data from a buffer to a PixelMap.");
}).catch((err) => {
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
const color = 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 = new Uint8Array(color);
for (var i = 0; i < bufferArr.length; i++) {
bufferArr[i] = i + 1;
}
pixelmap.writeBufferToPixels(color, function(err) {
if (err) {
console.error("Failed to write data from a buffer to a PixelMap.");
return;
} else {
console.log("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 information.
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
const color = 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 = { editable: true, pixelFormat: 2, size: { height: 6, width: 8 } }
image.createPixelMap(color, opts).then(pixelmap => {
if (pixelmap == undefined) {
console.error("Failed to obtain the image pixel map information.");
}
pixelmap.getImageInfo().then(imageInfo => {
if (imageInfo == undefined) {
console.error("Failed to obtain the image pixel map information.");
}
if (imageInfo.size.height == 4 && imageInfo.size.width == 6) {
console.log("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 information.
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
const color = 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 = { editable: true, pixelFormat: 3, size: { height: 4, width: 6 } }
image.createPixelMap(color, opts, (err, pixelmap) => {
if (pixelmap == undefined) {
console.error("Failed to obtain the image pixel map information.");
}
pixelmap.getImageInfo((err, imageInfo) => {
if (imageInfo == undefined) {
console.error("Failed to obtain the image pixel map information.");
}
if (imageInfo.size.height == 4 && imageInfo.size.width == 6) {
console.log("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
const color = 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 = new Uint8Array(color);
let opts = { editable: true, pixelFormat: 3, size: { height: 4, width: 6 } }
image.createPixelMap(color, opts, (err,pixelmap) => {
let rowCount = 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 = 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 = 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. The value ranges from 0 to 1. |
callback | AsyncCallback<void> | Yes | Callback used to return the result. If the operation fails, an error message is returned. |
Example
var rate = 0.5;
pixelmap.opacity(rate, (err) => {
if (err) {
console.error("Failed to set opacity.");
return;
} else {
console.log("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. The value ranges from 0 to 1. |
Return value
Type | Description |
---|---|
Promise<void> | Promise used to return the result. If the operation fails, an error message is returned. |
Example
async function Demo() {
await pixelmap.opacity(0.5);
}
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
async function Demo() {
await pixelmap.createAlphaPixelmap();
}
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
pixelmap.createAlphaPixelmap((err, alphaPixelMap) => {
if (alphaPixelMap == undefined) {
console.info('Failed to obtain new pixel map.');
} 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 ratio of the width. |
y | number | Yes | Scaling ratio of the height. |
callback | AsyncCallback<void> | Yes | Callback used to return the result. If the operation fails, an error message is returned. |
Example
async function Demo() {
await pixelmap.scale(2.0, 1.0);
}
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 ratio of the width. |
y | number | Yes | Scaling ratio of the height. |
Return value
Type | Description |
---|---|
Promise<void> | Promise used to return the result. |
Example
async function Demo() {
await pixelmap.scale(2.0, 1.0);
}
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
async function Demo() {
await pixelmap.translate(3.0, 1.0);
}
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
async function Demo() {
await pixelmap.translate(3.0, 1.0);
}
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
var angle = 90.0;
pixelmap.rotate(angle, (err) => {
if (err) {
console.error("Failed to set rotation.");
return;
} else {
console.log("Succeeded in setting rotation.");
}
})
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
async function Demo() {
await pixelmap.rotate(90.0);
}
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
async function Demo() {
await pixelmap.flip(false, true);
}
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
async function Demo() {
await pixelmap.flip(false, true);
}
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
async function Demo() {
await pixelmap.crop({ x: 0, y: 0, size: { height: 100, width: 100 } });
}
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
async function Demo() {
await pixelmap.crop({ x: 0, y: 0, size: { height: 100, width: 100 } });
}
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
pixelmap.release().then(() => {
console.log('Succeeded in releasing pixelmap object.');
}).catch(error => {
console.log('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
pixelmap.release(() => {
console.log('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. |
Return value
Type | Description |
---|---|
ImageSource | Returns the ImageSource instance if the operation is successful; returns undefined otherwise. |
Example
// Stage model
const context = getContext(this);
const path = context.cacheDir() + "/test.jpg";
const imageSourceApi = image.createImageSource(path);
// FA model
import featureAbility from '@ohos.ability.featureAbility';
const context = featureAbility.getContext();
const path = context.getCacheDir() + "/test.jpg";
const imageSourceApi = 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. |
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
var sourceOptions = { sourceDensity: 120 };
let 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.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
var sourceOptions = { sourceDensity: 120 };
const imageSourceApi = 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. |
Example
const buf = 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.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 = new ArrayBuffer(112);
const imageSourceApi = image.createImageSource(data);
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 = 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.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 = 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.CreateIncrementalSource(buf);
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 information.
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
imageSourceApi.getImageInfo(0,(error, imageInfo) => {
if(error) {
console.log('getImageInfo failed.');
} else {
console.log('getImageInfo succeeded.');
}
})
getImageInfo
getImageInfo(callback: AsyncCallback<ImageInfo>): void
Obtains information about this image. This API uses an asynchronous callback to return the information.
System capability: SystemCapability.Multimedia.Image.ImageSource
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
callback | AsyncCallback<ImageInfo> | Yes | Callback used to return the image information. |
Example
imageSourceApi.getImageInfo(imageInfo => {
console.log('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 image information.
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
imageSourceApi.getImageInfo(0)
.then(imageInfo => {
console.log('Succeeded in obtaining the image information.');
}).catch(error => {
console.log('Failed to obtain the image information.');
})
getImageProperty7+
getImageProperty(key:string, options?: GetImagePropertyOptions): Promise<string>
Obtains the value of a property with the specified index in this image. This API uses a promise to return the result.
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
imageSourceApi.getImageProperty("BitsPerSample")
.then(data => {
console.log('Succeeded in getting the value of the specified attribute key of the image.');
})
getImageProperty7+
getImageProperty(key:string, callback: AsyncCallback<string>): void
Obtains the value of a property with the specified index in this image. This API uses an asynchronous callback to return the result.
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
imageSourceApi.getImageProperty("BitsPerSample",(error,data) => {
if(error) {
console.log('Failed to get the value of the specified attribute key of the image.');
} else {
console.log('Succeeded in getting the value of the specified attribute key of the image.');
}
})
getImageProperty7+
getImageProperty(key:string, options: GetImagePropertyOptions, callback: AsyncCallback<string>): void
Obtains the value of a property in this image. This API uses an asynchronous callback to return the property value in a string.
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
let property = { index: 0, defaultValue: '9999' }
imageSourceApi.getImageProperty("BitsPerSample",property,(error,data) => {
if(error) {
console.log('Failed to get the value of the specified attribute key of the image.');
} else {
console.log('Succeeded in getting the value of the specified attribute key of the image.');
}
})
modifyImageProperty9+
modifyImageProperty(key: string, value: string): Promise<void>
Modifies the value of a property in this image. This API uses a promise to return the result.
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
imageSourceApi.modifyImageProperty("ImageWidth", "120").then(() => {
const w = imageSourceApi.getImageProperty("ImageWidth")
console.info('w', w);
})
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.
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
imageSourceApi.modifyImageProperty("ImageWidth", "120",() => {})
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
const array = new ArrayBuffer(100);
imageSourceApi.updateData(array, false, 0, 10).then(data => {
console.info('Succeeded in updating data.');
})
updateData9+
updateData(buf: ArrayBuffer, isFinished: boolean, value: number, length: number, callback: AsyncCallback<void>): void
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
const array = new ArrayBuffer(100);
imageSourceApi.updateData(array, false, 0, 10,(error,data )=> {
if(data !== undefined){
console.info('Succeeded in updating data.');
}
})
createPixelMap7+
createPixelMap(options?: DecodingOptions): Promise<PixelMap>
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
imageSourceApi.createPixelMap().then(pixelmap => {
console.log('Succeeded in creating pixelmap object through image decoding parameters.');
}).catch(error => {
console.log('Failed to create pixelmap object through image decoding parameters.');
})
createPixelMap7+
createPixelMap(callback: AsyncCallback<PixelMap>): void
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
imageSourceApi.createPixelMap((err, pixelmap) => {
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
let decodingOptions = {
sampleSize: 1,
editable: true,
desiredSize: { width: 1, height: 2 },
rotate: 10,
desiredPixelFormat: 3,
desiredRegion: { size: { height: 1, width: 2 }, x: 0, y: 0 },
index: 0
};
imageSourceApi.createPixelMap(decodingOptions, pixelmap => {
console.log('Succeeded in creating pixelmap object.');
})
release
release(callback: AsyncCallback<void>): void
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
imageSourceApi.release(() => {
console.log('release succeeded.');
})
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
imageSourceApi.release().then(()=>{
console.log('Succeeded in releasing the image source instance.');
}).catch(error => {
console.log('Failed to release the image source instance.');
})
image.createImagePacker
createImagePacker(): ImagePacker
Creates an ImagePacker instance.
System capability: SystemCapability.Multimedia.Image.ImagePacker
Return value
Type | Description |
---|---|
ImagePacker | ImagePacker instance created. |
Example
const imagePackerApi = 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 and WebP are supported.
Attributes
System capability: SystemCapability.Multimedia.Image.ImagePacker
Name | Type | Readable | Writable | Description |
---|---|---|---|---|
supportedFormats | Array<string> | Yes | No | Supported image format, which can be jpeg. |
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
const imageSourceApi = image.createImageSource(0);
let packOpts = { format:"image/jpeg", quality:98 };
imagePackerApi.packing(imageSourceApi, packOpts, data => {})
packing
packing(source: ImageSource, option: PackingOption): Promise<ArrayBuffer>
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
const imageSourceApi = image.createImageSource(0);
let packOpts = { format:"image/jpeg", quality:98 }
imagePackerApi.packing(imageSourceApi, packOpts)
.then( data => {
console.log('packing succeeded.');
}).catch(error => {
console.log('packing failed.');
})
packing8+
packing(source: PixelMap, option: PackingOption, callback: AsyncCallback<ArrayBuffer>): void
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
const color = 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 = new Uint8Array(color);
let opts = { editable: true, pixelFormat: 3, size: { height: 4, width: 6 } }
image.createPixelMap(color, opts).then((pixelmap) => {
let packOpts = { format:"image/jpeg", quality:98 }
imagePackerApi.packing(pixelmap, packOpts, data => {
console.log('Succeeded in packing the image.');
})
})
packing8+
packing(source: PixelMap, option: PackingOption): Promise<ArrayBuffer>
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
const color = 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 = new Uint8Array(color);
let opts = { editable: true, pixelFormat: 3, size: { height: 4, width: 6 } }
image.createPixelMap(color, opts).then((pixelmap) => {
let packOpts = { format:"image/jpeg", quality:98 }
imagePackerApi.packing(pixelmap, packOpts)
.then( data => {
console.log('Succeeded in packing the image.');
}).catch(error => {
console.log('Failed to pack the image..');
})
})
release
release(callback: AsyncCallback<void>): void
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
imagePackerApi.release(()=>{
console.log('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
imagePackerApi.release().then(()=>{
console.log('Succeeded in releasing image packaging.');
}).catch((error)=>{
console.log('Failed to release image packaging.');
})
image.createImageReceiver9+
createImageReceiver(width: number, height: number, format: number, capacity: number): ImageReceiver
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. (Only ImageFormat:JPEG and 4 are 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
var receiver = image.createImageReceiver(8192, 8, 2000, 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
receiver.getReceivingSurfaceId((err, id) => {
if(err) {
console.log('getReceivingSurfaceId failed.');
} else {
console.log('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
receiver.getReceivingSurfaceId().then( id => {
console.log('getReceivingSurfaceId succeeded.');
}).catch(error => {
console.log('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
receiver.readLatestImage((err, img) => {
if(err) {
console.log('readLatestImage failed.');
} else {
console.log('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
receiver.readLatestImage().then(img => {
console.log('readLatestImage succeeded.');
}).catch(error => {
console.log('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
receiver.readNextImage((err, img) => {
if(err) {
console.log('readNextImage failed.');
} else {
console.log('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
receiver.readNextImage().then(img => {
console.log('readNextImage succeeded.');
}).catch(error => {
console.log('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', () => {})
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
receiver.release(() => {})
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
receiver.release().then(() => {
console.log('release succeeded.');
}).catch(error => {
console.log('release failed.');
})
image.createImageCreator9+
createImageCreator(width: number, height: number, format: number, capacity: number): ImageCreator
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
var creator = image.createImageCreator(8192, 8, 4, 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.
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
creator.dequeueImage((err, img) => {
if (err) {
console.info('dequeueImage failed.');
}
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
creator.dequeueImage().then(img => {
console.info('dequeueImage succeeded.');
}).catch(error => {
console.log('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
creator.dequeueImage().then(img => {
// Draw the image.
img.getComponent(4).then(component => {
var bufferArr = new Uint8Array(component.byteBuffer);
for (var i = 0; i < bufferArr.length; i += 4) {
bufferArr[i] = 0; //B
bufferArr[i + 1] = 0; //G
bufferArr[i + 2] = 255; //R
bufferArr[i + 3] = 255; //A
}
})
creator.queueImage(img, (err) => {
if (err) {
console.info('queueImage failed: ' + err);
}
console.info('queueImage succeeded');
})
})
queueImage9+
queueImage(interface: Image): Promise<void>
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
creator.dequeueImage().then(img => {
// Draw the image.
img.getComponent(4).then(component => {
var bufferArr = new Uint8Array(component.byteBuffer);
for (var i = 0; i < bufferArr.length; i += 4) {
bufferArr[i] = 0; //B
bufferArr[i + 1] = 0; //G
bufferArr[i + 2] = 255; //R
bufferArr[i + 3] = 255; //A
}
})
creator.queueImage(img).then(() => {
console.info('queueImage succeeded.');
}).catch(error => {
console.info('queueImage failed: ' + error);
})
})
on9+
on(type: 'imageRelease', callback: AsyncCallback<void>): void
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
creator.on('imageRelease', (err) => {
if (err) {
console.info('on faild' + err);
}
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
creator.release((err) => {
if (err) {
console.info('release failed: ' + err);
}
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
creator.release().then(() => {
console.info('release succeeded');
}).catch(error => {
console.info('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
img.getComponent(4, (err, component) => {
if(err) {
console.log('getComponent failed.');
} else {
console.log('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
img.getComponent(4).then(component => { })
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
img.release(() =>{
console.log('release succeeded.');
})
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
img.release().then(() =>{
console.log('release succeeded.');
}).catch(error => {
console.log('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. |
rotate | number | Yes | Yes | Rotation angle. |
editable | boolean | Yes | Yes | Whether the image is editable. |
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. Only the JPG and WebP formats 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 | Buffer size, which is used to set the image size. The default value is 10 MB. |
GetImagePropertyOptions7+
Describes image properties.
System capability: SystemCapability.Multimedia.Image.ImageSource
Name | Type | Readable | Writable | Description |
---|---|---|---|---|
index | number | Yes | Yes | Index of an 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. |
EXPOSURE_TIME9+ | "ExposureTime" | Exposure time, for example, 1/33 sec. |
SCENE_TYPE9+ | "SceneType" | Shooting scene type, for example, portrait, scenery, motion, and night. |
ISO_SPEED_RATINGS9+ | "ISOSpeedRatings" | ISO sensitivity or ISO speed, for example, 400. |
F_NUMBER9+ | "FNumber" | Aperture, for example, f/1.8. |
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. |
ResponseCode
Enumerates the response codes returned upon build errors.
Name | Value | Description |
---|---|---|
ERR_MEDIA_INVALID_VALUE | -1 | Invalid value. |
SUCCESS | 0 | Operation successful. |
ERROR | 62980096 | Operation failed. |
ERR_IPC | 62980097 | IPC error. |
ERR_SHAMEM_NOT_EXIST | 62980098 | The shared memory does not exist. |
ERR_SHAMEM_DATA_ABNORMAL | 62980099 | The shared memory is abnormal. |
ERR_IMAGE_DECODE_ABNORMAL | 62980100 | An error occurs during image decoding. |
ERR_IMAGE_DATA_ABNORMAL | 62980101 | The input image data is incorrect. |
ERR_IMAGE_MALLOC_ABNORMAL | 62980102 | An error occurs during image memory allocation. |
ERR_IMAGE_DATA_UNSUPPORT | 62980103 | Unsupported image type. |
ERR_IMAGE_INIT_ABNORMAL | 62980104 | An error occurs during image initialization. |
ERR_IMAGE_GET_DATA_ABNORMAL | 62980105 | An error occurs during image data retrieval. |
ERR_IMAGE_TOO_LARGE | 62980106 | The image data is too large. |
ERR_IMAGE_TRANSFORM | 62980107 | An error occurs during image transformation. |
ERR_IMAGE_COLOR_CONVERT | 62980108 | An error occurs during image color conversion. |
ERR_IMAGE_CROP | 62980109 | An error occurs during image cropping. |
ERR_IMAGE_SOURCE_DATA | 62980110 | The image source data is incorrect. |
ERR_IMAGE_SOURCE_DATA_INCOMPLETE | 62980111 | The image source data is incomplete. |
ERR_IMAGE_MISMATCHED_FORMAT | 62980112 | The image formats do not match. |
ERR_IMAGE_UNKNOWN_FORMAT | 62980113 | Unknown image format. |
ERR_IMAGE_SOURCE_UNRESOLVED | 62980114 | The image source is not parsed. |
ERR_IMAGE_INVALID_PARAMETER | 62980115 | Invalid image parameter. |
ERR_IMAGE_DECODE_FAILED | 62980116 | Decoding failed. |
ERR_IMAGE_PLUGIN_REGISTER_FAILED | 62980117 | Failed to register the plug-in. |
ERR_IMAGE_PLUGIN_CREATE_FAILED | 62980118 | Failed to create the plug-in. |
ERR_IMAGE_ENCODE_FAILED | 62980119 | Failed to encode the image. |
ERR_IMAGE_ADD_PIXEL_MAP_FAILED | 62980120 | Failed to add the image pixel map. |
ERR_IMAGE_HW_DECODE_UNSUPPORT | 62980121 | Unsupported image hardware decoding. |
ERR_IMAGE_DECODE_HEAD_ABNORMAL | 62980122 | The image decoding header is incorrect. |
ERR_IMAGE_DECODE_EXIF_UNSUPPORT | 62980123 | EXIF decoding is not supported. |
ERR_IMAGE_PROPERTY_NOT_EXIST | 62980124 | The image property does not exist. The error codes for the image start from 150. |
ERR_IMAGE_READ_PIXELMAP_FAILED | 62980246 | Failed to read the pixel map. |
ERR_IMAGE_WRITE_PIXELMAP_FAILED | 62980247 | Failed to write the pixel map. |
ERR_IMAGE_PIXELMAP_NOT_ALLOW_MODIFY | 62980248 | Modification to the pixel map is not allowed. |
ERR_IMAGE_CONFIG_FAILED | 62980259 | The configuration is incorrect. |