feat:finish demo

This commit is contained in:
sangge 2023-11-10 08:27:25 +08:00
parent dc3987b727
commit 5a9378d556
3 changed files with 252 additions and 0 deletions

200
ascii_image.txt Normal file
View File

@ -0,0 +1,200 @@
........................................................................................................................................................................................................
........................................................................................................................................................................................................
........................................................................................................................................................................................................
........................................................................................................................................................................................................
........................................................................................................................................................................................................
........................................................................................................................................................................................................
........................................................................................................................................................................................................
........................................................................................................................................................................................................
........................................................................................................................................................................................................
........................................................................................,:;++++++++++++++++++;:,........................................................................................
....................................................................................,:+*???%%%%%%%%%%%%%%?%%????*+:,....................................................................................
..................................................................................,;*????????????????????????????%?*;,..................................................................................
................................................................................,;?%??????????????????????????????????;,................................................................................
...............................................................................:*%????????????????????????????????????%*;...............................................................................
.............................................................................,+??????????????????????????????????????????+,.............................................................................
............................................................................:*%??????????????????????????????????????????%*:............................................................................
...........................................................................:????????????????????????????????????????????????:...........................................................................
..........................................................................:??????????????????????????????????????????????????:..........................................................................
.........................................................................:????????????????????????????????????????????????????:.........................................................................
........................................................................,????????%?????????????????????????????????????????????,........................................................................
.......................................................................,*????????*;;;*????????????????????????????????????????%*,.......................................................................
.......................................................................;???????*:....,:?????????????????????????????????????????;.......................................................................
......................................................................:????????,.......:?????????????????????????????????????????:......................................................................
.....................................................................,+%??????;.........+????????????????????????????????????????*,.....................................................................
.....................................................................:????????,.........:?????????????????????????????????????????:.....................................................................
.....................................................................*???????*,.........,?????????????????????????????????????????*.....................................................................
....................................................................:????????*,.........,??????????????????????????????????????????:....................................................................
....................................................................+%????????,.........:?????????????????????????????????????????%+....................................................................
...................................................................,*?????????;.........+??????????????????????????????????????????*,...................................................................
...................................................................:???????????:.......:????????????????????????????????????????????:...................................................................
...................................................................;????????????:,...,;?????????????????????????????????????????????;...................................................................
...................................................................+?????????????*;;+*??????????????????????????????????????????????+...................................................................
..................................................................,*????????????????????????????????????????????????????????????????*,..................................................................
..................................................................,??????????????????????????????????????????????????????????????????,..................................................................
..................................................................,??????????????????????????????????????????????????????????????????,..................................................................
..................................................................:??????????????????????????????????????????????????????????????????:..................................................................
................................................,,,...............:??????????????????????????????????????????????????????????????????:..................................................................
................................................,;+;,.............:??????????????????????????????????????????????????????????????????:..................................................................
.................................................,:??+:,,,,,,,,,,,:??????????????????????????????????????????????????????????????????:..................................................................
...................................................,*%%?????????%*:??????????????????????????????????????????????????????????????????:..................................................................
....................................................,*$%$%%%%%%%%?:??????????????????????????????????????????????????????????????????:..................................................................
...................................................:*%%%????????%*:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%????????????????????????????????????:..................................................................
.................................................:+?*+:,,,,,,,,,,,,+++++++++++++++++++++++++++++++*??????????????????????????????????:..................................................................
................................................,;:,..............................................,*?????????????????????????????????:..................................................................
...................................................................................................:?????????????????????????????????:..................................................................
...................................................................................................,?????????????????????????????????:..................................................................
...................................................................................................;?????????????????????????????????:..................................................................
.....................................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;??????????????????????????????????:.....,,...........................................................
................................................,:;+**???????????????????????????????????????????????????????????????????????????????:....,::::::::::,,,................................................
.............................................,;*???%?????????????????????????????????????????????????????????????????????????????????:....,::::::::::::::,,.............................................
...........................................:+?%%?????????????????????????????????????????????????????????????????????????????????????:....,::::::::::::::::,,...........................................
.........................................,+??????????????????????????????????????????????????????????????????????????????????????????:....,::::::::::::::::::,,.........................................
........................................;????????????????????????????????????????????????????????????????????????????????????????????:....,::::::::::::::::::::,........................................
......................................,+?????????????????????????????????????????????????????????????????????????????????????????????:....,::::::::::::::::::::::,......................................
.....................................:*??????????????????????????????????????????????????????????????????????????????????????????????:....,:::::::::::::::::::::::,.....................................
....................................:????????????????????????????????????????????????????????????????????????????????????????????????:....,::::::::::::::::::::::::,....................................
...................................:?????????????????????????????????????????????????????????????????????????????????????????????????:....,:::::::::::::::::::::::::,...................................
..................................:??????????????????????????????????????????????????????????????????????????????????????????????????:....,::::::::::::::::::::::::::,..................................
.................................,*??????????????????????????????????????????????????????????????????????????????????????????????????:....,:::::::::::::::::::::::::::,.................................
.................................+%??????????????????????????????????????????????????????????????????????????????????????????????????:....,::::::::::::::::::::::::::::.................................
................................;????????????????????????????????????????????????????????????????????????????????????????????????????:....,::::::::::::::::::::::::::::,................................
...............................,?????????????????????????????????????????????????????????????????????????????????????????????????????:....,:::::::::::::::::::::::::::::,...............................
...............................+%????????????????????????????????????????????????????????????????????????????????????????????????????:....,:::::::::::::::::::::::::::::,...............................
..............................:??????????????????????????????????????????????????????????????????????????????????????????????????????:....,::::::::::::::::::::::::::::::,..............................
..............................+%?????????????????????????????????????????????????????????????????????????????????????????????????????,....,::::::::::::::::::::::::::::::,..............................
.............................,???????????????????????????????????????????????????????????????????????????????????????????????????????,....,:::::::::::::::::::::::::::::::,.............................
.............................;??????????????????????????????????????????????????????????????????????????????????????????????????????*.....,:::::::::::::::::::::::::::::::,.............................
.............................+??????????????????????????????????????????????????????????????????????????????????????????????????????;.....,::::::::::::::::::::::::::::::::.............................
............................,???????????????????????????????????????????????????????????????????????????????????????????????????????:.....:::::::::::::::::::::::::::::::::,............................
............................:??????????????????????????????????????????????????????????????????????????????????????????????????????*.....,:::::::::::::::::::::::::::::::::,............................
............................;%?????????????????????????????????????????????????????????????????????????????????????????????????????:.....,:::::::::::::::::::::::::::::::::,............................
............................+%???????????????????????????????????????????????????????????????????????????????????????????????????%+......,:::::::::::::::::::::::::::::::::,............................
............................*????????????????????????????????????????????????????????????????????????????????????????????????????*,.....,:::::::::::::::::::::::::::::::::::............................
...........................,*????????????????????????????????????????????????????????????????????????????????????????????????????:......,:::::::::::::::::::::::::::::::::::............................
...........................,*?????????????????????????????????????????????????????????????????????????????????????????????????%*:......,::::::::::::::::::::::::::::::::::::............................
...........................,*?????????????????????????????????????????????????????????????????????????????????????????????????*,.......,::::::::::::::::::::::::::::::::::::,...........................
...........................,*??????????????????????????????????????????????????????????????????????????????????????????????%*;,.......,:::::::::::::::::::::::::::::::::::::............................
...........................,*?????????????????????????????????????????????????%?%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%?%???*;,........,::::::::::::::::::::::::::::::::::::::............................
...........................,*?????????????????????????????????????????????%??*++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:,,.........,:::::::::::::::::::::::::::::::::::::::............................
...........................,*????????????????????????????????????????????*;:,......................................................,::::::::::::::::::::::::::::::::::::::::............................
...........................,*??????????????????????????????????????????*:.........................................................,:::::::::::::::::::::::::::::::::::::::::............................
...........................,*????????????????????????????????????????*:.........................................................,:::::::::::::::::::::::::::::::::::::::::::............................
...........................,*???????????????????????????????????????+,.......................................................,,:::::::::::::::::::::::::::::::::::::::::::::............................
...........................,*??????????????????????????????????????;.............,,...................................,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::............................
...........................,*?????????????????????????????????????+.........,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::............................
...........................,*???????????????????????????????????%+........,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::............................
...........................,*???????????????????????????????????*,.......,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::............................
...........................,*???????????????????????????????????:.......,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::............................
...........................,*??????????????????????????????????+.......,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::............................
...........................,*??????????????????????????????????,......,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::............................
............................+%????????????????????????????????+......,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::............................
............................+%????????????????????????????????:.....,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,............................
............................;?????????????????????????????????,.....,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,............................
............................,????????????????????????????????*,....,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,............................
............................,*??????????????????????????????%+.....,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.............................
.............................+%?????????????????????????????%;.....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,.............................
.............................:???????????????????????????????;....,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,.............................
.............................,*??????????????????????????????:....,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..............................
..............................;??????????????????????????????:....,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,..............................
..............................,*?????????????????????????????:....,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,..............................
...............................:?????????????????????????????:....,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,...............................
................................+%???????????????????????????:....,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::................................
................................,????????????????????????????:....,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,................................
.................................:???????????????????????????:....,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,.................................
..................................+??????????????????????????:....,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,..................................
..................................,+?????????????????????????:....,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,...................................
...................................,+%???????????????????????:....,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,...................................
....................................,+???????????????????????:....,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,.....................................
......................................;??????????????????????:....,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,......................................
.......................................:*????????????????????:....,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,.......................................
........................................,+???????????????????:....,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,........................................
..........................................:+?????????????????:....,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,..........................................
............................................,;*??????????????:....,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,............................................
..............................................,:;*????%%%%%%%;....,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,..............................................
..................................................,::;;;;;;;;,....,:::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..................................................
..................................................................,::::::::::::::::::::::::::::::::::,..................................................................................................
..................................................................,:::::::::::::::::::::::::::::::::,...................................................................................................
..................................................................,:::::::::::::::::::::::::::::::::,...................................................................................................
..................................................................,:::::::::::::::::::::::::::::::::,................................................,,,................................................
..................................................................,::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............,:++;,................................................
..................................................................,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,;+;;;;;:;;+*%%*:..................................................
..................................................................,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,?$$$$%$$%$$$?:....................................................
..................................................................,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,?$$%%%$$$$$$?:.,..................................................
..................................................................,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,;++;;;;;;;+*%%+,..................................................
..................................................................,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,............,;**,.................................................
..................................................................,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,..............,:;,................................................
..................................................................,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,.................,................................................
..................................................................,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,..................................................................
..................................................................,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,..................................................................
..................................................................,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................................................
...................................................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................................................
...................................................................,::::::::::::::::::::::::::::::::::::::::::::::,,,,,:::::::::::::,...................................................................
...................................................................,:::::::::::::::::::::::::::::::::::::::::::::,.....,,:::::::::::,...................................................................
...................................................................,::::::::::::::::::::::::::::::::::::::::::::,........:::::::::::,...................................................................
....................................................................:::::::::::::::::::::::::::::::::::::::::::,.........,::::::::::....................................................................
....................................................................,::::::::::::::::::::::::::::::::::::::::::,.........,:::::::::,....................................................................
....................................................................,::::::::::::::::::::::::::::::::::::::::::,..........:::::::::,....................................................................
.....................................................................,:::::::::::::::::::::::::::::::::::::::::,..........::::::::,.....................................................................
.....................................................................,:::::::::::::::::::::::::::::::::::::::::,.........,::::::::,.....................................................................
......................................................................,:::::::::::::::::::::::::::::::::::::::::,........::::::::,......................................................................
......................................................................,::::::::::::::::::::::::::::::::::::::::::.......,::::::::.......................................................................
.......................................................................,::::::::::::::::::::::::::::::::::::::::::,,.,,:::::::::,.......................................................................
........................................................................,::::::::::::::::::::::::::::::::::::::::::::::::::::::,........................................................................
.........................................................................,::::::::::::::::::::::::::::::::::::::::::::::::::::,.........................................................................
..........................................................................,:::::::::::::::::::::::::::::::::::::::::::::::::::..........................................................................
...........................................................................:::::::::::::::::::::::::::::::::::::::::::::::::,...........................................................................
............................................................................,::::::::::::::::::::::::::::::::::::::::::::::,............................................................................
.............................................................................,::::::::::::::::::::::::::::::::::::::::::::,.............................................................................
..............................................................................,::::::::::::::::::::::::::::::::::::::::::,..............................................................................
................................................................................,::::::::::::::::::::::::::::::::::::::,................................................................................
.................................................................................,,::::::::::::::::::::::::::::::::::,,.................................................................................
...................................................................................,,::::::::::::::::::::::::::::::,,...................................................................................
......................................................................................,,,::::::::::::::::::::::,,,......................................................................................
...........................................................................................,,,,,,,,,,,,,,,,,,,..........................................................................................
........................................................................................................................................................................................................
........................................................................................................................................................................................................
........................................................................................................................................................................................................
.............................................................................,.,,,,,,,::::::::::::::::::::::::::::,,,,,,,...............................................................................
.............................................................,,,,,::;;+++***??%%%%%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%??***+++;;::,,,,..............................................................
..................................................,,,::;;+**??%%$$$$$$$#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$#$$$$$$$%%??**+;;::,,,..................................................
.........................................,,::;++*?%%%$$$$$$#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%?*++;::,,.........................................
................................,,,:;;+*?%%$$$$#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$#$$$$%%?*+;;:,,.................................
..........................,,:;+*?%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%?*+;:,,..........................
...................,,:;+*?%$$$$#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$#$$$$%?*+;:,....................
..............,:;+*?%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%?*+;:,..............
........,,;+*?%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$?******?%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%**?$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%?*+;,,........
...,:;+?%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$#;.......,+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$#*..;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%?+;:,...
;+?%$$$#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+.........:$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$#*..+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%?*;
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+..:;;;,...+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$#*..+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+..*#$$$+..,%$$$$$$$$$$$$$$$$$$$$$$$$$$$$#*..+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+..*$$$$$:..*$$$$$$$$$$$$$$$$$$$$*::+$$$$#*..+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+..*$$$$$;..+$$$$$$$$$$$$$$$$$$$$+..;$$$$#*..+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+..*$$$$$:..*$$$$$$$$$$$$$$$$$$$$+..;$$$$#*..+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$#;..*#$$$*,..?$$$$$$$$$$$$#$$$$$##+..+#$$$#*..+#$$$$$$$$$$$$$$$#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+..;?**+,..:$$$%**%$$$$$?**%$$%*?;..:?*?$#*..+$?*?%$$$$$$$$$$%?*?%$$$$$$$$$$$?**%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+.........,%$$$+..+$$$$$;..+$#+........;$#*..,,...,;%$$$$$$$+,...,;%$$$$$$$*,...,;%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+........:?$$$$+..+$$$$$+..+$#+........;$#*.........:%$$$$$;.......:%$$$$$;.......,?$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+..:;;;;*$$$$$$+..+$$$$$+..+$$*;;:..,;;*$#*....,;:...;$$$$+...,;:...:$$$$*...,;:...:$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$#;..*#$$$$$$$$$$+..+$$$$$;..+$$$$#+..+#$$$$*...;$$$+...?$$%,..;%$$*,..?$$$,..;%$$*,..*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+..*$$$$$$$$$$$+..+$$$$$+..+$$$$$+..;$$$$#*..:$$$$$;..+$$?..,%$$$$;..+$$?..,%$$$#+..;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+..*$$$$$$$$$$$+..+$$$$$+..+$$$$$+..;$$$$#*..;#$$$$*..;$$*..;$$$$#*..;$$*..:$$$$$?..;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+..*$$$$$$$$$$$+..;#$$$$;..+$$$$$*..;$$$$#*..+$$$$#*..;$$*..:$$$$#+..;$$*..:$$$$$?..;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+..*$$$$$$$$$$$?..,?###?,..+$$$$$?..,?#$$#*..+$$$$$*..;$$%,.,*$$#%,..*$$*..:$$$$$?..;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+..*$$$$$$$$$$$$:..,+?+,...+$$$$$$:..,+?$$*..+$$$$$*..;$$$;..,+*+,..,%$$*..:$$$$$?..;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+..*$$$$$$$$$$$$?,.........+$$$$$$?,...;$#*..+$$$$$*..;$$$%,........*$$$*..:$$$$$?..;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$;..*$$$$$$$$$$$$$?,........+$$$$$$$?,..;$#*..;$$$$$*..;$$$$?:.....,*$$$$*..:$$$$$?..;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$*;;?$$$$$$$$$$$$$$%*;;;*;..+$$$$$$$$%*;*$$?;;*$$$$$?;;*$$$$$$*;;;+%$$$$$?;;+$$$$$%;;+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$#+..+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+..+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+..+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$;..+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$#?,..?$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%+,..:$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$#+...,?$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$#+..,?$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$*;*%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

