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.
- 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.
- Install Docker
Ensure Docker is installed on your system. You can download it from Docker's official website. - Web Browser
A modern web browser (e.g., Chrome, Firefox, Edge) is required to access the interface.
git clone https://github.com/tiritibambix/ImaGUIck.git
cd ImaGUIck
docker build -t imaguick .
docker run -it --rm \
-v $(pwd)/uploads:/app/uploads \
-v $(pwd)/output:/app/output \
-p 5000:5000 \
imaguick
Open your browser and navigate to http://localhost:5000
to access the application.
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: {}
- Navigate to the homepage and upload one or more images.
- Proceed to the resize options for individual or batch processing.
- 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.
- Enter an image URL in the "Download and Upload" section.
- The image will be downloaded and processed.
- Select multiple images for batch resizing.
- Results are provided as a downloadable ZIP file.
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
- Images hosted on certain servers may require specific headers (e.g., User-Agent) to download successfully.
- Very large images or files may impact performance.
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.