FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

MRThugh/Formato-Image-Converter: ๐ŸŒŒ Professional Image Studio | Multithreaded Batch Processor | Smart Compressor | Watermark Engine | PDF Builder | Icon & Favicon Generator | Built with Python & CustomTkinter. ยท GitHub

Repository navigation

About

๐ŸŒŒ Professional Image Studio | Multithreaded Batch Processor | Smart Compressor | Watermark Engine | PDF Builder | Icon & Favicon Generator | Built with Python & CustomTkinter.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

ย 

History

44 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Formato โ€” Professional Desktop Image Studio

High-performance, Native Cross-Platform Desktop Image Processing & Conversion Studio
Built with Python 3.11+, PySide6 (Qt6), and Pillow.


๐ŸŒŸ Overview

Formato is a native, professional desktop application engineered for batch image conversion, smart compression, color grading, watermarking, multi-resolution icon authoring, and multi-page PDF compilation.

Unlike browser-based wrappers or heavy electron apps, Formato runs 100% locally and natively on your machine with minimal resource overhead, thread-safe asynchronous execution, and real-time live previewing.


โœจ Key Features

๐Ÿ—‚ Batch Image Converter

  • Multi-Format Support: High-fidelity conversion across JPEG, PNG, WEBP, TIFF, BMP, and GIF.
  • Collision-Safe Export: Never overwrites existing files โ€” automatically resolves duplicate filenames cleanly (photo_1.webp, photo_2.webp) with atomic write protection.
  • Smart Compression: Intelligent binary search algorithm to target specific file sizes (e.g. 150 KB) without manual trial-and-error.
  • Aspect-Ratio Resizing:
    • Fit: Constrains inside a bounding box while strictly maintaining aspect ratio.
    • Fill / Crop: Centers and crops edges to achieve an exact dimensional canvas.
    • Stretch: Scaled directly to specified pixel bounds.
  • Color & Tonal Grading: Real-time Brightness, Contrast, Saturation, and Sharpness controls.
  • Artistic & Utility Filters: Grayscale, Auto-Contrast, Edge Enhancement, Sharpen, Blur, Contour, and Emboss.
  • Visual Watermarking: Real-time PNG watermark overlays with opacity, size scaling, and margin offsets.
  • EXIF & Metadata Engine: Preserve original camera EXIF or inject custom Author, Copyright, and Description tags.
  • Thread-Safe Queue & Live Counter: Visual progress tracking, item deletion, and real-time counter (Queue ยท 5 Files).
  • Instant Cancellation: Interrupt batch jobs safely at any moment without leaving corrupted or half-written files.

๐Ÿ“„ Multi-Page PDF Builder

  • Memory-efficient image-to-PDF compilation.
  • Supports A4, A5, Letter, and Original page sizes with custom orientation (Portrait / Landscape), Fit/Fill sizing, and configurable page margins.

๐ŸŽจ Icon & Favicon Generator

  • Master image downsampling into multi-resolution Windows .ico files containing embedded 16ร—16, 32ร—32, 48ร—48, 64ร—64, 128ร—128, and 256ร—256 px mipmaps.

๐Ÿ’พ Preset Management

  • Save and load complete workspace configurations to portable .json files.

๐Ÿ— Native Desktop Architecture

