使用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 相关文章推荐
jQuery 页面载入进度条实现代码
Feb 08 Javascript
基于jquery的一个图片hover的插件
Apr 24 Javascript
jquery命令汇总,方便使用jquery的朋友
Jun 26 Javascript
使用typeof方法判断undefined类型
Sep 09 Javascript
js正则表达式匹配数字字母下划线等
Apr 14 Javascript
jQuery插件FusionCharts实现的MSBar3D图效果示例【附demo源码】
Mar 23 jQuery
微信小程序获取手机网络状态的方法【附源码下载】
Dec 08 Javascript
JS+canvas画布实现炫酷的旋转星空效果示例
Feb 13 Javascript
Promise扫盲贴
Jun 24 Javascript
原生JS实现留言板功能
Feb 08 Javascript
解决vuecli3中img src 的引入问题
Aug 04 Javascript
vue中使用腾讯云Im的示例
Oct 23 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
java EJB 加密与解密原理的一个例子
2008/01/11 PHP
攻克CakePHP系列三 表单数据增删改
2008/10/22 PHP
PHP 内存缓存加速功能memcached安装与用法
2009/09/03 PHP
让Nginx支持ThinkPHP的URL重写和PATHINFO的方法分享
2011/08/08 PHP
提示Trying to clone an uncloneable object of class Imagic的解决
2011/10/27 PHP
ThinkPHP控制器详解
2015/07/27 PHP
基于jquery的获取mouse坐标插件的实现代码
2010/04/01 Javascript
jQuery Ajax使用FormData上传文件和其他数据后端web.py获取
2017/06/11 jQuery
vue 组件的封装之基于axios的ajax请求方法
2018/08/11 Javascript
angular6的table组件开发的实现示例
2018/12/26 Javascript
jQuery实现简单聊天室
2020/02/08 jQuery
Vue-resource安装过程及使用方法解析
2020/07/21 Javascript
[35:55]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第一场 12.11
2020/12/13 DOTA
Python中多线程thread与threading的实现方法
2014/08/18 Python
使用Python下载歌词并嵌入歌曲文件中的实现代码
2015/11/13 Python
python实现汉诺塔递归算法经典案例
2021/03/01 Python
matplotlib命令与格式之tick坐标轴日期格式(设置日期主副刻度)
2019/08/06 Python
django 通过url实现简单的权限控制的例子
2019/08/16 Python
Python GUI学习之登录系统界面篇
2019/08/21 Python
Python3 JSON编码解码方法详解
2019/09/06 Python
对python中各个response的使用说明
2020/03/28 Python
python之pygame模块实现飞机大战完整代码
2020/11/29 Python
英国在线照明超市:Castlegate Lights
2019/10/30 全球购物
专业毕业生个性的自我评价
2013/10/03 职场文书
体育教育个人自荐信范文
2013/12/01 职场文书
酒店个人培训自我鉴定
2013/12/11 职场文书
2014年团员学习十八大思想汇报
2014/09/13 职场文书
《我爱祖国》演讲稿1000字
2014/09/26 职场文书
践行三严三实心得体会
2014/10/13 职场文书
失恋33天观后感
2015/06/11 职场文书
观看《杨善洲》宣传教育片心得体会
2016/01/23 职场文书
优秀党员先进事迹材料2016
2016/02/29 职场文书
创业计划书之校园跑腿公司
2019/09/24 职场文书
SQL Server实现分页方法介绍
2022/03/16 SQL Server
Python通用验证码识别OCR库ddddocr的安装使用教程
2022/07/07 Python
码云(gitee)通过git自动同步到阿里云服务器
2022/12/24 Servers