You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1.4 KiB

Imaginator

Batch image resizer and converter — CLI and desktop GUI.

Project structure

imaginator/
  core/               Shared processing logic (no UI dependencies)
    types.go          Config, ProcessResult, ImageSummary, Progress
    collect.go        Directory walking and file filtering
    validate.go       Config validation
    naming.go         Filename transformations (replace, case, spaces)
    encode.go         Image encoding helpers
    process.go        Single-image processor + concurrent batch runner
  cmd/
    cli/main.go       Command-line interface
    gui/main.go       Fyne desktop application
  go.mod
  Makefile

Build

# Both binaries
make all

# CLI only
make cli

# GUI only
make gui

# Windows GUI (no console window)
make gui-win

Requirements

  • Go 1.22+
  • Fyne dependencies: on Linux, libgl1-mesa-dev, xorg-dev
  • On macOS and Windows: no extra dependencies

CLI usage

imaginator -dir ./photos -out ./thumbs -width 800
imaginator -dir ./raw -out ./web -width 1920 -height 1080 -format jpg -quality 90
imaginator -dir ./icons -out ./dist -width 64 -format png -ts src/assets/icons.ts

Run imaginator -help for the full flag reference.

GUI

imaginator-gui

Three tabs: Configure (all options), Progress (real-time log and progress bar), Results (table with before/after preview on row click).

Powered by TurnKey Linux.