vue-qr-code-styling
v2.0.1
Published
JavaScript library for generating QR codes with a logo and styling.
Maintainers
Readme
vue-qr-code-styling
JavaScript library for generating QR codes with a logo and styling.
- Support vue2
If you have issues / suggestions / notes / questions, please open an issue or contact me. Let's create a cool library together.
Examples
Installation
npm install vue-qr-code-stylingProject setup
yarn installCompiles and hot-reloads for development
yarn serveCompiles and minifies for production
yarn buildLints and fixes files
yarn lintUsage
<template>
<div id="app">
<div>
<QrCode :size="size" :value="value" :logo="logo" />
</div>
</div>
</template>
<script>
import QrCode from 'vue-qr-code-styling'
export default {
name: 'App',
components: {
QrCode,
},
data() {
return {
size: 200,
value: 'https://i-fis.cn/',
logo: '/logo.png',
}
},
}
</script>
<style>
#app {
font-family: Avenir, Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
margin-top: 60px;
}
</style>API Documentation
QRCodeStyling instance
new QRCodeStyling(options) => QRCodeStyling
Param |Type |Description -------|------|------------ options|object|Init object
options structure
Property |Type |Default Value|Description
-----------------------|-------------------------|-------------|-----------------------------------------------------
width |number |300 |Size of canvas
height |number |300 |Size of canvas
type |string ('canvas' 'svg')|canvas |The type of the element that will be rendered
data |string | |The date will be encoded to the QR code
image |string | |The image will be copied to the center of the QR code
margin |number |0 |Margin around canvas
qrOptions |object | |Options will be passed to qrcode-generator lib
imageOptions |object | |Specific image options, details see below
dotsOptions |object | |Dots styling options
cornersSquareOptions |object | |Square in the corners styling options
cornersDotOptionsHelper|object | |Dots in the corners styling options
backgroundOptions |object | |QR background styling options
options.qrOptions structure
Property |Type |Default Value
--------------------|--------------------------------------------------|-------------
typeNumber |number (0 - 40) |0
mode |string ('Numeric' 'Alphanumeric' 'Byte' 'Kanji')|
errorCorrectionLevel|string ('L' 'M' 'Q' 'H') |'Q'
options.imageOptions structure
Property |Type |Default Value|Description
------------------|---------------------------------------|-------------|------------------------------------------------------------------------------
hideBackgroundDots|boolean |true |Hide all dots covered by the image
imageSize |number |0.4 |Coefficient of the image size. Not recommended to use ove 0.5. Lower is better
margin |number |0 |Margin of the image in px
crossOrigin |string('anonymous' 'use-credentials')| |Set "anonymous" if you want to download QR code from other origins.
options.dotsOptions structure
Property|Type |Default Value|Description
--------|------------------------------------------------------------------------------|-------------|-------------------
color |string |'#000' |Color of QR dots
gradient|object | |Gradient of QR dots
type |string ('rounded' 'dots' 'classy' 'classy-rounded' 'square' 'extra-rounded')|'square' |Style of QR dots
options.backgroundOptions structure
Property|Type |Default Value
--------|------|-------------
color |string|'#fff'
gradient|object|
options.cornersSquareOptions structure
Property|Type |Default Value|Description
--------|-----------------------------------------|-------------|-----------------
color |string | |Color of Corners Square
gradient|object | |Gradient of Corners Square
type |string ('dot' 'square' 'extra-rounded')| |Style of Corners Square
options.cornersDotOptions structure
Property|Type |Default Value|Description
--------|-------------------------|-------------|-----------------
color |string | |Color of Corners Dot
gradient|object | |Gradient of Corners Dot
type |string ('dot' 'square')| |Style of Corners Dot
Gradient structure
options.dotsOptions.gradient
options.backgroundOptions.gradient
options.cornersSquareOptions.gradient
options.cornersDotOptions.gradient
Property |Type |Default Value|Description
----------|----------------------------|-------------|---------------------------------------------------------
type |string ('linear' 'radial')|"linear" |Type of gradient spread
rotation |number |0 |Rotation of gradient in radians (Math.PI === 180 degrees)
colorStops|array of objects | |Gradient colors. Example [{ offset: 0, color: 'blue' }, { offset: 1, color: 'red' }]
Gradient colorStops structure
options.dotsOptions.gradient.colorStops[]
options.backgroundOptions.gradient.colorStops[]
options.cornersSquareOptions.gradient.colorStops[]
options.cornersDotOptions.gradient.colorStops[]
Property|Type |Default Value|Description
--------|----------------|-------------|-----------------------------------
offset |number (0 - 1)| |Position of color in gradient range
color |string | |Color of stop in gradient range
QRCodeStyling methods
QRCodeStyling.append(container) => void
Param |Type |Description ---------|-----------|----------- container|DOM element|This container will be used for appending of the QR code
QRCodeStyling.getRawData(extension) => Promise<Blob>
Param |Type |Default Value|Description
---------|------------------------------------|-------------|------------
extension|string ('png' 'jpeg' 'webp' 'svg')|'png' |Blob type
QRCodeStyling.update(options) => void
Param |Type |Description -------|------|-------------------------------------- options|object|The same options as for initialization
QRCodeStyling.download(downloadOptions) => Promise<void>
Param |Type |Description ---------------|------|------------ downloadOptions|object|Options with extension and name of file (not required)
downloadOptions structure
Property |Type |Default Value|Description
---------|------------------------------------|-------------|-----------------------------------------------------
name |string |'qr' |Name of the downloaded file
extension|string ('png' 'jpeg' 'webp' 'svg')|'png' |File extension
Thanks for
- https://github.com/kozakdenys/qr-code-styling
License
MIT License. Copyright (c) 2023 Rosky
