Skip to main content

🖼️ imgtoolpro

✨🖼️ A Python image processing toolkit for simple and practical image operations.


📖 Introduction

imgtoolpro is a Python library designed to provide useful and easy-to-use tools for working with images.

The goal of this project is to create a lightweight and expandable toolkit that allows developers to perform common image-related tasks with a simple and organized structure.

The library is designed to grow over time by adding more image processing features and utilities.


✨ Current Features

📦 Modules

  • 🖼️ Converter Module
  • 🗜️ Compressor Module
  • 🎨 Filters Module
  • ✏️ Editor Module
  • 🎞️ Animation Module
  • 🔍 Inspector Module
  • 🔼 Upscaler Module

🚀 Converter Features

  • 🔄 Convert images between 13 supported formats
  • 🔍 Automatic image format detection
  • 📋 Supported formats list
  • ✅ Image validation before conversion
  • 📁 Output path validation
  • 🎨 Automatic handling of RGB, RGBA, LA and P image modes

🗜️ Compressor Features

  • 📦 Compress images to a custom target file size
  • 🎯 Default target size: 500 KB
  • ⚙️ Adjustable target_kb parameter
  • 🖼️ Supports JPG, JPEG, PNG, GIF, TIFF and WebP
  • 📉 Automatic quality optimization
  • 📊 Returns compression information:
    • 📏 Original size
    • 📉 Final size
    • 💾 Saved size
    • 📈 Reduction percentage
    • 🎚️ Final quality
    • 🖼️ Image dimensions
  • 🛡️ Built-in error handling

🎨 Filters Features

  • 🖌️ 23 built-in image filters
  • 🎯 Apply single or multiple filters

✏️ Editor Features

  • 📐 Resize and scale images
  • ✂️ Crop images in multiple ways
  • 🔄 Rotate and flip images
  • 🎨 Adjust brightness, contrast, saturation and sharpness
  • 🖌️ Draw text and shapes on images
  • 🖼️ Overlay, merge and combine images
  • 💧 Add text or image watermarks
  • 🧹 Remove or replace simple backgrounds
  • 🖼️ Add borders, frames and rounded corners
  • 🔧 Automatic image enhancement and noise reduction
  • 📊 Image information and utility functions
  • 💾 Automatic image saving with output validation
  • 🛡️ Built-in error handling and input validation

🎞️ Animation Features

  • 🎬 Create GIF animations from multiple images
  • 🖼️ Extract frames from GIF files
  • 📊 Get complete GIF information:
    • 📏 Image dimensions
    • 🎞️ Frame count
    • ⏱️ Frame durations
    • 🔁 Loop information
    • 💾 File size information
  • ⚡ Change GIF animation speed
  • 🔄 Reverse GIF animations
  • 🧩 Merge multiple GIF files into one animation
  • ✏️ Add animated text to GIF files
  • 🖼️ Create moving image animations
  • 🎥 Convert videos to GIF animations
  • 🎬 Convert GIF animations to MP4 videos
  • 📐 Automatic frame size normalization
  • 🎨 Support for RGBA and transparent images
  • 🛡️ Built-in validation and error handling

🔍 Inspector Module Features

  • 📋 Get complete image information

📁 File Information

  • 📄 Get file name
  • 📂 Get absolute file path
  • 📏 Get file size in bytes and readable format
  • 🏷️ Get file extension
  • 🌐 Get MIME type
  • 🕒 Get:
    • Creation time
    • Modification time
    • Last access time

🖼️ Image Information

  • 📐 Get image width and height
  • 🔢 Calculate total pixel count
  • 🎨 Detect image color mode
  • 🌈 Get number of color channels
  • 📏 Calculate aspect ratio
  • 🔢 Get image bit depth
  • 🖼️ Detect image format

🎨 Color Analysis

  • 🌈 Calculate average color
  • 🎯 Extract dominant colors
  • 📊 Get color histogram
  • 🔢 Count unique colors
  • ☀️ Calculate brightness
  • ⚖️ Calculate contrast
  • 🌈 Calculate saturation

💧 Transparency Information

  • 🔍 Detect alpha channel
  • 🖼️ Detect image transparency
  • 🔢 Count transparent pixels
  • 📊 Get complete transparency information

📷 EXIF Information

  • 📋 Get complete EXIF metadata
  • 📸 Detect camera manufacturer
  • 📷 Detect camera model
  • 🔭 Get lens information
  • 🎯 Get focal length
  • ⚙️ Get ISO value
  • 🌗 Get aperture value
  • ⏱️ Get shutter speed
  • 💡 Get flash information
  • 📅 Get original capture date
  • 🌍 Get GPS information and coordinates

