Picture to ASCII (Color) by Rburke5th Nov 2006 22:36
|
---|
Summary Will turn any picture and transform it into text. Description To use, go into the source code and look for the image declaration as image 1. Load any picture you want into the folder. Make sure the image ID is 1. Code ` This code was downloaded from The Game Creators ` It is reproduced here with full permission ` http://www.thegamecreators.com REM Project: ASCII REM Created: 11/4/2006 11:58:00 PM REM REM ***** Main Source File ***** REM REM Standard Text Line Space = 39 Columns REM Standard Character Space = 100 Characters/Column set display mode 800,600,32 Sync on `load image "<insert picture>",1 dim CharR(160,59) ; dim CharG(160,59) ; dim CharB(160,59) charWidthAcc# = screen width()/160 colSizeAcc# = screen height()/59 set text font "Arial" set text size 12 img = 1 do Randomize timer() paste image img,0,0 sync `Color = Point(400,400) `r = RGBR(Color) ; g = RGBG(Color) ; b = RGBB(Color) `set cursor 0,0 ; ink RGB(255,255,255),1 `ink rgb(r,g,b),1 `box 0,0,100,100 for b = 0 to 59 for a = 0 to 159 charMidx# = charWidth#+charWidthAcc#/2 charMidy# = colSize#+colSizeAcc#/2 Color = Point(charMidx#,charMidy#) CharR(a,b) = RGBR(Color) ; CharG(a,b) = RGBG(Color) ; CharB(a,b) = RGBB(Color) ink RGB(0,0,0),1 box charWidth#,colSize#,charWidth# + charWidthAcc#,colSize# + colSizeAcc# ink RGB(CharR(a,b),CharG(a,b),CharB(a,b)),1 letter = RND(37) if letter = 0 Then letter$ = "a" ; if letter = 1 Then letter$ = "b" if letter = 2 Then letter$ = "a" ; if letter = 3 Then letter$ = "b" if letter = 4 Then letter$ = "c" ; if letter = 5 Then letter$ = "d" if letter = 6 Then letter$ = "e" ; if letter = 7 Then letter$ = "f" if letter = 8 Then letter$ = "g" ; if letter = 9 Then letter$ = "h" if letter = 10 Then letter$ = "i" ; if letter = 11 Then letter$ = "j" if letter = 12 Then letter$ = "k" ; if letter = 13 Then letter$ = "l" if letter = 14 Then letter$ = "m" ; if letter = 15 Then letter$ = "n" if letter = 16 Then letter$ = "o" ; if letter = 17 Then letter$ = "p" if letter = 18 Then letter$ = "q" ; if letter = 19 Then letter$ = "r" if letter = 20 Then letter$ = "s" ; if letter = 21 Then letter$ = "t" if letter = 22 Then letter$ = "u" ; if letter = 23 Then letter$ = "v" if letter = 24 Then letter$ = "w" ; if letter = 25 Then letter$ = "x" if letter = 26 Then letter$ = "y" ; if letter = 27 Then letter$ = "z" if letter = 28 Then letter$ = "!" ; if letter = 29 Then letter$ = "@" if letter = 30 Then letter$ = "#" ; if letter = 31 Then letter$ = "$" if letter = 32 Then letter$ = "%" ; if letter = 33 Then letter$ = "^" if letter = 34 Then letter$ = "&" ; if letter = 35 Then letter$ = "*" if letter = 36 Then letter$ = "/" ; if letter = 37 Then letter$ = "/" `Set Cursor charWidth#,colSize# ; print letter$ text charWidth#,colSize#, letter$ charWidth# = charWidth# + charWidthAcc# sync next a charWidth# = 0 colSize# = colSize# + colSizeAcc# next b a = 0 ; b = 0 ; img = img + 1 sync wait key cls loop |