This project allows you to convert almost any file, group of files, or directory into an image. By reading bytes from a file and using those bytes as color channel values, pixels can be constructed and used to form an image. The current build allows you to convert files to images, and extract files from converted images.
The image above is a demonstration of this code. It is composed of 27 folders containing a total of 520 files. Each source file is an implementation of "Hello World" in a different programming language. The files can be obtained from the hello-world repository which was inspired by The Hello World Collection.
Due to the way certain aspects of this code is implemented, there are some known limitations.
- File name is 1 byte. Equivalent to 256 characters/bytes (including extensions).
- File size is 4 bytes. Equivalent to 4,294,967,295 bytes or 4.29 gigabytes of data.
- If the input is too large, you may exceed the Java heap space, resulting in a crash.
This project is licensed under the MIT License - see the LICENSE.md file for details