🎞️ Animation Information

  • 🎬 Detect animated images
  • 🖼️ Get frame count
  • ⏱️ Get total animation duration
  • ⚡ Calculate animation FPS
  • 🔁 Get loop count

✅ Image Validation

  • ✔️ Check image validity
  • 🔍 Detect corrupted images
  • 📂 Check if image can be opened safely
  • 🛡️ Safe validation handling

🎨 Advanced Information

  • 🌈 Detect ICC color profile
  • 🗜️ Get compression information
  • 🎚️ Get JPEG quality information
  • 💾 Estimate image memory usage

🔼 Upscaler Module

  • 📐 Change image resolution to predefined resolutions
  • 🔼 Upscale images from lower resolutions to higher resolutions
  • 🔽 Downscale images from higher resolutions to lower resolutions
  • 🔍 Automatically detect the closest supported resolution
  • 📊 Get image resolution, width and height information
  • 🎯 Support 144p, 240p, 360p, 480p, 576p, 720p, 900p and 1080p
  • 🖥️ Support 2K, 4K, 5K, 6K, 8K, 12K, 16K and 32K
  • 📏 Preserve the original image aspect ratio
  • 🧮 Use high-quality LANCZOS resampling for resizing
  • 🖼️ Support JPG, JPEG, PNG, WEBP, TIFF and BMP
  • 🎨 Handle transparent PNG images during resolution changes
  • 📁 Validate input and output file formats
  • ✅ Validate image files before processing
  • 🛡️ Detect invalid or unsupported image files
  • ⚙️ Provide a general change_resolution() function for all supported resolutions
  • 🔧 Provide dedicated functions for common resolution changes
  • 🚫 Prevent invalid upscaling and downscaling operations
  • 💾 Save the processed image to the specified output path
  • 🛡️ Built-in error handling and input validation

⚡ General Features

  • 🧩 Easy-to-use functions
  • 📂 Clean and organized project structure
  • 💡 Lightweight and easy to integrate
  • 🛡️ Built-in error handling and input validation
  • 🔍 Automatic file and format validation
  • 🎨 Support for multiple image modes
  • 🚀 Expandable design for future features

📚 About The Project

imgtoolpro is created with simplicity and flexibility in mind.

The library is designed to provide practical image processing tools with a clean and simple structure, making it easy to integrate into different Python projects.

The project architecture allows new modules and features to be added in future versions.


📦 Installation

Install imgtoolpro using pip:

pip install imgtoolpro

🔄 Update

Update imgtoolpro to the latest version using pip:

pip install --upgrade imgtoolpro

📂 Modules

🖼️ Converter

The converter module provides tools for converting images between supported formats with automatic format detection and built-in validation.


🗜️ Compressor

The compressor module provides tools for reducing image file size while keeping images practical and easy to use with customizable compression settings.


🎨 Filters

The filters module provides tools for applying built-in image filters, enhancing image appearance, and creating various visual effects with a simple and practical interface.


✏️ Editor

The editor module provides comprehensive image editing tools, including resizing, cropping, rotating, drawing, watermarking, background editing, image composition, and various utilities through a simple and easy-to-use interface.


🎞️ Animation

The animation module provides tools for creating and editing GIF animations, including GIF creation, frame extraction, speed control, reversing, merging, animated text, image movement, and GIF/video conversion.


🔍 Inspector

The inspector module provides tools for analyzing and extracting detailed information from images, including file information, image properties, color analysis, transparency detection, EXIF metadata, animation details, validation checks, and advanced image information through a simple and reliable interface.


🔼 Upscaler

The upscaler module provides tools for changing image resolution, upscaling and downscaling images, preserving aspect ratio, and processing images from 144p up to 32K with high-quality resampling.


💻 Examples

🖼️ Image Converter

🔄 Convert PNG to WEBP

from imgtoolpro import converter

converter.convert_image(
    "input.png",
    "output.webp"
)

🗜️ Image Compression

from imgtoolpro import compressor

result = compressor.compress(
    "input.jpg",
    "output.jpg",
    target_kb=500
)

print(result)

✏️ Image Editor

🔄 Rotate an image

from imgtoolpro import editor

editor.rotate(
    "input.jpg",
    "output.jpg",
    90
)

🎨 Image Filters

✨ Apply a filter to an image

from imgtoolpro import filters

filters.apply_filter(
    "input.jpg",
    "filtered.jpg",
    "blur"
)

🎞️ GIF Animation

🎬 Create a GIF from images

from imgtoolpro import animation

animation.create_gif(
    [
        "frame1.png",
        "frame2.png",
        "frame3.png"
    ],
    "output.gif",
    duration=500
)

🔍 Image Inspector

📋 Get complete image information

