README
👉 A library using PHP to generate QRCode from https://www.qrcode-monkey.com free
✋ NOTE: Do not generate too many QRCode at once or your IP will be locked for a period of time
Getting started
Use composer to integrate your PHP project
composer require nguyenary/qr-code-monkey
Configuration
📘 You can configure to generate QRCode or use default configuration. Below is a list of configurations that you can use
| Parameter |
Type |
Default |
Description |
| body |
String |
square |
square
mosaic
dot
circle
circle-zebra
circle-zebra-vertical
circular
edge-cut
edge-cut-smooth
japnese
leaf
pointed
pointed-edge-cut
pointed-in
pointed-in-smooth
pointed-smooth
round
rounded-in
rounded-in-smooth
rounded-pointed
star
diamond
|
| eye |
String |
frame0 |
frame0
frame1
frame2
frame3
frame4
frame5
frame6
frame7
frame8
frame10
frame11
frame12
frame13
frame14
frame16
|
| eyeBall |
String |
ball0 |
ball0
ball1
ball2
ball3
ball5
ball6
ball7
ball8
ball10
ball11
ball12
ball13
ball14
ball15
ball16
ball17
ball18
ball19
|
| erf1 |
Array |
[ ] |
Rotate the upper left eye element. Add "fv" or "fh" to invert element vertically or horizontally. E.g. ["fv","fh"] inverts a element vertically and horziontally. |
| erf2 |
Array |
[ ] |
Rotate the upper right eye element. Add "fv" or "fh" to invert element vertically or horizontally. E.g. ["fv","fh"] inverts a element vertically and horziontally. |
| erf3 |
Array |
[ ] |
Rotate the lower left eye element. Add "fv" or "fh" to invert element vertically or horizontally. E.g. ["fv","fh"] inverts a element vertically and horziontally. |
| brf1 |
Array |
[ ] |
Rotate the upper left eye ball element. Add "fv" or "fh" to invert element vertically or horizontally. E.g. ["fv","fh"] inverts a element vertically and horziontally. |
| brf2 |
Array |
[ ] |
Rotate the upper right eye ball element. Add "fv" or "fh" to invert element vertically or horizontally. E.g. ["fv","fh"] inverts a element vertically and horziontally. |
| brf3 |
Array |
[ ] |
Rotate the lower left eye ball element. Add "fv" or "fh" to invert element vertically or horizontally. E.g. ["fv","fh"] inverts a element vertically and horziontally. |
| bodyColor |
String |
#000000 |
Color of QR code body as HEX value. |
| bgColor |
String |
#ffffff |
Color of QR code background as HEX value. Note: the background should always have a lighter color to be scanable with all devices. |
| eye1Color |
String |
#000000 |
Color of the upper left eye as HEX value. |
| eye2Color |
String |
#000000 |
Color of the upper right eye as HEX value. |
| eye3Color |
String |
#000000 |
Color of the lower left eye as HEX value. |
| eyeBall1Color |
String |
#000000 |
Color of the upper left eye ball as HEX value. |
| eyeBall2Color |
String |
#000000 |
Color of the upper right eye ball as HEX value. |
| eyeBall3Color |
String |
#000000 |
Color of the lower left eye ball as HEX value. |
| gradientColor1 |
String |
null |
Color 1 for gradient color of body as HEX. |
| gradientColor2 |
String |
null |
Color 2 for gradient color of body as HEX. |
| gradientType |
String |
linear |
Gradient type for color of body. Value can be "linear" or "radial". |
| gradientOnEyes |
Boolean |
false |
Disable individual colors for the eye elements and set the gradient color for the complete QR code. |
Example Usage
For details on the examples please see the file example.php
First you need to initialize a QRCode instance
require_once 'vendor/autoload.php';
use nguyenary\QRCodeMonkey\QRCode;
$qrcode = new QRCode('nguyenary');
Example easy usage:
print_r($qrcode->create());
The above code will return a URL containing a QR Code
Example of saving QRCode as a file
$qrcode->create('file_qrcode.png');
Example for config:
$qrcode = new QRCode('nguyenary');
$qrcode->setConfig([
'bgColor' => '#FFFFFF',
'body' => 'square',
'bodyColor' => '#0277bd',
'brf1' => [],
'brf2' => [],
'brf3' => [],
'erf1' => [],
'erf2' => [],
'erf3' => [],
'eye' => 'frame0',
'eye1Color' => '#000000',
'eye2Color' => '#000000',
'eye3Color' => '#000000',
'eyeBall' => 'ball0',
'eyeBall1Color' => '#000000',
'eyeBall2Color' => '#000000',
'eyeBall3Color' => '#000000',
'gradientColor1' => '#0277bd',
'gradientColor2' => '#000000',
'gradientOnEyes' => 'true',
'gradientType' => 'linear',
]);
Example for set logo, file type and size
// Set logo path file to use
$qrcode->setLogo('image/facebook.png');
// Support png, svg, jpg, pdf, eps
$qrcode->setFileType('png');
// Size limit is 3480 pixel
$qrcode->setSize(200);
Features
What's all the bells and whistles this project can perform?
- High quality images for printing
- Generate QRCode completely for free
- Many QRCode templates can be customized
- Can be exported as a URL or saved as a file
- Output format options (Support
png, svg, jpg, pdf, eps)
✋ NOTE: Format pdf and eps no support for color gradients
Contributing
This is a project I do in my spare time to contribute to the community. I would very much welcome if you would like to contribute to this project
Licensing
The code in this project is licensed under MIT license