No description
  • Python 99.8%
  • Shell 0.2%
Find a file
François Boulogne 7e54b33080 avoid top app:image
2026-08-15 08:19:04 +02:00
quickimage avoid top app:image 2026-08-15 08:19:04 +02:00
scripts switch to uv 2026-08-14 13:52:29 +02:00
.gitignore avoid top app:image 2026-08-15 08:19:04 +02:00
LICENSE.md Initial import of Quick Image image editor 2026-08-14 11:45:38 +02:00
pyproject.toml avoid top app:image 2026-08-15 08:19:04 +02:00
README.md avoid top app:image 2026-08-15 08:19:04 +02:00
RELEASE.md switch to uv 2026-08-14 13:52:29 +02:00
uv.lock Bump version 2026.08.14.0 -> 2026.08.15.0 2026-08-15 07:36:59 +02:00

Quick Image

Minimalist image editor with basic tools: rotation, crop and save with format conversion.

Features

  • Multi-image carousel: open several images at once and switch between them with a thumbnail strip at the bottom of the window. Edits are kept per image.
  • Vertical tool bar: the editing tools (Rotation 90°, Rotation libre, Crop) sit on a vertical bar on the left, each with its own icon.
  • Rotation 90°: one click rotates the current image 90° clockwise, without quality loss.
  • Free rotation: opens a full-screen dialog with a slider and a live preview of the rotated image (360.0° to +360.0°, clockwise), with a default step of 1° and a 0.1° display precision.
  • Crop: click and drag a rectangle directly on the image, then press the Crop button.
  • Save with format conversion: PNG, JPEG, WebP or BMP, with adjustable quality for JPEG/WebP (RGBA images are flattened onto a white background for lossy formats).
  • Menus: Fichier (Open, Save, Quit) and À propos (license and source code information).
  • Keyboard shortcuts: Ctrl+O open, Ctrl+S save, Ctrl+Q quit.

Installation

uv sync

Usage

Launch the application, optionally preloading a list of image files:

uv run quickimage photo1.jpg photo2.png

The images are loaded into the carousel and the first one is selected. All tools (rotation, crop, save) apply to the currently selected image.

Translations

Source strings are English. French is bundled (quickimage_fr.qm) and loaded at startup when the environment variable QUICKIMAGE_LANG=fr is set, a i18n/language QSettings key exists, or the system locale is French. The UI falls back to English otherwise.

To update or add a language, use the classic Qt tooling:

pyside6-lupdate quickimage/ui.py quickimage/app.py -ts quickimage/resources/translations/quickimage_<lang>.ts
# edit the .ts with Qt Linguist, then:
pyside6-lrelease quickimage/resources/translations/quickimage_<lang>.ts \
    -qm quickimage/resources/translations/quickimage_<lang>.qm

License

GNU General Public License v3.0 — see LICENSE.md.