使用JavaScript根据图片获取条形码的方法


Posted in Javascript onJuly 04, 2017

最近在弄一个零售超市的项目,但是苦于需要自己录入数据,超市少的也有1000多种商品,自己一个一个录入肯定不太现实,所以考虑扫描商品的条形码,根据条形码获取商品的信息这样效率就高多了。

根据条形码获取商品信息这个在网上有很多api一般都是付费的费用不高,可以直接拿来用,这里就略过了。

这里重点说说JavaScript识别图片中的条形码。

开源库quaggaJS

项目地址:https://github.com/serratus/quaggaJS

这里要感谢大神提供这么牛B的js库,让我的想法得以实现!

这个库的使用方式也非常简单,在github上有很丰富的讲解,但是我只使用了其中一个扫描条形码图片,获取条形码的功能,所以我就直接把我需要的功能列举一个例子,有其他的需求的可以去上面的连接里面找。

页面部分

<html>
<body>
<section id="container" class="container">
 <div class="controls">
   <fieldset class="input-group">
     <input type="file" accept="image/*;capture=camera">
     <button>Rerun</button>
   </fieldset>
 </div>
 <div id="result_strip">
  <ul class="thumbnails"></ul>
 </div>
 <div id="interactive" class="viewport"><canvas class="imgBuffer" width="800" height="566"></canvas><canvas class="drawingBuffer" width="800" height="566"></canvas><br clear="all"></div>
</section>
<script src="jquery-1.11.0.min.js"></script>
<script src="quagga.min.js" type="text/javascript"></script>
<script src="file_input.js" type="text/javascript"></script>
</body>
</html>

JavaScript部分

$(function() {
   $(".controls button").on("click", function(e) {
    var input = document.querySelector(".controls input[type=file]");
    if (input.files && input.files.length) {
      Quagga.decodeSingle({
        inputStream: {
          size: 800 // 这里指定图片的大小,需要自己测试一下
        },
        locator: {
          patchSize: "medium",
          halfSample: false
        },
        numOfWorkers: 1,
        decoder: {
          readers: [{
            format: "ean_reader",// 这里指定ean条形码,就是国际13位的条形码
            config: {}
          }]
        },
        locate: true,
        src: URL.createObjectURL(input.files[0])
      }, function(result) {
         var code = result.codeResult.code,
          $node,
          canvas = Quagga.canvas.dom.image;
        // 将扫描得到的条形码打印出来
        $node = $('<li><div class="thumbnail"><div class="imgWrapper"><img /></div><div class="caption"><h4 class="code"></h4></div></div></li>');
        $node.find("img").attr("src", canvas.toDataURL());
        $node.find("h4.code").html(code);
        $("#result_strip ul.thumbnails").prepend($node);
      });
    }
  });
});

效果展示

使用JavaScript根据图片获取条形码的方法

以上所述是小编给大家介绍的使用JavaScript根据图片获取条形码的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
文档对象模型DOM通俗讲解
Nov 01 Javascript
javascript 获取浏览器版本
Jan 21 Javascript
三种Node.js写文件的方式
Mar 08 Javascript
原生js获取元素样式的简单方法
Aug 06 Javascript
原生js实现下拉框功能(支持键盘事件)
Jan 13 Javascript
基于JavaScript实现屏幕滚动效果
Jan 18 Javascript
JS中的三个循环小结
Jun 20 Javascript
JS实现移动端判断上拉和下滑功能
Aug 07 Javascript
vue Element-ui input 远程搜索与修改建议显示模版的示例代码
Oct 19 Javascript
详解Vue开发微信H5微信分享签名失败问题解决方案
Aug 09 Javascript
Vue keepAlive 数据缓存工具实现返回上一个页面浏览的位置
May 10 Javascript
《javascript设计模式》学习笔记四:Javascript面向对象程序设计链式调用实例分析
Apr 07 Javascript
jquery拖动改变div大小
Jul 04 #jQuery
JavaScript无操作后屏保功能的实现方法
Jul 04 #Javascript
JS中type=&quot;button&quot;和type=&quot;submit&quot;的区别
Jul 04 #Javascript
5分钟打造简易高效的webpack常用配置
Jul 04 #Javascript
AngularJS实现表格的增删改查(仅限前端)
Jul 04 #Javascript
js CSS3实现卡牌旋转切换效果
Jul 04 #Javascript
JavaScript中三个等号和两个等号你了解多少
Jul 04 #Javascript
You might like
php mysql_real_escape_string函数用法与实例教程
2013/09/30 PHP
Yii2框架实现数据库常用操作总结
2017/02/08 PHP
jQuery-ui中自动完成实现方法
2010/06/10 Javascript
小试JQuery的AutoComplete插件
2011/05/04 Javascript
js中判断数字\字母\中文的正则表达式 (实例)
2012/06/29 Javascript
node.js中的events.emitter.listeners方法使用说明
2014/12/10 Javascript
js判断一个字符串是否包含一个子串的方法
2015/01/26 Javascript
bootstrap fileinput 上传插件的基础使用
2017/02/17 Javascript
基于jQuery实现瀑布流页面
2017/04/11 jQuery
浅谈Vue.js 1.x 和 2.x 实例的生命周期
2017/07/25 Javascript
JScript实现地址选择功能
2017/08/15 Javascript
JavaScript生成简单等差数列
2017/11/28 Javascript
详解如何在React组件“外”使用父组件的Props
2018/01/12 Javascript
jQuery实现基本动画效果的方法详解
2018/09/06 jQuery
Ajax请求时无法重定向的问题解决代码详解
2019/06/21 Javascript
javascript网页随机点名实现过程解析
2019/10/15 Javascript
通过微信公众平台获取公众号文章的方法示例
2019/12/25 Javascript
JavaScript 装逼指南(js另类写法)
2020/05/10 Javascript
angular中的post请求处理示例详解
2020/06/30 Javascript
vue如何使用rem适配
2021/02/06 Vue.js
Python创建文件和追加文件内容实例
2014/10/21 Python
Python中模拟enum枚举类型的5种方法分享
2014/11/22 Python
Python全局变量用法实例分析
2016/07/19 Python
详谈Python基础之内置函数和递归
2017/06/21 Python
pygame 精灵的行走及二段跳的实现方法(必看篇)
2017/07/10 Python
python 根据时间来生成唯一的字符串方法
2019/01/14 Python
Python使用Beautiful Soup爬取豆瓣音乐排行榜过程解析
2019/08/15 Python
Windows系统下pycharm中的pip换源
2020/02/23 Python
django的403/404/500错误自定义页面的配置方式
2020/05/21 Python
html5各种页面切换效果和模态对话框用法总结
2014/12/15 HTML / CSS
阿里健康官方海外旗舰店:阿里健康国际自营
2017/11/24 全球购物
介绍一下Python下range()函数的用法
2013/11/07 面试题
高中生自我鉴定范文
2013/10/30 职场文书
礼仪培训心得体会
2016/01/22 职场文书
2016五四青年节活动总结范文
2016/04/06 职场文书
聊聊CSS粘性定位sticky案例解析
2022/06/01 HTML / CSS