- SEE ALSO
- LICENSE AND COPYRIGHT
Image::QRCode::Effects - Create snazzy QRCodes.
use Image::QRCode::Effects; my $image = Image::QRCode::Effects->new( level => 'H', plot => 'just another perl hacker', ); $image->write( outfile => 'qrcode.jpg', colour => '#1500ff', inner_shadow => 1, round_corners => 1, gradient => 1, gradient_colour => '#ffa200', gradient_type => 'radial', );
This module provides a collection of effects commonly used on QRCodes to make them look interesting.
It's designed for use with Imager::QRCode, although it'll likely work with any barcode images. Providing you don't stray too far from the default parameters, the resulting barcode should be easily readable.
# Takes same arguments as Imager::QRCode, and additional 'plot' text my $qrcode = Imager::QRCode->new( plot => 'Fire walk with me', size => 2, margin => 2, version => 1, level => 'M', casesensitive => 1, lightcolor => Imager::Color->new( 255, 255, 255 ), darkcolor => Imager::Color->new( 0, 0, 0 ), ); # Or from file my $qr = Image::QRCode::Effects->new( infile => '/path/to/barcode.jpg' ); # Or from Imager object (eg. Imager::QRCode, after calling ->plot) my $qr = Image::QRCode::Effects->new( qrcode => $qrcode );
$qrcode->write( outfile => '/my/new/barcode.jpg', # dimensions size => '600x600', # optional, default is '600x600' # basic fill colour colour => '#00ff00', # default #000000 # extra fill effects gradient => 1, # optional, default 0 gradient_colour => '#ff0000', gradient_type => 'normal', # normal|radial|plasma # effects # wave effect wave => 1, # optional, default 0 wavelength => 30, amplitude => 1.5, # inner shadow effect inner_shadow => 1, # optional, default 0 shadow_colour => '#cccccc', # default #000000 # rounded corners effect round_corners => 1, # optional, default 0 corner_sigma => 2.2, corner_threshold => '42%,58%', );
Writes the barcode with effects to the specified
There are three main effects: a wave-like effect, rounded corners and an inner shadow. In addition, there are several gradient fill options. These can be combined and each have parameters that can be altered to create unique images.
outfile- File to write to. Required.
size- Dimensions of new image. Defaults to '600x600'.
colour- Primary fill colour of the barcode
gradient- Boolean, whether to fill the barcode with a gradient. Default is 0.
gradient_colour- Gradient colour to fill when
gradient = 1.
gradient_type- Type of gradient. Can be
wave- Boolean, whether to warp the barcode with a wave effect. Default is 0.
wavelength- The length of the waves when
wave = 1.
amplitude- The amplitude of the waves when
wave = 1.
inner_shadow- Boolean, whether to apply an inner shadow. Default is 0.
shadow_colour- Colour of the shadow when
inner_shadow = 1.
round_corners- Boolean, whether to round the corners of the barcode. Default is 0.
corner_sigma- Can be changed to adjust the 'roundedness' of the corners when
round_corners = 1. Default is 2.2
corner_threshold- Can be changed to adjust the 'sharpness' of the corners when
round_corners = 1. Default is '42%,58%'.
<mcartmell at cpan.org>
Copyright (C) 2013 Mike Cartmell
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
See http://dev.perl.org/licenses/ for more information.