GD && EAN-13
teamster_jr
created: 2006-03-28 08:22:34
Based on [538807|this]. This uses GD to produce a more precise graphical output.
use GD;$i=new GD::Image(113,350);$_="JUST ANOTHER PERL HACKER,";$i->fill
(0,0,$i->colorAllocate(255,255,255));s#.{5}#$d=5;@a=($q=0,map{$d+=$f++%2
?3*$_:$_;$_;}map{split//}unpack C5,$&);push@a,10-$d%10;@g=(3,5,23,join( 
"",@a)=~/(.{6})/,63,$');$b=$i->colorAllocate(0,0,0);$t=9;map{$h=$q++%7? 
50:60;$i->line(++$t,$y+9,$t,$y+$h,$_?$b:$w)for split//,/1/?$_.$i->string
(gdTinyFont,shift@g,53+$y,shift@g,$b):do{$l=$z=unpack B7,pack v,unpack(x
.$_.C,"5A;eKYWc_3")-40<<1;$z=~s/./1^$&/eg;$m=reverse$z;${qw.l m m l l m.
[$c++%12]||z}}}101,splice(@a,0,5,"01010"),@a,101;$y+=70#eg;print$i->png

The output should be piped into a png file thusly:
perl ean-13.pl > out.png
enjoy.
al
ps. for those without GD, the image can be seen on [252827|my homenode]
Re: GD && EAN-13
created: 2006-03-28 12:39:01
You're still doing $l = $z = ..., but I don't see where $l comes in. Is this simply a code-spacing device?

Update: oops. I totally ignored the ${qw.l m m l l m.} part.


Jeff japhy Pinyan, P.L., P.M., P.O.D, X.S.: Perl, regex, and perl hacker
How can we ever be the sold short or the cheated, we who for every service have long ago been overpaid? ~~ Meister Eckhart
Re^2: GD && EAN-13
created: 2006-03-29 03:52:47
yep, these are the encodings. l is left hand odd, m is left hand even and z is right hand even. (rhe is the inverse of lho and lhe is the reverse of rhe).
Of course i've now found EAN-128 which is varibale length and alphanumeric...
maybe i'll get round to making one of them :)
a

perlmonks.org content © perlmonks.org and japhy, teamster_jr

prlmnks.org © 2006 edmund von der burg (eccles & toad)

v 0.03