Skip to content

Repository files navigation

RIG-Linux - (Random Image Generator)

GitHub stars License Code Size

This program creates images from random pixels, based on user input.

Users can currently specify:

  • -s or --size <width height>
    • Changed the order in 2.0!
  • -c or --count <number>
    • This many images will be generated.
  • -f or --format <image format>
    • It supports png or jpg (jpeg) formats. When not used, defaults to png.
  • -a or --alpha
    • Use transparent pixels in png. With jpeg, this will be ignored.
  • --termux-external
    • When used in Termux, images will be moved to your internal storage.
  • -d or --debug
    • Print debug info.
  • --rgb or --RGB <RED GREEN BLUE>
    • This sets the values in each channel, so you can make colorful or darker images.
  • --sensor-noise
    • Puts lines on the pictures, like image sensors with high iso.
  • -q or --quality
    • Specifies the quality for JPEG images, unaffective in png.
  • -h or --help
    • Prints this message to console.

Download

Head to the releases section and download from there if I don't forget to release the executable files. After unpacking, if you have permission issues, usually a chmod +x solves the issue. If you don't find the executables you need, build from source.

Dependencies

You need to have gcc, make, git installed.

Fedora

sudo dnf update && sudo dnf install gcc make git

Termux

apt update && apt install clang make git

(Termux doesn't have gcc in default repo. Clang should work instead as it has an alias)

Arch

sudo pacman -Syu gcc make git

Debian

sudo apt update && sudo apt install gcc make git

How to download and build from source

  1. You need to have the dependencies (listed in their section above) installed. If you don't know how to do it, search how to install package name on your Linux distro's name
  2. $ git clone --recurse-submodules https://github.com/SzBenedek2006/RIG-Linux.git
  3. $ cd RIG-Linux/
  4. $ make It will make an executable named RIG-<your_architecture>. (For example RIG-x86_64 or RIG-aarch64)
  5. $ bin/RIG-\<your_architecture\> -h This will run the program and print the help message.

Updating

  1. $ git pull && git submodule update --recursive

IMPORTAN: If you cloned the repo before the addition of the stb library directory (or before an stb update), you should run the following command too, after the first. 2. $ git submodule update --init --recursive

Todo / The current state of the project

  • More output format
  • Basic user input handling
  • User input handling for
    • Formats
      • PNG
      • JPG
        • Compression toggle
      • Webp
      • HEIC
    • Choosing between b&w and color output
    • Resolution
    • Image count
    • Alpha channel (PNG)
  • Make use of termux setup-external-storage
  • Add debug option
    • Make printing debug messages a function and fix rendering issue with the progressbar
  • Add a progressbar
  • Add CLI completion
  • Add a calculator for file size
  • Move to stb libraries for image handling.
  • Add an automatic release workflow
    • Support more architectures
    • Support automatically making a new tag based on the version in version.h

Supported OS-es

GNU/Linux, Android/Linux (see the Termux section), and maybe MacOS and BSD systems. If it has the dependencies and meets the POSIX standard, it should probably run, but the program only has official support for Linux and Android (Termux).

Termux

The program can be run in Termux after installing the dependencies. Since the Termux update, you can use --termux-external command to put the output files to your internal storage. This is recommended for easier access to the generated pictures.

About

A Random Image Generator for Linux, written in C for performance.

Topics

Resources

Stars

7 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages