TGC Codebase Backup



Picture to ASCII (Color) by Rburke

5th 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