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