BIN
demo.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

52
demo.py Normal file
View File

@ -0,0 +1,52 @@
import PIL.Image
ASCII_CHARS = ["@", "#", "$", "%", "?", "*", "+", ";", ":", ",", "."]
def resize(image, new_width=200):
width, height = image.size
new_height = new_width * height // width
return image.resize((new_width, new_height))
def to_greyscale(image):
return image.convert("L")
def pixel_to_ascii(image):
pixels = image.getdata()
ascii_str = ""
for pixel in pixels:
ascii_str += ASCII_CHARS[pixel // 25]
return ascii_str
def main():
# path = input("Enter the path to the image fiel : \n")
path = "demo.jpg"
try:
image = PIL.Image.open(path)
except:
print(path, "Unable to find image ")
# resize image
image = resize(image)
# convert image to greyscale image
greyscale_image = to_greyscale(image)
# convert greyscale image to ascii characters
ascii_str = pixel_to_ascii(greyscale_image)
img_width = greyscale_image.width
ascii_str_len = len(ascii_str)
ascii_img = ""
# Split the string based on width of the image
for i in range(0, ascii_str_len, img_width):
ascii_img += ascii_str[i : i + img_width] + "\n"
# save the string to a file
with open("ascii_image.txt", "w") as f:
f.write(ascii_img)
main()