from imgtoolpro import inspector

info = inspector.inspect(
    "image.jpg"
)

print(info)

🔼 Image Upscaler

📐 Change image resolution

from imgtoolpro import upscaler

info = upscaler.get_image_quality(
    "input.jpg"
)

print(info)

upscaler.upscale(
    "input.jpg",
    "output_4k.jpg",
    "4K"
)

upscaler.downscale(
    "input_4k.jpg",
    "output_1080p.jpg",
    "1080p"
)

The converter module changes image formats, the compressor module reduces image file size, the filters module applies filters and visual effects, the editor module provides comprehensive image editing tools such as resizing, cropping, rotating, drawing, watermarking, and image composition, the animation module provides tools for creating and editing GIF animations, including GIF creation, frame extraction, speed control, reversing, merging, animated text, image movement, and GIF/video conversion and the inspector module provides tools for analyzing images and extracting detailed information such as file properties, image details, color analysis, transparency information, EXIF metadata, animation details, and validation results.The upscaler module provides tools for changing image resolution, upscaling and downscaling images, detecting image resolution, preserving aspect ratio, and processing images from 144p up to 32K with high-quality resampling.


⚙️ Requirements

Before using imgtoolpro, make sure your environment meets the following requirements:

  • 🐍 Python 3.8 or higher
  • 🖼️ Pillow 10.0.0 or higher
  • 🔢 NumPy (required for image frame processing)
  • 🎥 MoviePy (required for video and GIF conversion features)
  • 🎬 imageio and imageio-ffmpeg (required for video processing)

🐍 Supported Python Versions

Currently supported versions:

  • ✅ Python 3.8
  • ✅ Python 3.9
  • ✅ Python 3.10
  • ✅ Python 3.11
  • ✅ Python 3.12
  • ✅ Python 3.13

🌟 Features Overview

imgtoolpro provides simple and practical tools for common image processing tasks.

The library includes organized modules that allow developers to work with images easily and efficiently.


🚀 Features Overview

🖼️ Image Processing Features

  • 🔄 Image format conversion support
  • 🖼️ Convert images between 13 supported formats
  • 🗜️ Image compression support
  • 🎨 Advanced image filtering system
  • ✏️ Comprehensive image editing tools

🗜️ Image Compressor

  • 📉 Reduce image file size
  • 🎯 Control target output size
  • ⚡ Fast image compression

✏️ Image Editor

  • 📐 Resize and scale images
  • ✂️ Crop images in multiple ways
  • 🔄 Rotate and flip images
  • 🎨 Adjust colors and image appearance
  • 🖌️ Draw text and shapes
  • 🖼️ Overlay, merge, and combine images
  • 💧 Add watermarks and logos
  • 🧹 Remove or replace simple backgrounds
  • 🖼️ Add borders, frames, and rounded corners
  • 🔧 Automatic image enhancement and utilities

🎞️ GIF Animation

  • 🎬 Create GIF animations from multiple images
  • 🖼️ Extract frames from GIF files
  • 📊 Get GIF information and frame details
  • ⚡ Change GIF animation speed
  • 🔄 Reverse GIF animations
  • 🧩 Merge multiple GIF files
  • ✏️ Add animated text to GIFs
  • 🖼️ Create moving image animations
  • 🎥 Convert videos to GIF
  • 🎬 Convert GIF animations to videos

🔍 Image Inspector

  • 📋 Get complete image information

  • 📁 Analyze file information:

    • 📄 File name
    • 📂 File path
    • 📏 File size
    • 🏷️ File extension
    • 🌐 MIME type
    • 🕒 File timestamps
  • 🖼️ Analyze image properties:

    • 📐 Width and height
    • 🔢 Pixel count
    • 🎨 Color mode
    • 🌈 Color channels
    • 📏 Aspect ratio
    • 🔢 Bit depth
  • 🎨 Analyze image colors:

    • 🌈 Average color
    • 🎯 Dominant colors
    • 📊 Histogram
    • 🔢 Unique colors
    • ☀️ Brightness
    • ⚖️ Contrast
    • 🌈 Saturation
  • 💧 Detect transparency information:

    • 🔍 Alpha channel
    • 🖼️ Transparency detection
    • 🔢 Transparent pixel count
  • 📷 Extract EXIF metadata:

    • 📸 Camera information
    • 🔭 Lens information
    • 🎯 Focal length
    • ⚙️ ISO
    • ⏱️ Shutter speed
    • 💡 Flash information
    • 🌍 GPS coordinates
  • 🎞️ Analyze animation details:

    • 🎬 Animated image detection
    • 🖼️ Frame count
    • ⏱️ Duration
    • ⚡ FPS
    • 🔁 Loop information
  • ✅ Validate images:

    • ✔️ Check image validity
    • 🔍 Detect corrupted images
    • 📂 Check opening capability
  • 🌈 Get advanced image information:

    • 🎨 ICC profile
    • 🗜️ Compression information
    • 💾 Memory usage estimation

