luqin / awesome-front-end

A curated list of awesome front end resources. 前端资源收藏,欢迎点击 watch 订阅更新
152 stars 34 forks source link

QuaggaJS: 完全使用JavaScript编写的条形码扫描程序 #1

Open luqin opened 9 years ago

luqin commented 9 years ago

https://github.com/serratus/quaggaJS

QuaggaJS是一种条形码扫描程序,完全使用JavaScript编写,支持对各种类型的条形码——像EAN和CODE128——的实时定位和解码。

尽管已经存在各种各样的条形码库,但它还是从头编写的,而并没有从流行的zxing库移植过来。 QuaggaJS实现的特性是一种条形码扫描程序,它能够在图形中找到类似于条形码的样式,得到估计的边界框,包括旋转的情况。 这样,你就可以在图形中做很智能的二维码识别。

如果你想要完全利用QuaggaJS的优势,那么浏览器需要支持getUserMedia这个API,它在最新版本的Firefox、Safari、Chrome和Opera中都已经实现。

这个库暴露了以下API:

Quagga.init(config, callback) 这个方法会根据给定的配置和回调函数对库进行初始化,回调函数会在载入过程完毕后调用。 如果配置了实时检测,那么初始化过程还会请求访问相机。

Quagga.start() 当库初始化之后,start()方法会启动视频流,并开始对图像进行定位和解码。

Quagga.stop() 如果当前解码器在运行,那么在调用stop()之后,解码器就不会再处理任何图像。

Quagga.onDetected(callback) 注册一个回调函数,它会在成功定位和解码一个条形码模式之后触发。 在调用回调函数的时候,解码后的数据会作为第一个参数。

Quagga.decodeSingle(config, callback) 和上述的方法不同,这个方法不会依赖于getUserMedia,而会在单独的图像上处理。 提供的回调函数和onDetected中的一样,会包含解码后的数据作为第一个参数。

The QuaggaJS示例库中包含了更多示例和用例。