| Catalyst-View-GD-Barcode-QRcode documentation | Contained in the Catalyst-View-GD-Barcode-QRcode distribution. |
Catalyst::View::GD::Barcode::QRcode - GD::Barcode::QRcode View Class
Create a View class using the helper
script/myapp_create.pl view QRcode GD::Barcode::QRcode
Configure variables in your application class
package MyApp;
MyApp->config(
'View::QRcode' => {
ecc => 'M',
version => 4,
module_size => 1,
img_type => 'png'
},
);
Or using YAML config file
View::QRcode:
ecc: 'M'
version: 4
module_size: 1
img_type: 'png'
Add qrcode action to forward to the View on MyApp::Controller::Root
sub qrcode : Local {
my ( $self, $c ) = @_;
$c->stash->{qrcode} = 'http://www.cpan.org';
$c->forward( $c->view( 'QRcode' ) );
}
Or change configuration dynamically
sub qrcode : Local {
my ( $self, $c ) = @_;
$c->stash(
qrcode => 'http://www.cpan.org',
qrcode_conf => {
ecc => 'Q',
version => 5,
module_size => 3,
img_type => 'gif',
},
);
$c->forward( $c->view( 'QRcode' ) );
}
Catalyst::View::GD::Barcode::QRcode is the Catalyst view class for GD::Barcode::QRcode, create QRcode barcode image with GD.
ECC mode. Select 'M', 'L', 'H' or 'Q' (Default = 'M').
Version ie. size of barcode image (Default = 4).
Size of modules (barcode unit) (Default = 1).
Type of barcode image (Default = 'png').
Hideo Kimura <<hide@hide-k.net>>
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
The full text of the license can be found in the LICENSE file included with this module.
| Catalyst-View-GD-Barcode-QRcode documentation | Contained in the Catalyst-View-GD-Barcode-QRcode distribution. |
package Catalyst::View::GD::Barcode::QRcode; use strict; use warnings; our $VERSION = '0.10'; use base qw(Catalyst::View); use MRO::Compat; use GD::Barcode::QRcode; __PACKAGE__->mk_accessors(qw( ecc version module_size img_type )); sub new { my ($class, $c, $args) = @_; my $self = $class->next::method($c, $args); $self->ecc($args->{ecc}); $self->version($args->{version}); $self->module_size($args->{module_size}); $self->img_type($args->{img_type}); return $self } sub process { my ($self, $c) = @_; my $conf = $c->stash->{qrcode_conf} || $self->config; my $ecc = $conf->{ecc} || $self->ecc || 'M'; my $version = $conf->{version} || $self->version || 4; my $module_size = $conf->{module_size} || $self->module_size || 1; my $img_type = $conf->{img_type} || $self->img_type || 'png'; my $text = $c->stash->{qrcode}; my $qrcode = GD::Barcode::QRcode->new( $text, { Ecc => $ecc, Version => $version, ModuleSize => $module_size } ); my $gd = $qrcode->plot(); $c->res->content_type("image/$img_type"); $c->res->body($gd->$img_type()); } 1; __END__