BarcodeDetector: phương thức detect()
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Note: This feature is available in Web Workers.
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Phương thức detect() của giao diện BarcodeDetector trả về một Promise được hoàn thành với một Array các mã vạch được phát hiện trong một ảnh.
Cú pháp
detect(imageBitmapSource)
Tham số
imageBitmapSource-
Nhận một nguồn ảnh làm tham số. Đây có thể là một
HTMLImageElement, mộtSVGImageElement, mộtHTMLVideoElement, mộtHTMLCanvasElement, mộtImageBitmap, mộtOffscreenCanvas, mộtVideoFrame, mộtBlobkiểu ảnh hoặc một đối tượngImageData.
Giá trị trả về
Trả về một Promise được hoàn thành với một mảng các đối tượng DetectedBarcode có các thuộc tính sau:
boundingBox-
Một
DOMRectReadOnly, trả về kích thước của một hình chữ nhật biểu diễn phạm vi của mã vạch được phát hiện, được căn theo ảnh. cornerPoints-
Tọa độ x và y của bốn điểm góc của mã vạch được phát hiện tương đối với ảnh, bắt đầu từ góc trên bên trái và đi theo chiều kim đồng hồ. Hình này có thể không vuông do biến dạng phối cảnh trong ảnh.
format-
Định dạng mã vạch được phát hiện. (Để xem danh sách đầy đủ các định dạng, hãy xem định dạng mã vạch được hỗ trợ.)
rawValue-
Một chuỗi được giải mã từ dữ liệu mã vạch.
Ngoại lệ
TypeError-
Được ném ra nếu không có tham số nào được chỉ định hoặc
typekhông phải là mộtImageBitmapSource. SecurityErrorDOMException-
Được ném ra nếu
imageBitmapSourcecó một origin và không trùng với origin của tài liệu, hoặc nếuimageBitmapSourcelà mộtHTMLCanvasElementvà cờ origin-clean của nó được đặt thànhfalse. InvalidStateErrorDOMException-
Được ném ra nếu
imageBitmapSourcelà mộtHTMLImageElementvà chưa được giải mã hoàn toàn hoặc việc giải mã thất bại, hoặc là mộtHTMLVideoElementvàreadyStatecủa nó làHAVE_NOTHINGhoặcHAVE_METADATA.
Ví dụ
Ví dụ này dùng phương thức detect() để phát hiện các mã vạch trong ảnh đã cho. Các mã vạch này sau đó được lặp qua và dữ liệu mã vạch được ghi ra bảng điều khiển.
barcodeDetector
.detect(imageEl)
.then((barcodes) => {
barcodes.forEach((barcode) => console.log(barcode.rawValue));
})
.catch((err) => {
console.error(err);
});
Thông số kỹ thuật
| Specification |
|---|
| Accelerated Shape Detection in Images> # dom-barcodedetector-detect> |