vue-qr-code-styling
v2.0.1
Published
JavaScript library for generating QR codes with a logo and styling.
Downloads
24
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-styling
Project setup
yarn install
Compiles and hot-reloads for development
yarn serve
Compiles and minifies for production
yarn build
Lints and fixes files
yarn lint
Usage
<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