Skip to content

ImaGUIck is a free and open-source software, using ImageMagick®, used for editing and manipulating digital images. It can be used to edit or convert images, and supports a wide range of file formats, including JPEG, PNG, GIF, TIFF, and PDF.

License

Notifications You must be signed in to change notification settings

tiritibambix/ImaGUIck

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Imaguick: Image Resizer Web Application with Docker

This repository contains a Python-based web application for resizing images, built using Flask and ImageMagick 7.1.1-41.

The application supports resizing local files, downloading images from URLs, batch processing, and format conversions. It provides a modern web-based interface with responsive design.

Features

  • Resize Options:
    • Resize images by dimensions (pixels) with optional aspect ratio preservation.
    • Resize images by percentage.
  • Batch Processing:
    • Resize multiple images simultaneously.
    • Automatically compress processed images into a ZIP file.
  • URL Support:
    • Download and resize images from external URLs.
    • Supports complex URLs with query parameters.
  • Format Conversion:
    • Convert images to different formats (e.g., JPG, PNG, WEBP).
  • Responsive Web Interface:
    • Accessible on desktop and mobile devices.
    • Modern design using HTML5 and CSS.
  • Optimized Metadata Handling:
    • Removes unnecessary metadata (e.g., EXIF data) to optimize file size.

Prerequisites

  1. Install Docker
    Ensure Docker is installed on your system. You can download it from Docker's official website.
  2. Web Browser
    A modern web browser (e.g., Chrome, Firefox, Edge) is required to access the interface.

How to Use

1. Clone the repository

git clone https://github.com/tiritibambix/ImaGUIck.git
cd ImaGUIck

2. Build the Docker image

docker build -t imaguick .

3. Run the application

docker run -it --rm \
    -v $(pwd)/uploads:/app/uploads \
    -v $(pwd)/output:/app/output \
    -p 5000:5000 \
    imaguick

4. Access the Web Interface

Open your browser and navigate to http://localhost:5000 to access the application.


Docker-compose

Alternatively, you can use docker-compose to run the application:

services:
  imaguick:
    stdin_open: true
    tty: true
    volumes:
      - ./uploads:/app/uploads
      - ./output:/app/output
    ports:
      - 5000:5000
    image: tiritibambix/imaguick:latest
networks: {}

Usage Instructions

Upload Local Files

  • Navigate to the homepage and upload one or more images.
  • Proceed to the resize options for individual or batch processing.

Resize Options

  • Resize by Pixels: Enter width and height. Enable the "Keep Aspect Ratio" checkbox to maintain proportions.
  • Resize by Percentage: Enter a percentage (1-100) for scaling.

Download from URLs

  • Enter an image URL in the "Download and Upload" section.
  • The image will be downloaded and processed.

Batch Processing

  • Select multiple images for batch resizing.
  • Results are provided as a downloadable ZIP file.

Project Structure

imaguick/
├── Dockerfile         # Instructions to build the Docker image
├── requirements.txt   # Python dependencies
├── app.py             # The main Python application
├── templates/         # HTML templates for the web interface
│   ├── index.html     # Homepage
│   ├── resize.html    # Resize options for individual images
│   ├── resize_batch.html # Batch processing options
├── README.md          # Documentation
├── LICENSE            # License for ImageMagick
└── .gitignore         # Excluded files for version control

Known Limitations

  • Images hosted on certain servers may require specific headers (e.g., User-Agent) to download successfully.
  • Very large images or files may impact performance.

License

This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.

You are free to:

  • Share — copy and redistribute the material in any medium or format
  • Adapt — remix, transform, and build upon the material

Under the following terms:

  • Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
  • NonCommercial — You may not use the material for commercial purposes.

For more information, visit: https://creativecommons.org/licenses/by-nc/4.0/

ImageMagick's license can be found HERE.

About

ImaGUIck is a free and open-source software, using ImageMagick®, used for editing and manipulating digital images. It can be used to edit or convert images, and supports a wide range of file formats, including JPEG, PNG, GIF, TIFF, and PDF.

Topics

Resources

License

Stars

Watchers

Forks