alias pic { dialog -md pic pic } dialog Pic { title "Picture" size -1 -1 57 22 option dbu button "Open Pic", 1, 9 4 37 12 } on *:dialog:pic:sclick:1:{ %all.pic.filepath = $sfile(*.jpg) %all.width = $pic(%all.pic.filepath).width %all.height = $pic(%all.pic.filepath).height if (%all.height > 40 ) { %all.step = 2 } else { %all.step = 1 } if (%all.width > 80 ) { echo -as Sorry please resize the picture 80 width by 40 in height or under. | AsciShutdown | Goto #stop } window -apod +dL @smoon 30 450 %all.width %all.height drawfill @smoon 1 1 %all.width %all.height window -apod +dL @dot 30 650 %all.width %all.height window -em @ASCI write -c $+(",%all.pic.filepath $+ .txt,") drawpic -ms @smoon -1 -1 %all.pic.w %all.pic.h $+(",%all.pic.filepath,") %all.asci.art = %all.x = 0 %all.y = 0 var %all.count 1 getpic } alias getpic { while ( %all.x <= %all.width ) { if ( %all.width <= 40 ) { %all.art = %all.art $+ $chr(3) $+ %all.c $+ $chr(44) $+ %all.c $+ EE } elseif ( %all.width > 40 ) { %all.art = %all.art $+ $chr(3) $+ %all.c $+ $chr(44) $+ %all.c $+ F } dith %all.x = %all.x + 1 if ( %all.x > %all.width ) { %all.y = %all.y + %all.step %all.x = 0 if (%all.count >= 40 ) { echo @ASCI Sorry but 40 lines in Height should be the limit | halt } aline 1 @ASCI %all.art write -l %all.count $+(",%all.pic.filepath $+ .txt,") %all.art inc %all.count %all.art = if ( %all.y >= %all.height ) { break } } drawdot -r @dot $getdot(@smoon,%all.x,%all.y) 1 %all.x %all.y } } alias dith { %all.color = $rgb($getdot(@smoon,%all.x,%all.y)) %all.n = $numtok(%all.color,44) while (%all.n) { set %all.a [ $+ [ %all.n ] ] $gettok(%all.color,%all.n,44) if ( %all.a [ $+ [ %all.n ] ] <= 85 ) { set %all.a [ $+ [ %all.n ] ] 0 } if ( ( %all.a [ $+ [ %all.n ] ] >= 85 ) && ( %all.a [ $+ [ %all.n ] ] <= 170 ) ) { set %all.a [ $+ [ %all.n ] ] 128 } if ( %all.a [ $+ [ %all.n ] ] >= 170 ) { set %all.a [ $+ [ %all.n ] ] 255 } dec %all.n %all.c = %all.a1 %all.a2 %all.a3 if ( %all.c == 0 0 0 ) { %all.c = 1 } if ( %all.c == 255 0 0 ) { %all.c = 4 } if ( %all.c == 0 255 0 ) { %all.c = 9 } if ( %all.c == 0 0 255 ) { %all.c = 12 } if ( %all.c == 255 255 0 ) { %all.c = 8 } if ( %all.c == 0 255 255 ) { %all.c = 11 } if ( %all.c == 255 0 255 ) { %all.c = 13 } if ( %all.c == 255 255 255 ) { %all.c = 0 } if ( %all.c == 128 0 0 ) { %all.c = 5 } if ( %all.c == 0 128 0 ) { %all.c = 3 } if ( %all.c == 0 0 128 ) { %all.c = 2 } if ( %all.c == 128 0 128 ) { %all.c = 6 } if ( %all.c == 128 128 0 ) { %all.c = 10 } if ( %all.c == 0 128 128 ) { %all.c = 10 } if ( %all.c == 128 128 128 ) { %all.c = 14 } if ( %all.c == 128 255 255 ) { %all.c = 11 } if ( %all.c == 128 255 128 ) { %all.c = 9 } if ( %all.c == 255 128 255 ) { %all.c = 13 } if ( %all.c == 255 255 128 ) { %all.c = 8 } if ( %all.c == 128 128 255 ) { %all.c = 12 } if ( %all.c == 255 128 128 ) { %all.c = 7 } if ( %all.c == 128 255 0 ) { %all.c = 9 } if ( %all.c == 128 0 255 ) { %all.c = 12 } if ( %all.c == 0 128 255 ) { %all.c = 12 } if ( %all.c == 255 128 0 ) { %all.c = 7 } if ( %all.c == 255 0 128 ) { %all.c = 4 } if ( %all.c == 0 255 128 ) { %all.c = 9 } } } menu @smoon { rclick: { AsciShutdown } sclick: { AsciShutdown } } menu @dot { rclick: { AsciShutdown } sclick: { AsciShutdown } } on *:CLOSE:*:{ if ($target == @ASCI ) { asciShutdown } } alias AsciShutdown { window -c @dot window -c @smoon window -c @ASCI unset %all.* halt } menu channel { Convert to ASCII .Find bmp or jpg (80w x 80h) to convert:pic ..Show ascii TEXT after converting:play $+(",$$sfile(%all.pic.filepath $+ .txt,Pick a Text File. , Play File ),") 4000 | play }