🎨 23 Built-in Image Filters

  • 🌫️ blur
  • 🌀 gaussian_blur
  • 🖊️ contour
  • 🔍 detail
  • ✨ edge_enhance
  • ⚡ edge_enhance_more
  • 🪙 emboss
  • 📐 find_edges
  • 🌊 smooth
  • 💧 smooth_more
  • 🔪 sharp
  • ⚫ grayscale
  • 🔄 invert
  • 🌅 sepia
  • ☀️ brightness
  • 🌗 contrast
  • 🎭 cartoon
  • 🤖 auto_enhance
  • 🎨 replace_color
  • 🟪 pixelate
  • 🌑 vignette
  • 📺 noise
  • 🌡️ color_temperature

🔼 Image Upscaler Features

  • 📐 Change image resolution to predefined resolutions
  • 🔼 Upscale images to higher resolutions
  • 🔽 Downscale images to lower resolutions
  • 🔍 Detect image resolution automatically
  • 📊 Get image width, height and resolution information
  • 🎯 Support resolutions from 144p up to 32K
  • 🖥️ Support 144p, 240p, 360p, 480p, 576p, 720p, 900p, 1080p, 2K, 4K, 5K, 6K, 8K, 12K and 16K
  • 📏 Preserve original image aspect ratio
  • 🧮 Use high-quality LANCZOS resampling
  • 🖼️ Support JPG, JPEG, PNG, WEBP, TIFF and BMP
  • 🎨 Handle transparent PNG images
  • 📁 Input and output format validation
  • ✅ Image validation before processing
  • 💾 Save processed images automatically
  • 🛡️ Built-in error handling and input validation

⚙️ Additional Features

  • 🎯 Apply single or multiple filters
  • 📋 Filter information and filter list support
  • 🔍 Automatic image format detection
  • 📄 Supported formats list
  • ✅ Image validation before processing
  • 📁 Output path validation
  • 🎨 Automatic image mode handling (RGB, RGBA, LA and P)
  • 💾 Automatic image saving
  • 🛡️ Safe error handling and input validation
  • 🐍 Simple Python API
  • 🖼️ Built with Pillow
  • 🚀 Expandable architecture for adding new image processing features in future versions

💻 Compatibility

imgtoolpro is designed to work on operating systems that support Python, including:

  • 🪟 Windows
  • 🐧 Linux
  • 🍎 macOS

📈 Project Status

🛠️ imgtoolpro is currently under active development.

✨ New features, improvements, and optimizations will be added in future releases.


👨‍💻 Author

Created by: karan.rf


📧 Contact

For questions, suggestions, or support, contact:

📩 imgtoolpro@gmail.com


Thank you for using imgtoolpro!

Release files for imgtoolpro 4.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for imgtoolpro 4.1.1
File Size Uploaded
imgtoolpro-4.1.1.tar.gz 32.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for imgtoolpro 4.1.1
File Interpreter ABI Platform
imgtoolpro-4.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 61.2 kB

Release files / imgtoolpro-4.1.1.tar.gz

Download URL imgtoolpro-4.1.1.tar.gz
Size 32.6 kB
Tags Source
SHA-256 checksum
How to use checksums
f910cd9afdd9882ca252001a5924247e87195664eb5f520d82a21a37075fda5d
BLAKE2b-256 checksum
How to use checksums
72f00dabcf028fdd7a5492c0e6ca6bc73b132783987038b17684231a953f26ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.0

Release files / imgtoolpro-4.1.1-py3-none-any.whl

Download URL imgtoolpro-4.1.1-py3-none-any.whl
Size 28.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
69909b8a5996209a3046702e1d079734e322046d41cd6546780f041b972f301f
BLAKE2b-256 checksum
How to use checksums
0bc61302a6f6061cd1b4733f29d69baa755b100416590a21115acefc96cc3978
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.0

Release history Release notifications | RSS feed

4.2.0

2 release files

This release

4.1.1 This release

2 release files

4.1.0

2 release files

4.0.0

2 release files

3.4.1

2 release files

3.3.1

2 release files

3.3.0

2 release files

3.2.3

2 release files

3.2.2

2 release files

3.2.1

2 release files

3.1.1

2 release files

3.1.0

2 release files

3.0.0

2 release files

2.3.1

2 release files

2.2.0

2 release files

2.1.0

2 release files

2.0.0

2 release files

1.3.1

2 release files

1.2.0

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page