Code Monkey home page Code Monkey logo

qrcode-decoder's Introduction

npm NPM downloads license

简体中文 | English

A tool for decoding qrcode.

Directory

.
├── demo            code demo
├── dist            build output
├── doc             docs
├── src             source code
├── test            unit test
├── CHANGELOG.md    change log
└── TODO.md         todo list

Guide

Use pnpm to install.

$ pnpm install --save qrcode-decoder

Using in webpack:

import QrcodeDecoder from 'qrcode-decoder';

Using in browser:

<script src="https://unpkg.com/[email protected]/dist/index.min.js"></script>

Demo

QrcodeDecoder()

User new to create a decoder object.

var qr = new QrcodeDecoder();

decodeFromImage(img, options)

Decodes an image from url or an <img> element with a src attribute set.

qr.decodeFromImage(img).then((res) => {
  console.log(res);
});

Demo

decodeFromVideo(videoElem, options)

Decodes directly from a video with a well specified src attribute

qr.decodeFromVideo(videoElement).then((res) => {
  console.log(res);
});

Demo

decodeFromCamera(videoElem, options)

Decodes from a videoElement.

qr.decodeFromCamera(videoElem).then((res) => {
  console.log(res);
});

Demo

stop()

Stops the current qr from searching for a QRCode.

Develop

Install dependencies:

$ pnpm install

Build code:

$ pnpm run build

Run unit test:

$ pnpm test

Modify version in package.json, run release script:

$ pnpm run release

Publish

$ pnpm publish

License

MIT

qrcode-decoder's People

Contributors

dependabot[bot] avatar dyoshikawa avatar levminer avatar yugasun avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

qrcode-decoder's Issues

decode a bit large size QR return false

I'm using new QrcodeDecoder().decodeFromImage() to decode an QR image.

If my QR image is less than 5MB, it work well.
If my QR image is more than 5MB, result return false

Please fix this. Thanks guys

Use Rear Camera in Mobile Device

Hi,

May i know how to use rear camara to decode QR.

Currently i only manage to use front camera as default.

Below is my code:

 let qr = new QrcodeDecoder();
  setTimeout(() => {
            try {
                var videoElem = document.querySelector("video");
                qr.decodeFromCamera(videoElem).then((res) => {
                    console.log(res);
                    if (res['data']) {
                        qr.stop();
                    }
                });
            } catch (error) {
                alert(error);
            }
        }, 200);

qrcode_decoder__WEBPACK_IMPORTED_MODULE_0___default.a is not a constructor

// "qrcode-decoder": "^0.3.1",
import QrCode from 'qrcode-decoder'
console.log( QrCode );
// QrCode is {}
const qr = new QrCode();
console.log(qr);
// qrcode_decoder__WEBPACK_IMPORTED_MODULE_0___default.a is not a constructor

// this import is can be use
import QrCode from '../node_modules/qrcode-decoder/dist/index'

// Please repair as soon as possible,thanks

How to import to Angular component

Hi.
I try to use decoder in angular app. When I importing it to component it says

Could not find a declaration file for module 'qrcode-decoder'. 'C:/WorkSpace/angular-app/test-app/node_modules/qrcode-decoder/dist/index.js' implicitly has an 'any' type.

Hot to use it?

My config
"dependencies": {
"@angular/animations": "~12.2.0",
"@angular/common": "~12.2.0",
"@angular/compiler": "~12.2.0",
"@angular/core": "~12.2.0",
"@angular/forms": "~12.2.0",
"@angular/platform-browser": "~12.2.0",
"@angular/platform-browser-dynamic": "~12.2.0",
"@angular/platform-server": "~12.2.0",
"@angular/router": "~12.2.0",
"@fortawesome/angular-fontawesome": "^0.9.0",
"@fortawesome/fontawesome-svg-core": "^1.2.35",
"@fortawesome/free-brands-svg-icons": "^5.15.3",
"@fortawesome/free-regular-svg-icons": "^5.15.3",
"@fortawesome/free-solid-svg-icons": "^5.15.3",
"@nguniversal/express-engine": "^12.1.2",
"angular-highcharts": "^13.0.1",
"chart.js": "^3.6.2",
"express": "^4.15.2",
"highcharts": "^9.3.2",
"json-server": "^0.17.0",
"jsqr": "^1.4.0",
"ng2-charts": "^3.0.2",
"qrcode-decoder": "^0.2.2",
"rxjs": "~6.6.0",
"tslib": "^2.3.0",
"zone.js": "~0.11.4"
},
"devDependencies": {
"@angular-devkit/build-angular": "~12.2.10",
"@angular/cli": "~12.2.10",
"@angular/compiler-cli": "~12.2.0",
"@nguniversal/builders": "^12.1.2",
"@types/express": "^4.17.0",
"@types/jasmine": "~3.8.0",
"@types/node": "^12.11.1",
"jasmine-core": "~3.8.0",
"karma": "~6.3.0",
"karma-chrome-launcher": "~3.1.0",
"karma-coverage": "~2.0.3",
"karma-jasmine": "~4.0.0",
"karma-jasmine-html-reporter": "~1.7.0",
"typescript": "~4.3.5"
}

在vue中使用报错

<script>
import qrcodeDecoder from "qrcode-decoder";
export default {
name: "UploadIdentity",
components: {
"my-header": header
},
data() {
return {
imgSrc: ""
};
},
methods: {
// 获取选中的图片文件
getFile(e) {
let file = e.target.files[0];
let fr = new FileReader();
fr.readAsDataURL(file);
fr.onload = () => {
this.$refs.qrcode.src = fr.result;
// let qr = new QrcodeDecoder();
console.log(this.$refs.qrcode);
// qr.decodeFromImage(this.$refs.qrcode).then(res => {
// console.log(res);
// });
};
}
}
};

只要引入这个插件,就报如下错误

app.js:957 Error: only one instance of babel-polyfill is allowed
at Object.eval (VM532719 index.js:10)
at eval (VM532719 index.js:29)
at Object../node_modules/babel-polyfill/lib/index.js (vendorssettings.js:11)
at webpack_require (app.js:833)
at fn (app.js:130)
at eval (index.esm.js?5c8e:1)
at Module../node_modules/qrcode-decoder/dist/index.esm.js (vendors
settings.js:2983)
at webpack_require (app.js:833)
at fn (app.js:130)
at eval (cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/views/settings/account/upload.vue?vue&type=script&lang=js&:3)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.