diff options
author | dakkar <dakkar@thenautilus.net> | 2010-11-23 20:59:28 +0000 |
---|---|---|
committer | dakkar <dakkar@thenautilus.net> | 2010-11-23 20:59:28 +0000 |
commit | 2844aba0f859497e13d0168a0e0171edcfdeabca (patch) | |
tree | 166c45d6020299eb4bfb8a244dc7c79d10265138 /qr-color.pl | |
parent | first proof of concept (diff) | |
download | qr-builder-2844aba0f859497e13d0168a0e0171edcfdeabca.tar.gz qr-builder-2844aba0f859497e13d0168a0e0171edcfdeabca.tar.bz2 qr-builder-2844aba0f859497e13d0168a0e0171edcfdeabca.zip |
refactor
Diffstat (limited to 'qr-color.pl')
-rw-r--r-- | qr-color.pl | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/qr-color.pl b/qr-color.pl deleted file mode 100644 index dc8c825..0000000 --- a/qr-color.pl +++ /dev/null @@ -1,90 +0,0 @@ -#!/usr/bin/perl -use strict; -use warnings; -use Text::QRCode; -use Term::ANSIColor; - -{ -my %colours = ( - 'black' => [ - map { color($_,'on_black') } - 'dark yellow','dark green','dark blue' - ], - 'white' => [ - map { color($_,'on_white') } - 'green', 'blue', 'yellow' - ], -); - -my $strip_length = 0; - -sub rotate { - my ($arr) = @_; - - my $el = shift @$arr; - push @$arr, $el; - return; -} - -sub next_colour { - my ($which) = @_; - - if ($strip_length < 1) { - $strip_length = 1+int(rand(7)); - rotate($colours{$which}); - } - --$strip_length; - return $colours{$which}->[0]; -} -} - - -sub draw_cell { - print next_colour(shift eq '*' ? 'black' : 'white'), - chr(65+int(rand(26))); -} -{ -my $white = color('black','on_white'); -my $reset = color('reset'); -sub draw_row { - my ($row,$scale)=@_; - $scale||=1; - print $white,' 'x(3*$scale); - for my $cell (@$row) { - draw_cell($cell) for 1..$scale; - } - print $white,' 'x(3*$scale); - print $reset,"\n"; -} -sub draw_empty_row { - my ($row,$scale)=@_; - $scale||=1; - - print $white,' 'x((6+@$row)*$scale),$reset,"\n" for 1..(3*$scale); -} -} - -sub draw_whole { - my ($arr,$scale)=@_; - $scale||=1; - - draw_empty_row($arr->[0],$scale); - - for my $row (@$arr) { - draw_row($row,$scale) for 1..$scale; - } - - draw_empty_row($arr->[0],$scale); -} - - -my $data='MECARD:N:Ceccarelli,Gianni;TEL:+447564023056;EMAIL:dakkar@thenautilus.net;URL:http://www.thenautilus.net/contacts/;NICKNAME:dakkar;;'; - -my $qr=Text::QRCode->new( - level=>'H', - mode=>'8-bit', -); - -my $arr=$qr->plot($data); - -draw_whole($arr,1); |