ImaGUIck is a simple and intuitive web application for batch image processing, providing a user-friendly graphical interface to resize and convert your images.
- 🖼️ Single or Batch Image Processing
- 📏 Flexible Resizing Options:
- By specific dimensions (width x height)
- By percentage
- With or without aspect ratio preservation
- 🔄 Support for Multiple Image Formats:
- Common formats (JPG, PNG, GIF, etc.)
- RAW formats (ARW, etc.)
- 🌐 Image Import from URL
- 📦 Batch Export in ZIP Format
- 🎨 Image Quality Control
- 🔍 Automatic Image Type Analysis
- 💾 Intelligent Format Recommendations
- Python 3.9+
- Docker (optional)
ImageMagick 7.1.1-41
- ExifTool
-
Clone the repository:
git clone https://github.com/your-username/ImaGUIck.git cd ImaGUIck
-
Install Python dependencies:
pip install -r requirements.txt
-
Run the application:
python app.py
-
Clone the repository
git clone https://github.com/tiritibambix/ImaGUIck.git cd ImaGUIck
-
Build the Docker image
docker build -t imaguick .
-
Run the application
docker run -it --rm \ -v $(pwd)/uploads:/app/uploads \ -v $(pwd)/output:/app/output \ -p 5000:5000 \ imaguick
services:
imaguick:
stdin_open: true
tty: true
volumes:
- ./uploads:/app/uploads
- ./output:/app/output
ports:
- 5000:5000
image: tiritibambix/imaguick:latest
networks: {}
-
Access the application via your browser:
http://localhost:5000
-
Choose your import method:
- Upload file(s) from your computer
- Import from a URL
-
Configure your processing options:
- Output dimensions
- Image quality
- Output format
-
Start processing and download your images.
- Backend: Flask (Python)
- Image Processing:
- ImageMagick 7.1.1-41
- ExifTool
- Pillow
- Frontend: HTML/CSS/JavaScript
- Containerization: Docker
imaguick/
├── .github
| ├── workflows
| | ├── docker-build-test.yml
| | ├── docker-build.yml
├── .gitignore # Excluded files for version control
├── Dockerfile # Instructions to build the Docker image
├── LICENSE # License for ImaGUIck and ImageMagick
├── README.md # Documentation
├── TODO.md
├── app.py # The main Python application
├── requirements.txt # Python dependencies
├── templates # HTML templates for the web interface
| ├── index.html # Homepage
| ├── resize.html # Resize options for individual images
| ├── resize_batch.html # Batch processing options
Contributions are welcome! To contribute:
- Fork the project
- Create a branch for your feature (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the Creative Commons Attribution-NonCommercial 4.0 International License - see the LICENSE file for details.
ImageMagick's license can be found HERE.
- Modify supported formats: See the
get_available_formats()
function inapp.py
- Add new processing features: Extend the
build_imagemagick_command()
function inapp.py
For any questions or suggestions, feel free to:
- Open an issue on GitHub
- Submit a pull request
- Contact the project maintainer
Made with ❤️ in Python