使用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 相关文章推荐
限制文本字节数js代码
Mar 06 Javascript
pjblog中的UBBCode.js
Apr 25 Javascript
js的一些常用方法小结
Jun 29 Javascript
用javascript关闭本窗口技巧小结
Sep 05 Javascript
必备的JS调试技巧汇总
Jul 20 Javascript
基于SpringMVC+Bootstrap+DataTables实现表格服务端分页、模糊查询
Oct 30 Javascript
浅谈js原生拖放
Nov 21 Javascript
jQuery简单实现遍历单选框的方法
Mar 06 Javascript
利用JS如何计算字符串所占字节数示例代码
Sep 13 Javascript
Angular中的$watch方法详解
Sep 18 Javascript
引入外部js脚本加载慢与页面白屏问题的解决
Dec 10 Javascript
详解vue-cli 脚手架 安装
Apr 16 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
《魔兽争霸3》重制版究竟重制了什么?玩家:这么糊弄真的好吗?
2020/05/04 魔兽争霸
解析PHP多种序列化与反序列化的方法
2013/06/06 PHP
PHP实现对数组分页处理实例详解
2017/02/07 PHP
js模拟点击以提交表单为例兼容主流浏览器
2013/11/29 Javascript
bootstrap data与jquery .data
2014/07/07 Javascript
node.js中的console.log方法使用说明
2014/12/09 Javascript
使用JavaScript链式编程实现模拟Jquery函数
2014/12/21 Javascript
jQuery制作简洁的图片轮播效果
2015/04/03 Javascript
JavaScript隐式类型转换
2016/03/15 Javascript
js基础之DOM中元素对象的属性方法详解
2016/10/28 Javascript
jquery实现(textarea)placeholder自动换行
2016/12/22 Javascript
Vue中计算属性computed的示例解读
2017/07/26 Javascript
elementui的默认样式修改方法
2018/02/23 Javascript
vue-cli+axios实现文件上传下载功能(下载接收后台返回文件流)
2019/05/10 Javascript
浅谈JS中几种轻松处理'this'指向方式
2019/09/16 Javascript
js blob类型url的视频下载问题的解决
2019/11/29 Javascript
vue学习之Vue-Router用法实例分析
2020/01/06 Javascript
JavaScript oncopy事件用法实例解析
2020/05/13 Javascript
[54:02]2018DOTA2亚洲邀请赛 4.1 小组赛 B组 IG vs VGJ.T
2018/04/03 DOTA
[56:01]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 Effect vs EG
2018/03/31 DOTA
在Python的web框架中编写创建日志的程序的教程
2015/04/30 Python
python利用matplotlib库绘制饼图的方法示例
2016/12/18 Python
Python编程之event对象的用法实例分析
2017/03/23 Python
python opencv检测目标颜色的实例讲解
2018/04/02 Python
Python占用的内存优化教程
2019/07/28 Python
Pandas 缺失数据处理的实现
2019/11/04 Python
Python实现密钥密码(加解密)实例详解
2020/04/26 Python
python 等差数列末项计算方式
2020/05/03 Python
Python爬虫之Spider类用法简单介绍
2020/08/04 Python
美国最佳选择产品网站:Best Choice Products
2019/05/27 全球购物
小米官方旗舰店:Xiaomi
2020/08/07 全球购物
财务副总经理工作职责
2013/11/25 职场文书
骨干教师培训制度
2014/01/13 职场文书
升职演讲稿范文
2014/05/23 职场文书
2016年第16个全民国防教育日宣传活动总结
2016/04/05 职场文书
MySQL中distinct与group by之间的性能进行比较
2021/05/26 MySQL