BarcodeDetector
注意:此功能在 Web Workers 中可用。
BarcodeDetector 介面(屬於 Barcode Detection API)允許在影像中檢測線性條形碼和二維條形碼。
建構函式
BarcodeDetector.BarcodeDetector()實驗性-
建立一個並返回一個
BarcodeDetector物件,可以帶有可選的BarcodeDetectorOptions。
靜態方法
例項方法
detect()實驗性-
返回一個
Promise,該 Promise 會 fulfilled 一個包含DetectedBarcode物件的陣列,每個物件具有以下屬性:boundingBox:一個DOMRectReadOnly物件,表示在影像中檢測到的條形碼的邊界矩形及其尺寸。cornerPoints:檢測到的條形碼的四個角點的 x 和 y 座標,相對於影像,從左上角開始順時針排列。由於影像中的透視失真,這可能不是一個正方形。format:檢測到的條形碼格式。(有關格式的完整列表,請參閱 支援的條形碼格式 列表。)rawValue:從條形碼資料解碼出的字串。
示例
建立檢測器
此示例建立一個新的條形碼檢測器物件,指定支援的格式並測試瀏覽器相容性。
js
// check compatibility
if (!("BarcodeDetector" in globalThis)) {
console.log("Barcode Detector is not supported by this browser.");
} else {
console.log("Barcode Detector supported!");
// create new detector
const barcodeDetector = new BarcodeDetector({
formats: ["code_39", "codabar", "ean_13"],
});
}
獲取支援的格式
以下示例呼叫 getSupportFormat() 靜態方法並將結果記錄到控制檯。
js
// check supported types
BarcodeDetector.getSupportedFormats().then((supportedFormats) => {
supportedFormats.forEach((format) => console.log(format));
});
檢測條形碼
此示例使用 detect() 方法檢測給定影像中的條形碼。然後遍歷這些條形碼,並將條形碼資料記錄到控制檯。
js
barcodeDetector
.detect(imageEl)
.then((barcodes) => {
barcodes.forEach((barcode) => console.log(barcode.rawValue));
})
.catch((err) => {
console.log(err);
});
規範
| 規範 |
|---|
| 影像中的加速形狀檢測 # barcode-detection-api |
瀏覽器相容性
載入中…