web api instance method
BarcodeDetector: detect() method
Secure contextAvailable in workersLimited availability
The detect() method of the
BarcodeDetector interface returns a Promise which fulfills
with an Array of detected barcodes within an image.
Syntax
detect(imageBitmapSource)
Parameters
imageBitmapSource- : Receives an image source as a parameter. This can be a
HTMLImageElement, aSVGImageElement, aHTMLVideoElement, aHTMLCanvasElement, anImageBitmap, anOffscreenCanvas, aVideoFrame, aBlobof type image or anImageDataobject.
- : Receives an image source as a parameter. This can be a
Return value
Returns a Promise which fulfills with an array of
DetectedBarcode objects with the following properties:
boundingBox- : A
DOMRectReadOnly, which returns the dimensions of a rectangle representing the extent of a detected barcode, aligned with the image.
- : A
cornerPoints- : The x and y co-ordinates of the four corner points of the detected barcode relative to the image, starting with the top left and working clockwise. This may not be square due to perspective distortions within the image.
format- : The detected barcode format. (For a full list of formats see the supported barcode format).
rawValue- : A string decoded from the barcode data.
Exceptions
TypeError- : Thrown if no parameter is specified or the
typeis not that of anImageBitmapSource.
- : Thrown if no parameter is specified or the
SecurityErrorDOMException- : Thrown if the
imageBitmapSourcehas an origin and is not the same as the document’s origin, or if theimageBitmapSourceis aHTMLCanvasElementand its origin-clean flag is set tofalse.
- : Thrown if the
InvalidStateErrorDOMException- : Thrown if the
imageBitmapSourceis anHTMLImageElementand is not fully decoded or decoding failed, or is anHTMLVideoElementand itsreadyStateisHAVE_NOTHINGorHAVE_METADATA.
- : Thrown if the
Examples
This example uses the detect() method to detect the barcodes within the
given image. These are iterated over and the barcode data is logged to the console.
barcodeDetector
.detect(imageEl)
.then((barcodes) => {
barcodes.forEach((barcode) => console.log(barcode.rawValue));
})
.catch((err) => {
console.error(err);
});
Specifications
SpecificationsStandards references are available on the canonical MDN page.
Browser compatibility
Browser compatibilityCompatibility data is available on the canonical MDN page.