Skip to content

Instantly share code, notes, and snippets.

@syohex
Created December 25, 2011 02:59
Show Gist options
  • Save syohex/1518666 to your computer and use it in GitHub Desktop.
Save syohex/1518666 to your computer and use it in GitHub Desktop.
Text::AAlib Sample
. . . .
. ..,_..:
.<uasv;a`- ..
..=._ . .._s,=SnXov1=%==,=. .
. .:c{us%,, . . :_<>vZX,3psmdY={|)<=`.
.;i%vXdns=, . <mdmXX#GS{SSZSs3o>:===..
=a2dZwSY3>( :imm$#1qd}<.=IXzX<Xc :===.
. . __avVo<2Yc1|=vs . ..=nZ#Sva-1{;>.;C6%XmmXi*::= .
a,z+~==)nX3Ss=):3moz>z%: . .<omS2i=)go)zi==nXoXYI3v=_===;
.vX#Gl%36%2S#swe+v;S)2cn2v;. <wmmwqXejSd6[dsud3ZSX!{i%i|<;=. . . .
v2I*vi><us:3##m>:,3=vcs<r=v; .)A#XXmvkppXXS1X#)+)aI2321n-|+c.
.mmdXc%}3`+;:nm3a<qd23pdm[)s> . . <m#XG##qUmC3di2XYo=juXeZ1)({=2i .
3#Y*=_?~=.-=:)Sn#Zeo+IcXBc=u` . _jWmXZmXmmmido#t{i5znX3onX6<=l:>.
=v}(>;*|. +{ivjmooX__z3s2om; . . .qWW&#QmXZXB3hEdn]qaivz3XqJ2q;3;{;.
ninv=>{z<;.:;=)Y12Zis]s]WmW#s: . <mWWmQWow#BhwZnh2znpn%)>dZ16;i><dq. .
. :iugZGe_a; .=s=+<>|is3Zdm&mmpk. . .vWmWWWWmQWm#SXmXXXv1{==6(o{3ou(3){c
."SnomXmZXs)mn};..)+o#mYZvZGXv;. . _wmWWWWWQQWXUuoZ1v2113-<;]iS<e6]zudet
"""+vome1>*i: :-+vmX]CXdXae: ]WBWWWQmBmQWoX2nZ3#Xm<I=.:-Sui(]zWLjc!..
. ?mavIn%/--,<mYX2mXZ)"G- .jmWWWV#W#Wm#XmplX&io21%>=;=;=!s/n*}u2s%> .
. dd{>v|{>.<of]Z?GdS6c*. . ..<uqWBP!{/SYmZGXXoaodezXzz1/===:=%cc|*deXun, .
:Wp]=aw,=s<mqqwoUXk#S".. ._wZWmWQe{a1;hXsoS##moozS3cur3,c=:{=Xnz!I2wdu;.
. .u#X2SZVS2'wWBX1S)eXdm^. :vmmWm#d4z<c}"n23CvX3uGd*cn%sn,%=i=-(~<Ss!n2USz=
=mQW6q(s;<jW#qm}1]3udn( .ivXWVZ5XdJ5v=>av{*21iXXSd(>\v{{(/:.:`_)3Lnv}X3hi
.oWWBUn{<zi35Zns}n|3{%a> . .awWQW#CJ32o=o{|c,<{#u23i{S|)=l<=+=>`-.::>3d(<1z{c=..
.=mWWZn[uvse}Ii=nY){v>sX; . +XmmWC3>{i#&I1<<~:+n({nv21i>"iv==/.. ._=:s%>~{+1oI<;.
.vmWW6vnSoudS(=_z%"}]{js( ._dmmWmXZ|;=e3l;;<=/%v>)2~i:-<:}^(.{i:..-=.=:|<,=nvc=o. .
=3WWndAw2(wF{~2j2<vsn{z;% ..u##emX|mSc-=z^=|%:- <a;* <`:_=>-(>_/-:. :.):_=:<)=nvs> .
.. .)m$#12e+%|3!c)Sve3u(co1= . vmm#XC(a3#> <]:=:+; .={=>.+.=;<)(;:~-.=.:-%|==i|v_;<X?<
::X#h2(=v=n;v1s]kX#Zvgnr. .<Z#Q##!sd3Cc=-).- =,= S|l>=>i(v==(=+=i;):-=%.=u{=i.)Xs%+
<#&o(>ve.+=Z+m%SjuCG3e(` :%nmQW}3Xmjks<+=... =<,.-oi(iiv2|z*%;<_>i==,+s==)vivs+n1v>.
. j##s>;u..+3S22cJhme3%{-` =ndWW#oZe{{v>%,:;=_>-+r__"ln{ovvv>)(>{+{%1=<,{ssoesi:=e}X6'.
. .i$e|Xve>)r33C4cSmXSZ1t <vdWWoo(vv)|c(..::.=`.:~+v;Isu}{(=)C%<i%<%v<<,<uXv}Is>:;nS%
. .omop23c>%v%XhIs31djecc {dQm##U<2|=)o> =..==::-{i;:)}*<>)s%s*vo3%vv3I}{!:)1)2o--){|
.{mmXh%S(>)(?Sun]3{%si( :)WmB#2~"1c..Zc :.=;=.=>=-=;i<=%{3XXs%>+qus>:=:=)c=U}. )u>
. =]Z#Xel{;{iw>+S?2}o{>|; >n$m#1| <|I=;2o - .:=>=;+i-+>!1(.+.|>-+(vw}{qu>.. <+<d=_:=Xc;. .
.}X#Znse>#v>` }vkL1%i=` =dWmXei=2>]</2~= ...=,,:;); <)c-.: :iu,=i2h%oI!'=====Z =.nYXc`
. :=d#kdIv<#e<. <+Svs(12=..joW#ZSl)L>I)Ce=:;..:::-. :<,:|v;.:;.=}Y]3}"Y{i;.:;-lv#.= vZnc+.
. =m1#as}mz(<+_1>Szu:I:=I%3X#Wmwz)2nzXC=-.`. -.:=...-+ <|=%i(;:.;%i>=;:=: .=.-<e -_)#3S;[
. .:Sq#XXqW}1s;|(vv{Xz.=<<I<ooW2Xk)^31X[= .=:=;:iI:s _:<>1nn<;=-!=+<- -=. =._:C.:.vXXX>[;
.=3m#XW&WS;Xs|=)n12c.|<)).3zme#X3X]e6(.=.;:::;;.<%l|`=^=:|>/1===)<1:.`....=.:)[ -+s#6vcdc .
. :dmmdmmmci)}.={i}%;'(+v:-+23GX#1ldoXc==.=:==::=={>>.;=%>=!i=++====`. ...-:. ]= :-|}Sv%3z_. .
.:I#ZmWW#X{ia;.-?1|\<(;v\-)ZS2m#o##q2'<;= );|s,~ ){v;==Is<i==|.==/:=:. : ` ,3e .==>)hc3ka,.
.|l1#$W#koZ:e>.-3=2lcic:) ]v1n$CwX#Xm_vs=..=.|> |<oXh.ai+}{i}(|/1~`<=-=.-` _;#[.:{;(v11Wms|.
:I]DWZ#o#es?% =l3+)}+(,)'_Iq3v#1mmoWo>%\, '._%s:n=)Z>|<=i>{|i<<<|_<;+..-` -<pS:==;+.%zSm#w>.
. -|%C#Z##Xh%==.<%i>(s;;.+:<vv+5nIW#W#V>i'` _<||%{i+>)>=z-1<I=I|={=i=+`,-:..;v#2;;iv+<1k\$WmX;
--v#Z###om(.=+v<(=n<:..;<vz=2enmmXWX{+%.:<%!'u}-.{;i=X;a;:==oc+%<a:| .:,.|qZZa=>7:=u2-3Wmk= .
. ]##Xmk?Svs+=`==v%+<:. %3'lsZsXWW#pS:|> %!_z+1`::=.(](+{:+vi/+p=|;=i.=>3ZW#qd6Ilo+4r 3WWZs:
=3U###(z3>o)=<.=` <_):s]({3endd#mon{+;>=vn1v1=:~:;)-3>+i31<u6e%};=>:=)Xd##Xzd)(={S: ]##h%( .
. =)S#Xm6cu>v],;=".)=`+;<Jov)(qoomd2v{i=.vvvc3o>= +.aIp oI|i)1{{qs=vd%mvm##XXu_c|vp 3WzXC.
. . = +h3Wm##%svc.`..<o..c)icS<(vXX##q%=-+.)nnXn1I{;;-,)nIc3Xivvd=z)ioXno#XmXWXXo)o*XE )dqii. . .
. 3d##oZXsi+i.( >.-=ci]mXvX[dXEE#v| . {Svv*~+;{=,s;{3#XupdYw2X\XmEmmXmWBUSXCioiX( <##C%`
v*XYm#Inviz:=:==`:1dvkd#ds#mm#mXX=:+<oz%=_=<-^13o{w#eY%eo2ozXqm#mXWWUBmX#(=dXm .]$Z#>, .
-|=*vXZam|Z(<}%;;=ud3wmZXd22dWmmm>=,=XoXi1|:<..)!VXmmqasae#XSdZm#S3Q###ZXX;v3vk jmdda>
. +/<3p#Z)[i|s+( iddmBXXed{mmmWWmivc;3{/)>:=<_ s|%<#moXXYS2ZdmmWS=m$QmXmZZ-<vm( ]Wh{3k=.
. . .`_Y3msn(e<3=+<2nWm#>Zjkd#X#WW#mm>s1)(<=<=>+=-h<iIXXs32XXndZ2X<wZ3mWZZmX,)dX: +$m6=`-
1<=#q]Xhs#%==XWZXmdmZq##dXW$QWowphvX>:_ )s|.XE+4#SvIIo1d}+oad8')mXXm##:<d#; :XWmX; .
.+-XU3)d#WLiI3XqmWW#m#ZXZ#XdQWW$W#s}Xa=.;<i{o(;=1vcc+)*(cwmWB( )#oSmme:vd2 :dQWi(.
. .+((-3V$movo}YQWBmWmmp2Z#mWWWW#m#zSi=i;=YI()`c]t)|<ssummW#C :#ooBm;.nWn . :4QWa-
. . . > .|]$}I("` $mWW##Wqooo#2XXWmm#<wS1)(<>.;<_c{>nmqmQWmmWZ;. .mXomWf.vmn :JWW1. .
. . --|-+: ]QBDU3TSXWZ6%%mmmSG%9sz<=s_u></vYmmWWQQW#@Dk XdUXSspd#S . =QW#C
. . ]WWhdvi~vm#p)7>IVzuv?SXZsJ$w>u=~ $WWQQQQmm&( . n;_"~S#Xmc .)m#S>
. . . )XWQ#waaud#!"=|i)?#mv6ma)3LZX=% 3WWQWWWmWe jcXXa.mXm} ._jEZv;
. . .)#BZmZ$mmQW; _ZLdp<2s=Swv%( 3QQWWWU$#` ];3sz>#%#[ :3XSr2
. .3#Wmm#2#QWX. . jh#W#oY#voZd2. 3WWmmQdXe` .X3#e=32W( .:3X2<-
. .dmWZm&dSmQE .m#mmm#dZomoe[: ]mWWWWZm[ ..]o!Y_2X#; -eS;;
-$hmdm$#vmW1 <m#ZWBpYknnmZ: jZmmWm#m'. :W#cjQXBc. .>ns
-mmmdm##mW#c .j#mWUSmmXI3mC;. .)Z#WWS3X` . $mmVqzSp _>];
. :m#XE3WBmWX1 vmWm3mWWq%aC). . jm2X#X%h .jQ#ZYS3Z .~{
. -3mmkdWWWWZs nWWmoWXWmi#C-: 3#vdmSoC +m]qm;3m. _-
. :dmXm3mZWWY+ jW##Z<XdQok ]Zz{SzmC .SC3Zz2W. .+
.3W##Z$Qd#c :WSmX#je]Wn# . . ]m1JYZXC . ]X#XoSm;. . .
.jW#d#S##[( . . <Sdm##mr]Bh6 )#SooUX; -$2#WmW>
. dW#Xmn#o;. _mXB#XmXommWe .=#}3S3#; . .]X##$Q[
. . 3W#WU###` ..mmXmk3mXBdm#; :#C=vd#> -X#EmW(
. ]WmZ+3XE; :##o3X]#S#he+C . .:mz:lmm> )mCmW`
. jmWc o3= .=#mSvve#+Wk{>: :mc{<3k: . . ]Wmm@
dW#L,o$; . . ##r+{SW:#C . . )#s|+Xf: )mQQf
. . mmWEsm#; .#r=`.)X;^( ]22i;s(: . -UWW[
. 3$W#)ZZ` . ]Zw/: <3;.. . ][~1')np . . .mQWm
. . . $#Z<dC 3Ed[: ))` )a)e;im( =BX$#=
3>X%XC . )mmk_;:; . .j({-`<( . ]kud&|
.:mp"%vk. -QWm||:=. dc/ - .. jCY(d>
. . )US;(dQ ]$mk>.< =2!:::.. .]Ce_mI
. ]mcicdk ?$QZ|;=. . . v`)=_` ]#7`V[
. .]Wp_>$F +9maz.; . =o:,.` . )Xn=w(
. =##3cm'. -?w3).. . . d(<=; . .mmae`
..XmXom . -3mS=> . )W`+% . . #DSr
. #Xvd[ <#>` . _2e=<. oXd'.
. . $2]E` 3h> :_ )(.== eXE .
. . .dej( -3m, =.<Xs|/. .elk
.m(Z` -Uc. ):)2`. .z%f
)D:U. +#c. =-i: . .i+[
. .]C)} . 3m%, -;. . . :X<[
. jC)c .-Wmc ::, . =2<'
. .m[)[ <mmS..:pis, . )o);
. .=#|v . . .d($Zaavc]}' . ]d|` .
)S:3 =S%+Sm#S<u;:: . ..i2<. . . .
. ..wo:| .Ijas%3#e;3;:> =X1=;.
. . ]E()< . :u*}VZ( vqws>)` . suI=c .
. . .m(>-; . _avwqa>+]; ]hm]k,> . .Z(ns(
)? :> )QmoY3XSmac :F#{2\c ][ i+-..
. .e;..:= vX2Se:-""Si 1U)Zq( j`::: =
. )v} . ..vdc)(_a;]e ]#$f$( . 3;a,|.2
. . . d*c.._. .-~~~- . . +U!? .{v5e3m(
. . . jl:^#n} . . . . . .<i=ja)>;
_wuo<>= :u . . . . . ]mW###$mt
_qZW1Is;vs;S . . . . . jB$#ZmZ%c .
. . +^]P$V?(_lm) . . "")Yh]L)`. . .
. . : ]( -~:?~. . - -".
. . ""---~` . . .
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaawaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
#!perl
use strict;
use warnings;
use LWP::UserAgent;
use Imager;
use Text::AAlib qw(:all);
my $url = 'http://dipinkrishna.com/wp-content/uploads/2010/12/perl_logo.jpg';
my $ua = LWP::UserAgent->new;
my $res = $ua->get($url);
unless ($res->is_success) {
die "Can't download $url";
}
my $img = Imager->new();
$img->read(data => $res->content) or die "Can't read image";
my ($width, $height) = ($img->getwidth, $img->getheight);
my $aa = Text::AAlib->new(
width => $width,
height => $height,
mask => AA_REVERSE_MASK,
);
$aa->put_image(image => $img);
print $aa->render();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment