The project is based on the repository of the excellent developer Standalone Coder
The project is inspired by the film Matrix and a Youtube video by Standalone Coder (And sprinkled with my deep dark fantasies). Substituting any image you can get its version from the MATRIX.
- Download the zip archive and unpack it wherever convenient.
- Open the console and install the packages from requierements.txt with the command:
pip install -r requirements.txt
- Now with the command
python matrix_im.py
run the program. At startup, you need to specify the path to the image and the desired size of characters (If you do not understand what I mean, try entering values from 1 to 20, you will immediately notice the differences).Also, now you can choose the symbols for display yourself (optionally, see updates from 09/30/21)
3:48 PM... OOOok This was not included in the plans, but now you can change colors! A separate column has been added to the main settings window. There are only three colors so far (red, green, blue). What are you looking at? I'm working on it...
In less than a couple of days, I added even more symbol flags. The full list will be below.
- ascii - '!"#$%&()*+,-./'
- digit - '0123456789'
- arrow - '-><-'
- bucks - '$$$'
- author - 'godovorez'
- uwu - '(UwU)'
Hi guys. Procrastination is finally subdued, and I sat down to finish my business here. Let's get down to business, I added the ability to select a specific character set in the main settings window. I think pictures will make it clearer.
1.There are only two of them so far, but this is only the beginning, right? (I hope)
"ascii" - Use standard ascii characters (!"#$%&()*+,-./)
"digit" - Only numbers
- I've been worried about the problem in the im_contrast function for a long time. It improved the brightness of the image, but at the same time it simply destroyed the dark areas. I have corrected this misunderstanding.
- Minor edits
- So here it is necessary to clarify. The ability to select symbols for the final display has been added. You can see this in the dialog box (A new input field has appeared). It works like this. If you entered your characters in this field for display, they will be used, if you did not enter, then as before, the characters are taken from the file name. It's simple. If a little confusing, you can play with this field and understand what I mean.
- Minor edits made (contrast adjusted, docstrings updated)
- I promised to work on the color rendition. It turned out to be easier than I thought! By increasing the contrast of the image, it becomes brighter and richer
- I worked on the Docstrings, increased the readability of the code, made minor edits and that's it.
-
Added logging.While working through the
dog's pussy, but this is fixable. -
Little fixes... Well, you get the idea.
-
Finally, a convenient window for selecting a file and parameters has been added. Goodbye console.(Actually, no, the program itself is still run through the console)
-
The functions responsible for the parameters window have been moved to a separate file for obvious reasons. They have nothing to do in the main file.
-
And other minor changes
that everyone doesn't give a fuck about(if you're interested, check the commit history)
- It happened! Now the program will automatically convert the file to the required format
- Also some minor edits were made. Docstring, typings and other nonsense that nobody cares about
-
Now this piece of .... code interacts with the user! Image and character size can be selected.This console crap is a temporary measure. Do not worry))(Fixed 09.13.21) -
Now the window is resized to fit the image. No more stretched Untranslatable Russian word
ЕБАЛЬНИКОВ -
Several annoying functions were moved to a separate file
-
You can see that the symbols that make up the image are not random and are individual for each of them. (In fact, there is no smart one, the symbols are taken from the name of the image itself)
-
Well, I wrote some comments so that in a year I wouldn’t be fucking crazy about my genius.
Add the ability to change the base colorOptimize this shit (I am looking towards using the numba module in some functions)Now the problem with not quite correct color rendition is obvious. I'm working on this too.