Formato/
โ”œโ”€โ”€ core/                       # Core Image Processing Engine
โ”‚   โ”œโ”€โ”€ pipeline.py             # Single unified processing pipeline (Preview & Batch)
โ”‚   โ”œโ”€โ”€ watermark.py            # Watermark overlay calculation & safe coordinate clamping
โ”‚   โ”œโ”€โ”€ pdf_builder.py          # Memory-efficient multi-page PDF generation
โ”‚   โ””โ”€โ”€ icon_builder.py         # Multi-size Windows .ico generator
โ”œโ”€โ”€ models/                     # Data Models & Qt Models
โ”‚   โ”œโ”€โ”€ conversion_settings.py  # Dataclass with validation & clamping
โ”‚   โ””โ”€โ”€ queue_model.py          # Thread-safe QAbstractListModel with thumbnail caching
โ”œโ”€โ”€ views/                      # Native Qt6 User Interface
โ”‚   โ”œโ”€โ”€ main_window.py          # Main Window, Sidebar navigation, and Workspaces
โ”‚   โ””โ”€โ”€ widgets.py              # Custom Qt Widgets & Item Delegates
โ”œโ”€โ”€ workers/                    # Asynchronous Threading
โ”‚   โ”œโ”€โ”€ conversion_worker.py    # QThread batch processing with Signal/Slot communication
โ”‚   โ”œโ”€โ”€ preview_worker.py       # Debounced, cancellable live preview worker
โ”‚   โ””โ”€โ”€ pdf_worker.py           # Background PDF export worker
โ”œโ”€โ”€ utils/                      # Utilities & Helpers
โ”‚   โ”œโ”€โ”€ paths.py                # Cross-platform asset, log, and runtime path resolver
โ”‚   โ”œโ”€โ”€ logging.py              # Centralized logging engine
โ”‚   โ”œโ”€โ”€ filenames.py            # Collision-proof unique output paths & atomic file writes
โ”‚   โ””โ”€โ”€ helpers.py              # Dimension math and conversions
โ”œโ”€โ”€ assets/                     # Application Icons and Branding
โ”œโ”€โ”€ tests/                      # Automated Unit Test Suite (30 Tests)
โ”œโ”€โ”€ config.py                   # Centralized Configuration & Dark QSS Theme
โ”œโ”€โ”€ formato.spec                # PyInstaller executable specification
โ””โ”€โ”€ main.py                     # Native desktop entry point

Threading & Safety Guarantees

  • No UI Touches from Background Threads: Worker threads communicate strictly via Qt Signals (file_progress, file_completed, overall_progress, batch_finished).
  • Atomic Disk Writes: Files are written to hidden temporary files first and atomically swapped upon successful completion.
  • Safe Watermark Clamping: Watermarks larger than the target canvas are scaled down dynamically, eliminating coordinate overflow bugs.

๐Ÿš€ Installation & Local Execution

Prerequisites

  • Python 3.11 or higher
  • pip

1. Clone the Repository

git clone https://github.com/MRThugh/Formato-Image-Converter.git
cd Formato-Image-Converter

2. Set Up a Virtual Environment (Recommended)

python3 -m venv venv
# Linux / macOS:
source venv/bin/activate
# Windows:
.\venv\Scripts\activate

3. Install Dependencies

pip install --upgrade pip
pip install -r requirements.txt

4. Run the Application

python main.py

๐Ÿงช Running the Test Suite

Formato includes a comprehensive test suite covering all image transformations, smart compression, EXIF preservation, filename collisions, watermark clamping, and PDF compilation:

python -m unittest discover -s tests -v

๐Ÿ“ฆ Building Standalone Executables (PyInstaller)

To build standalone, single-file or directory binaries for distribution:

Using the Included PyInstaller Spec:

pip install pyinstaller
pyinstaller formato.spec --noconfirm

The output executable will be placed in the dist/ directory:

  • Windows: dist/Formato.exe
  • Linux: dist/Formato
  • macOS: dist/Formato.app

๐ŸŒ Automated CI/CD & Releases

The repository includes a GitHub Actions workflow (.github/workflows/build.yml) that automatically:

  1. Runs the full unit test suite across Python 3.11.
  2. Builds native executables and installers:
    • Windows: Inno Setup installer (.exe)
    • macOS: Apple Disk Image (.dmg)
    • Linux: Standalone .tar.gz archive
  3. Automatically publishes GitHub Releases with release assets whenever a version tag (e.g. v2.6.0) is pushed.

๐Ÿ‘จโ€๐Ÿ’ป Author & Credits

About

๐ŸŒŒ Professional Image Studio | Multithreaded Batch Processor | Smart Compressor | Watermark Engine | PDF Builder | Icon & Favicon Generator | Built with Python & CustomTkinter.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages


Back | FazBrowse Home | New Git URL