Skip to content

JakeJMattson/AnyToImage

Repository files navigation

Kotlin 1.4.10 TornadoFX 1.7.20 release license

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.

demo

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.

Limitations

Due to the way certain aspects of this code is implemented, there are some known limitations.

Input

  • 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.

License

This project is licensed under the MIT License - see the LICENSE.md file for details