Yeah that's the Greggs logo in a QR code for this website
QR codes, (Quick Response), are all around us. We see them on adverts, newspapers, drinks bottles. They are a quick way for mobile users to access web content, as all you need is a camera and a barcode app to scan the code and visit the website.
How can you create your own QR code?
I found a simple Python library, that can be used from the command line to generate quick QR codes.
On my Linux machine I used pip3 to install the python library.
sudo pip3 install myqr
A number of other libraries were also installed, but it only took a few minutes for the install to complete.
Using from the command line
Open a terminal, on a Raspberry Pi the icon is in the top left of the screen. I wanted to create a link to my website, a simple QR code.
So I typed
This creates a QR code with my website address, and saves it in the current working directory as
But...lets add an image!
Adding an image is rather simple
myqr http://bigl.es/ -n bigles.jpg -p rebel.gif
We call the
myqr application, use
-n to specify the filename that we would like to save the QR code as, then use
-p to specify the name of the image that we wish to use.
Yes our QR code can have colours and it a simple matter of adding
-c to the command to colourise.
myqr http://bigl.es/ -n bigles.jpg -p greggs.png -c
Thanks for not suing Greggs, I love your sausage rolls
Oh yes you can create an animated GIF QR code!
You need to ensure that the
-n used to save the image is set output a GIF, then just use
-p with an animated GIF...oh and use
-c to ensure it is colourful!
myqr http://bigl.es/ -n bigles.gif -p sonic.gif -c
Using from Python 3
As this is a Python 3 library, we can use this wonderful library in our Python projects. I used Python 3 editor, but you could also use Thonny, or Sublime Text, or Vi... (We'll assume that you know how to write Python code, and that you have a favourite editor.)
os is used to access the underlying filesystem
Imports the myqr library.
from MyQR import myqr
We then specify the web address, or any text that we wish to encode in the QR code.
version, level, qr_name = myqr.run( "http://your-website-here", version=1, level='H',
picture is the image that we wish to use in the QR code.
If we would like a coloured image, change
save_name is the file into which we want to save the QR code image. Remember to use GIF if you want to create an animated GIF QR code.
contrast=1.0, brightness=1.0, save_name="cool-qr-code.gif",
Lastly we set the save location to the current working directory, in other words the directory where you are running this code from.
Complete Code Listing
import os from MyQR import myqr version, level, qr_name = myqr.run( "http://your-website-here", version=1, level='H', picture="/directory/where/the/image/is", colorized=False, contrast=1.0, brightness=1.0, save_name="cool-qr-code.gif", save_dir=os.getcwd() )
When ready save the code and run it to create your QR codes.
Taking it further
- Creating a function to automate the options.
- Create a GUI to enable anyone to easily create QR codes.
Have fun hacking your new QR codes!