使用组件通过CDN读取条形码

Taian

我想通过CDN安装在名为vue-cc-quaggajs的组件中以读取条形码。

我尝试了以下方法:

new Vue({
  el: "#app",
  data: {
    readerSize: {
      width: 640,
      height: 480
    }
  },
  methods: {
    logIt (data) {
      console.log('detected', data)
    }
  },
  components: {
    //QuaggaScanner
  },
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.16/vue.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@carloscgo/[email protected]/dist/vue-quagga.js"></script>
<div id="app">
  <quagga-scanner :onDetected="logIt" :readerSize="readerSize" :readerType="'ean_reader'"></quagga-scanner>
</div>

但是我遇到了一些错误,例如:

无法读取在扫描仪-根目录中找到的属性'width'of undefined“

你可以帮帮我吗?我不知道我是在引用正确的JS文件,还是可以使用其他组件扫描条形码。

tuhin47

quagga-scanner通过使用CDN构建组件,我成功了它用作默认程序包。这是现场演示我处理了这张图片,并在提供了输出console.log

注意:使用优质的相机读取条形码。由于您未从该片段获得相机许可,因此Stackoverflow片段将无法使用。

Vue.component('quagga-scanner', {
  props: {
    onDetected: {
      type: Function,
    },
    onProcessed: {
      type: Function,
    },
    readerType: {
      type: String,
      default: 'code_128_reader',
    },
    readerSize: {
      width: {
        type: Number,
        default: 640,
      },
      height: {
        type: Number,
        default: 480,
      }
    }
  },
  data() {
    return {
      quaggaState: {
        inputStream: {
          type: 'LiveStream',
          constraints: {
            width: {
              min: this.readerSize.width
            },
            height: {
              min: this.readerSize.height
            },
            facingMode: 'environment',
            aspectRatio: {
              min: 1,
              max: 2
            }
          }
        },
        locator: {
          patchSize: 'medium',
          halfSample: true
        },
        numOfWorkers: 4,
        frequency: 10,
        decoder: {
          readers: [{
            format: this.readerType,
            config: {}
          }]
        },
        locate: true
      },
    }
  },
  mounted() {
    this.init();
  },
  methods: {
    init() {
      Quagga.init(this.quaggaState, function(err) {
        if (err) {
          return console.log(err);
        }

        Quagga.start();
      });

      Quagga.onDetected(this.onDetected ? this.onDetected : this._onDetected);
      Quagga.onProcessed(this.onProcessed ? this.onProcessed : this._onProcessed);
    },
    reInit() {
      Quagga.stop();

      this.init();
    },
    getImage() {
      const canvas = Quagga.canvas.dom.image;

      return canvas.toDataURL();
    },
    _onProcessed(result) {
      let drawingCtx = Quagga.canvas.ctx.overlay,
        drawingCanvas = Quagga.canvas.dom.overlay;

      if (result) {
        if (result.boxes) {
          drawingCtx.clearRect(0, 0, parseInt(drawingCanvas.getAttribute("width")), parseInt(drawingCanvas.getAttribute("height")));
          result.boxes.filter(function(box) {
            return box !== result.box;
          }).forEach(function(box) {
            Quagga.ImageDebug.drawPath(box, {
              x: 0,
              y: 1
            }, drawingCtx, {
              color: "green",
              lineWidth: 2
            });
          });
        }

        if (result.box) {
          Quagga.ImageDebug.drawPath(result.box, {
            x: 0,
            y: 1
          }, drawingCtx, {
            color: "#00F",
            lineWidth: 2
          });
        }

        if (result.codeResult && result.codeResult.code) {
          Quagga.ImageDebug.drawPath(result.line, {
            x: 'x',
            y: 'y'
          }, drawingCtx, {
            color: 'red',
            lineWidth: 3
          });
        }
      }
    },
    _onDetected(result) {
      console.log('detected: ', result);
    },
  },
  template: `
  <div id="interactive" class="viewport scanner">
    <video></video>
    <canvas class="drawingBuffer"></canvas>
  </div>
  `
})
new Vue({
  el: "#app",
  data: {
    readerSize: {
      width: 640,
      height: 480
    }
  },
  methods: {
    logIt(data) {
      console.log('detected', data)
    },
  }
})
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    /* In order to place the tracking correctly */
    
    canvas.drawing,
    canvas.drawingBuffer {
      position: absolute;
      left: 0;
      top: 0;
    }
  </style>
</head>

<body>

  <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.16/vue.js"></script>
  <script src="https://cdn.jsdelivr.net/npm/@carloscgo/[email protected]/dist/vue-quagga.js"></script>
  <script src="https://cdn.rawgit.com/serratus/quaggaJS/0420d5e0/dist/quagga.min.js"></script>
  <div id="app">
    <quagga-scanner :on-detected="logIt" :reader-size="readerSize" :reader-type="'ean_reader'"></quagga-scanner>
  </div>
</body>

</html>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何读取数据矩阵条形码

来自分类Dev

如何使用C ++程序从条形码读取器读取数据?

来自分类Dev

使用OCR识别条形码

来自分类Dev

使用Javascript进行条形码解码

来自分类Dev

相机读取条形码时自动检测并捕获条形码

来自分类Dev

如何从C#Winforms中的条形码扫描仪读取条形码值

来自分类Dev

iOS条形码扫描API能够同时读取3条条形码

来自分类Dev

Java中的条形码读取无法正确读取像素

来自分类Dev

Java中的条形码读取无法正确读取像素

来自分类Dev

使用Zxing读取9个扩展条形码中的3个-在Android中

来自分类Dev

Cordova:将外部条形码读取器与键盘仿真配合使用时的键盘事件

来自分类Dev

使用Firebase ML Kit无法读取更多30个字符的条形码

来自分类Dev

为什么我无法使用pyzbar读取多个条形码?

来自分类Dev

使用Java Zxing API将条形码内容写为条形码下方的标签

来自分类Dev

为什么使用ZPL旋转Code 128条形码会使条形码变厚?

来自分类Dev

在Web应用程序中使用条形码渲染框架生成条形码

来自分类Dev

通过使用React Native,Expo扫描条形码来进行Webview Uri重定向

来自分类Dev

从输入事件中读取条形码(Linux,C)

来自分类Dev

从Swing中的条形码扫描仪读取

来自分类Dev

android从文本框值读取条形码值

来自分类Dev

Cobas C311无法读取条形码

来自分类Dev

在asp.net中读取条形码

来自分类Dev

C#如何读取低质量的条形码?

来自分类Dev

读取条形码阅读器发送的控制代码

来自分类Dev

一个仅读取条形码的应用

来自分类Dev

通过颜色为条形码位图着色

来自分类Dev

Django生成条形码并通过浏览器下载

来自分类Dev

如何通过GUI在Ubuntu中创建条形码?

来自分类Dev

如何通过条形码将数据输入CoreData?

Related 相关文章

  1. 1

    如何读取数据矩阵条形码

  2. 2

    如何使用C ++程序从条形码读取器读取数据?

  3. 3

    使用OCR识别条形码

  4. 4

    使用Javascript进行条形码解码

  5. 5

    相机读取条形码时自动检测并捕获条形码

  6. 6

    如何从C#Winforms中的条形码扫描仪读取条形码值

  7. 7

    iOS条形码扫描API能够同时读取3条条形码

  8. 8

    Java中的条形码读取无法正确读取像素

  9. 9

    Java中的条形码读取无法正确读取像素

  10. 10

    使用Zxing读取9个扩展条形码中的3个-在Android中

  11. 11

    Cordova:将外部条形码读取器与键盘仿真配合使用时的键盘事件

  12. 12

    使用Firebase ML Kit无法读取更多30个字符的条形码

  13. 13

    为什么我无法使用pyzbar读取多个条形码?

  14. 14

    使用Java Zxing API将条形码内容写为条形码下方的标签

  15. 15

    为什么使用ZPL旋转Code 128条形码会使条形码变厚?

  16. 16

    在Web应用程序中使用条形码渲染框架生成条形码

  17. 17

    通过使用React Native,Expo扫描条形码来进行Webview Uri重定向

  18. 18

    从输入事件中读取条形码(Linux,C)

  19. 19

    从Swing中的条形码扫描仪读取

  20. 20

    android从文本框值读取条形码值

  21. 21

    Cobas C311无法读取条形码

  22. 22

    在asp.net中读取条形码

  23. 23

    C#如何读取低质量的条形码?

  24. 24

    读取条形码阅读器发送的控制代码

  25. 25

    一个仅读取条形码的应用

  26. 26

    通过颜色为条形码位图着色

  27. 27

    Django生成条形码并通过浏览器下载

  28. 28

    如何通过GUI在Ubuntu中创建条形码?

  29. 29

    如何通过条形码将数据输入CoreData?

热门标签

归档