Code archives/Graphics/Image to ASCII
This code has been declared by its author to be Public Domain code.
Download source code
| |||||
This function will redraw an image in ASCII symbols. | |||||
Function ImageToChars(source%, target%, colors% = True)
Local chars$ = " .,:`;'^" + Chr(34) + "<>\-/_!~=?)(|t+i7{j}lv]%[1cf32Jr$CuIyz9o6wTna5sk&VY40LO8mG*hexSgApqbZdUPQFDXKW#RNEHBM@"
Local w% = 0, char$ = "", argb%, red%, green%, blue%
For i = 1 To Len(chars$)
If StringWidth(Mid$(chars$, i, 1)) > w% Then w% = StringWidth(Mid$(chars$, i, 1))
Next
LockBuffer ImageBuffer(source%)
Local buffer% = GraphicsBuffer()
SetBuffer ImageBuffer(target%)
For y = 0 To (ImageHeight(source%) / FontHeight()) - 1
For x = 0 To (ImageWidth(source%) / w%) - 1
argb% = ReadPixel(x * w%, y * FontHeight(), ImageBuffer(source%))
red% = (argb Shr 16) And $FF
green% = (argb Shr 8) And $FF
blue% = argb And $FF
col# = (Float red + green + blue) / (3 * 255)
If colors% Then Color red, green, blue
char$ = Mid$(chars$, (Len(chars$) - 1) * col# + 1, 1)
Text x% * w%, y% * FontHeight(), char$
Next
Next
SetBuffer buffer%
UnlockBuffer ImageBuffer(source%)
End Function |
Comments
| ||
| Interesting... Very creative. I don't know what I might use it for, but I like it. |
| ||
| i can't get it to work. |
| ||
| nice effect! but it didn't work until i took out the lockbuffers. |
| ||
| Definitely going to use this in my next game, thanks! |
Code Archives Forum