Image::PNG::QRCode - make a PNG containing a QR code
use Image::PNG::QRCode 'qrpng'; qrpng (text => 'boom shake shake shake the room', out => 'shake.png');
This module converts input text to a PNG image of a QR code containing the text. The PNG image can either be stored to a file or it can be a scalar.
my $png = qrpng (text => 'this is my text');
This makes a scalar PNG data in $png containing the QR code PNG.
$png
qrpng (in => 'file.txt', out => 'file.png');
This makes a PNG file file.png from the contents of file.txt.
Text to convert to a QR code.
in specifies an input file of text to convert to a QR code.
in
out specifies an output file or a scalar to put the PNG data into.
out
qrpng (out => 'file.png');
writes to file.png, but
qrpng (out => \$s);
writes the PNG data into a scalar $s.
$s
Specify the "version" of the QR code. The "version" is like the size of the code. Maximum value is 40. If no version is specified, the program chooses one using the length of the text.
Specify the amount of error checking code (ECC) to use. The default is level one, which corresponds to 7% error tolerance. The level can go up to 4, which corresponds to 30% error tolerance.
Specify the size of the "quiet zone". The default is 4.
Specify how many pixels one "module" (one block of the QR code) occupies. The default is 3. You can't use fractional values.
This message is produced in the case of errors.
There is a script "qrpng" installed with the module:
qrpng "earphone pad"
makes qrcode.png. Try
qrpng --help
for more options.
There is an example script qrpng.cgi in examples.
It makes a QR code for HTML:
The QR codes generated by this generator are about 2/5 the size of the Google charts ones.
This module uses various tricks to make the PNG file very small, so it doesn't work with Image::PNG::Libpng. If you want to manipulate the output PNG file you'll need to read it in again and operate on it.
The module isn't optimized for repeated uses, it builds up and tears down everyting.
The QR encoding is not checked for correctness. The QR code library comes from the "qrduino" project, but the contents have been worked on so it's not clear whether it's still correct. Also there was a bug in the original thing leading to reading uninitialized memory.
The QR code creation part (the contents of qrencode.c in the distribution) is copyright 2010, tz@execpc.com. The rest of the module is copyright by Ben Bullock 2014.
This Perl module is licensed under the Gnu General Public Licence version 3.
1 POD Error
The following errors were encountered while parsing the POD:
Expected text after =item, not a bullet
To install Image::PNG::QRCode, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Image::PNG::QRCode
CPAN shell
perl -MCPAN -e shell install Image::PNG::QRCode
For more information on module installation, please visit the detailed CPAN module installation guide.