注:因要调用手机后置摄像头需要在手机预览,PC无效。
更新时间:2021-03-22 21:29:58
开箱即用支持网络摄像头扫描
使用浏览器的本地BarcodeDetector(如果有)
轻量级:50.5 kB(13.0 kB压缩),通过Google的闭包编译器最小化。如果本地的BarcodeDetector可用,则仅加载6.8 kB(压缩后的2.7 kB)。
改进的性能并减少了内存占用。
在WebWorker中运行,该WebWorker使主/ UI线程保持响应状态。
可以配置为在彩色二维码上获得更好的性能。
该库提供了一种实用程序方法,用于检查设备是否具有相机。这对于确定是否向用户提供QR网络摄像头扫描功能很有用。
QrScanner.hasCamera(); // async
彩色反转模式
默认情况下,扫描仪会在明亮的背景上扫描深色二维码。 您可以更改此行为以扫描深色背景上的明亮二维码或同时扫描两者:
qrScanner.setInversionMode(inversionMode);
颜色更正
更改灰度计算中红色、绿色和蓝色的权重,以提高特定颜色的 QR 代码的对比度:
qrScanner.setGrayscaleWeights(red, green, blue, useIntegerApproximation = true);
如果useIntegerApproximation === true,则红色,绿色和蓝色的总和应为256,否则为1。 默认情况下,使用这些值。
闪光灯支持
在支持的浏览器上,您可以检查使用的相机是否带有闪光灯,然后将其打开或关闭。 请注意,必须先调用并等待qrScanner.start()
qrScanner.hasFlash(); //检查浏览器和手相机是否支持打开闪光灯; 异步。 qrScanner.isFlashOn(); // 检查闪光灯是否打开 qrScanner.turnFlashOn(); //如果支持,请打开闪光灯; 异步的 qrScanner.turnFlashOff(); //如果支持,请关闭闪光灯; 异步的 qrScanner.toggleFlash(); //切换闪光灯(如果支持); 异步。
清理
如果您不再需要QR扫描仪,您可以将其销毁:
qrScanner.destroy(); qrScanner = null;
这将停止摄像机流,并清理事件侦听器。
构建项目
该项目是预建在qr-scanner.min.js 与qr-scanner-worker.min.js。仅当您想要更改/src 文件夹中的代码时,才需要构建自己。