What is qr-code-styling?
The qr-code-styling npm package allows you to generate customizable QR codes with various styles and options. It provides a flexible way to create QR codes with different shapes, colors, and logos, making it suitable for branding and design purposes.
What are qr-code-styling's main functionalities?
Basic QR Code Generation
This feature allows you to generate a basic QR code with customizable dimensions, data, and dot styles. The code sample demonstrates how to create a QR code with rounded dots and a white background, append it to a canvas element, and download it as a PNG file.
const QRCodeStyling = require('qr-code-styling');
const qrCode = new QRCodeStyling({
width: 300,
height: 300,
data: 'https://example.com',
image: '',
dotsOptions: {
color: '#000000',
type: 'rounded'
},
backgroundOptions: {
color: '#ffffff'
}
});
qrCode.append(document.getElementById('canvas'));
qrCode.download({ name: 'qr', extension: 'png' });
Adding a Logo to QR Code
This feature allows you to add a logo to the center of the QR code. The code sample demonstrates how to include a logo image, set its cross-origin attribute, and define a margin around the logo.
const QRCodeStyling = require('qr-code-styling');
const qrCode = new QRCodeStyling({
width: 300,
height: 300,
data: 'https://example.com',
image: 'https://example.com/logo.png',
dotsOptions: {
color: '#000000',
type: 'rounded'
},
imageOptions: {
crossOrigin: 'anonymous',
margin: 20
}
});
qrCode.append(document.getElementById('canvas'));
qrCode.download({ name: 'qr_with_logo', extension: 'png' });
Customizing QR Code Colors
This feature allows you to customize the colors of the QR code dots and background. The code sample demonstrates how to create a QR code with red square dots and a green background.
const QRCodeStyling = require('qr-code-styling');
const qrCode = new QRCodeStyling({
width: 300,
height: 300,
data: 'https://example.com',
dotsOptions: {
color: '#ff0000',
type: 'square'
},
backgroundOptions: {
color: '#00ff00'
}
});
qrCode.append(document.getElementById('canvas'));
qrCode.download({ name: 'colored_qr', extension: 'png' });
Other packages similar to qr-code-styling
qrcode
The qrcode package is a simple and lightweight library for generating QR codes. It supports basic customization options such as size, error correction level, and color. However, it lacks the advanced styling options and logo integration features provided by qr-code-styling.
qr-image
The qr-image package allows you to create QR codes in various image formats such as PNG, SVG, and PDF. It offers basic customization options but does not provide the extensive styling capabilities of qr-code-styling, such as custom dot shapes and logo integration.
easyqrcodejs
The easyqrcodejs package is a versatile library for generating QR codes with a wide range of customization options, including logo integration, color customization, and various dot styles. It is similar to qr-code-styling in terms of features but may have a different API and usage patterns.
QR Code Styling
JavaScript library for generating QR codes with a logo and styling.
Examples
Installation
npm install qr-code-styling
Ussage
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript" src="https://unpkg.com/qr-code-styling/lib/qr-code-styling.js"></script>
</head>
<body>
<div id="canvas"></div>
<script type="text/javascript">
const qrCode = new QrCodeStyling({
width: 300,
height: 300,
data: "https://www.facebook.com/",
image: "https://facebookbrand.com/wp-content/themes/fb-branding/assets/images/fb-logo.png?v2",
dotsOptions: {
colour: "#4267b2",
type: "rounded"
},
backgroundOptions: {
colour: "#e9ebee",
}
});
qrCode.append("#canvas");
</script>
</body>
</html>
API
width | number | | 300 |
height | number | | 300 |
data | string | true | |
image | string | | |
qrOptions.typeNumber | number (0 - 40 ) | | 0 |
qrOptions.mode | string ('Numeric' 'Alphanumeric' 'Byte' 'Kanji' ) | | |
qrOptions.errorCorrectionLevel | string ('L' 'M' 'Q' 'H' ) | | 'L' |
imageOptions.hideBackgroundDots | boolean | | true |
imageOptions.imageSize | number | | 0.4 |
dotsOptions.colour | string | | '#000' |
dotsOptions.type | string (`'rounded' 'dots' 'default') | | 'default' |
backgroundOptions.colour | string | | '#fff' |
License
MIT