BarcodeDetector: метод detect()
Ограниченная доступность
Эта функция не является Baseline, поскольку она не работает в некоторых из самых широко используемых браузеров.
Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или во всех поддерживающих браузерах.
Примечание: Эта функция доступна в Web Workers.
Экспериментальная: Это экспериментальная технология
Перед использованием в продакшене внимательно изучите таблицу совместимости с браузерами.
Метод detect() интерфейса BarcodeDetector возвращает Promise, который выполняется с массивом Array обнаруженных штрихкодов в изображении.
Синтаксис
detect(imageBitmapSource)
Параметры
imageBitmapSource-
Принимает на вход источник изображения. Это может быть
HTMLImageElement,SVGImageElement,HTMLVideoElement,HTMLCanvasElement,ImageBitmap,OffscreenCanvas,VideoFrame,Blobтипа изображения или объектImageData.
Значение возврата
Возвращает Promise, который выполняется с массивом объектов DetectedBarcode, содержащих следующие свойства:
boundingBox-
Объект
DOMRectReadOnly, возвращающий размеры прямоугольника, представляющего собой границы обнаруженного штрихкода, выровненного с изображением. cornerPoints-
Координаты x и y четырёх угловых точек обнаруженного штрихкода относительно изображения, начиная с левого верхнего угла и двигаясь по часовой стрелке. Может не быть квадратным из-за искажений перспективы на изображении.
format-
Обнаруженный формат штрихкода. (Полный список форматов см. в поддерживаемых форматах штрихкодов).
rawValue-
Строка, декодированная из данных штрихкода.
Исключения
TypeError-
Бросается, если не указан параметр или тип
typeне соответствуетImageBitmapSource. -
SecurityErrorDOMException -
Бросается, если у
imageBitmapSourceесть origin, который не совпадает с origin документа, или еслиimageBitmapSourceявляется элементомHTMLCanvasElementи флаг origin-clean установлен в значениеfalse. -
InvalidStateErrorDOMException -
Бросается, если
imageBitmapSourceявляется элементомHTMLImageElementи не полностью декодирован или декодирование не удалось, или является элементомHTMLVideoElementи его свойствоreadyStateравноHAVE_NOTHINGилиHAVE_METADATA.
Примеры
В этом примере используется метод detect() для обнаружения штрихкодов на заданном изображении. Эти штрихкоды перебираются, и данные о штрихкодах регистрируются в консоли.
barcodeDetector
.detect(imageEl)
.then((barcodes) => {
barcodes.forEach((barcode) => console.log(barcode.rawValue));
})
.catch((err) => {
console.error(err);
});
Технические характеристики
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
detect |
88Поддерживается только на ChromeOS и macOS.83–88Поддерживается только на macOS. |
83Поддерживается только на macOS. |
Нет | 69Поддерживается только на macOS. |
17 | 83 | Нет | 59 | 17 | 13.0 | 83 |
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/BarcodeDetector/detect