使用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 相关文章推荐
认识延迟时间为0的setTimeout
May 16 Javascript
快速查找数组中的某个元素并返回下标示例
Sep 03 Javascript
JS小功能(button选择颜色)简单实例
Nov 29 Javascript
js获取url参数代码实例分享(JS操作URL)
Dec 13 Javascript
Ext4.2的Ext.grid.plugin.RowExpander无法触发事件解决办法
Aug 15 Javascript
javascript实现设置、获取和删除Cookie的方法
Jun 01 Javascript
Bootstrap每天必学之按钮(一)
Nov 24 Javascript
jQuery插件HighCharts绘制简单2D柱状图效果示例【附demo源码】
Mar 21 jQuery
Vue 路由 过渡动效 数据获取方法
Jul 31 Javascript
一篇文章弄懂javascript中的执行栈与执行上下文
Aug 09 Javascript
一步一步实现Vue的响应式(对象观测)
Sep 02 Javascript
vue实现图片上传功能
May 28 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语法(2)
2006/10/09 PHP
使用PHP进行微信公众平台开发的示例
2015/08/21 PHP
PHP二维数组排序简单实现方法
2016/02/14 PHP
php+flash+jQuery多图片上传源码分享
2020/07/27 PHP
extjs DataReader、JsonReader、XmlReader的构造方法
2009/11/07 Javascript
Jquery判断IE6等浏览器的代码
2011/04/05 Javascript
jquery的clone方法应用于textarea和select的bug修复
2014/06/26 Javascript
javascript比较两个日期相差天数的方法
2015/07/24 Javascript
CSS或者JS实现鼠标悬停显示另一元素
2016/01/22 Javascript
js实现上一页下一页的效果【附代码】
2016/03/10 Javascript
javascript的replace方法结合正则使用实例总结
2016/06/16 Javascript
Bootstrap对话框使用实例讲解
2016/09/24 Javascript
JSON键值对序列化和反序列化解析
2017/01/24 Javascript
js将当前时间格式化为 年-月-日 时:分:秒的实现代码
2018/01/20 Javascript
Vue CLI项目 axios模块前后端交互的使用(类似ajax提交)
2019/09/01 Javascript
vue中 v-for循环的用法详解
2020/02/19 Javascript
js实现tab栏切换效果
2020/08/02 Javascript
Python将图片批量从png格式转换至WebP格式
2020/08/22 Python
python微信公众号之关注公众号自动回复
2018/10/25 Python
python绘制漏斗图步骤详解
2019/03/04 Python
Python中函数的返回值示例浅析
2019/08/28 Python
python程序输出无内容的解决方式
2020/04/09 Python
使用python脚本自动生成K8S-YAML的方法示例
2020/07/12 Python
纯CSS3制作漂亮带动画效果的主机价格表
2015/04/25 HTML / CSS
可爱的童装和鞋子:Fabkids
2019/08/16 全球购物
英国最受信任的在线眼镜商之一:Fashion Eyewear
2019/10/31 全球购物
新西兰购物网站:TheMarket NZ
2020/09/19 全球购物
音乐教学反思
2014/02/02 职场文书
运动会跳远加油稿
2014/02/20 职场文书
党员个人剖析材料2014
2014/10/08 职场文书
领导干部作风整顿个人剖析材料
2014/10/11 职场文书
销售员未完成销售业绩的检讨书
2014/10/12 职场文书
办公楼租房协议书范本
2014/11/25 职场文书
齐云山导游词
2015/02/06 职场文书
奔腾年代观后感
2015/06/09 职场文书
zabbix如何添加监控主机和自定义监控项
2022/08/14 Servers