### GD && EAN-13

by teamster_jr (Curate)
 on Mar 28, 2006 at 13:22 UTC Need Help??

Based on this. This uses GD to produce a more precise graphical output.
```\$_="JUST ANOTHER PERL HACKER,";use GD;\$i=new GD::Image(113,350);\$i->fi
+ll
(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->stri
+ng
(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,6,"01010"),@a,101;\$y+=70#eg;print\$i->pn
+g
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 my homenode

Replies are listed 'Best First'.
Re: GD && EAN-13
by japhy (Canon) on Mar 28, 2006 at 17:39 UTC
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
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

Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: obfuscated [id://539695]
Approved by Limbic~Region
Front-paged by grinder
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others examining the Monastery: (3)
As of 2024-02-26 15:17 GMT
Voting Booth?
My favourite way to spend a leap day ...

Results (25 votes). Check out past polls.