BarcodeDetector: detect()-Methode

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.

Die detect()-Methode der BarcodeDetector-Schnittstelle gibt ein Promise zurück, das mit einem Array von erkannten Barcodes in einem Bild erfüllt wird.

Syntax

js
detect(imageBitmapSource)

Parameter

imageBitmapSource

Empfängt eine Bildquelle als Parameter. Dies kann ein HTMLImageElement, ein SVGImageElement, ein HTMLVideoElement, ein HTMLCanvasElement, ein ImageBitmap, ein OffscreenCanvas, ein VideoFrame, ein Blob vom Typ Bild oder ein ImageData-Objekt sein.

Rückgabewert

Gibt ein Promise zurück, das mit einem Array von DetectedBarcode-Objekten mit folgenden Eigenschaften erfüllt wird:

boundingBox

Ein DOMRectReadOnly, das die Abmessungen eines Rechtecks zurückgibt, das den Umfang eines erkannten Barcodes darstellt, ausgerichtet mit dem Bild.

cornerPoints

Die x- und y-Koordinaten der vier Eckpunkte des erkannten Barcodes relativ zum Bild, beginnend mit der oberen linken Ecke und im Uhrzeigersinn. Aufgrund von perspektivischen Verzerrungen im Bild muss dies möglicherweise nicht quadratisch sein.

format

Das erkannte Barcode-Format. (Für eine vollständige Liste der Formate siehe die unterstützten Barcode-Formate).

rawValue

Ein Zeichenfolge, die aus den Barcodedaten dekodiert wurde.

Ausnahmen

TypeError

Wird ausgelöst, wenn kein Parameter angegeben wird oder der type nicht dem eines ImageBitmapSource entspricht.

SecurityError DOMException

Wird ausgelöst, wenn die imageBitmapSource einen Ursprung hat, der nicht mit dem Ursprung des Dokuments übereinstimmt, oder wenn die imageBitmapSource ein HTMLCanvasElement ist und das Origin-Clean-Flag auf false gesetzt ist.

InvalidStateError DOMException

Wird ausgelöst, wenn die imageBitmapSource ein HTMLImageElement ist und nicht vollständig decodiert ist oder das Decodieren fehlgeschlagen ist, oder wenn sie ein HTMLVideoElement ist und der readyState HAVE_NOTHING oder HAVE_METADATA ist.

Beispiele

Dieses Beispiel verwendet die detect()-Methode, um die Barcodes im angegebenen Bild zu erkennen. Diese werden iteriert und die Barcodedaten werden in der Konsole protokolliert.

js
barcodeDetector
  .detect(imageEl)
  .then((barcodes) => {
    barcodes.forEach((barcode) => console.log(barcode.rawValue));
  })
  .catch((err) => {
    console.error(err);
  });

Spezifikationen

Specification
Accelerated Shape Detection in Images
# dom-barcodedetector-detect

Browser-Kompatibilität

BCD tables only load in the browser