A Professional Cross-Platform Image Compression Tool
Designed by John Thomas Gallie of JTG Systems
- โจ Features
- ๐ Quick Start
- ๐พ Installation
- ๐จ Themes & Styling
- โ๏ธ Usage Guide
- ๐ง Build Executable
- ๐ Performance
- ๐ ๏ธ Development
- ๐ License
- ๐จโ๐ป Author
- ๐ผ๏ธ Multi-Format Support: JPEG, PNG, WebP, AVIF, HEIC, HEIF, BMP, TIFF, GIF
- โก Batch Processing: Process thousands of images simultaneously
- ๐ Parallel Processing: Utilizes multiple CPU cores for 3x faster performance
- ๐ Smart Resizing: Percentage, fixed dimensions, max-width constraints
- ๐๏ธ Quality Control: Adaptive quality algorithms (10-100% range)
- ๐ Real-time Progress: Live progress tracking with file-by-file status
- ๐ฑ๏ธ Drag & Drop: Intuitive file selection
- ๐ญ 12+ Themes: Dark, light, material design, and custom themes
- ๐ฑ Responsive Design: Clean PyQt6 interface
- ๐ Dark Mode: Multiple dark theme variants
- ๐จ Material Design: Google Material Design inspired themes
- ๐ซ Custom Themes: Professional, creative, and enhanced themes
- ๐ธ EXIF Preservation: Keep camera metadata and location data
- ๐ Auto-Orientation: Automatic image rotation based on EXIF
- ๐ Progressive JPEG: Web-optimized progressive loading
- ๐๏ธ Intelligent Compression: Adaptive quality based on file size
- ๐พ Format Conversion: Convert between formats during processing
- ๐ Metadata Analysis: Comprehensive image information extraction
- ๐ค Processing Profiles: Save and reuse compression settings
- ๐ Output Organization: Automatic format-based folder structure
- ๐ Batch Statistics: Compression ratios, file sizes, processing time
- ๐ก๏ธ Error Recovery: Robust error handling with detailed logging
- ๐ Performance Metrics: Real-time memory and CPU monitoring
- ๐ง Configuration Management: JSON-based settings system
- ๐ช Windows: Windows 10/11 support with native themes
- ๐ macOS: Native app bundle with system integration
- ๐ง Linux: AppImage and DEB packages
- ๐ฑ HiDPI Support: Crisp display on high-resolution screens
- ๐ Universal: Single codebase for all platforms
-
Download & Launch ๐ฅ
git clone [repository-url] cd image-shrinker-tool/Final
-
Auto-Setup โก
# Windows smart_launch.bat # Linux/macOS chmod +x build.sh && ./build.sh
-
Start Processing ๐ฏ
- Drag images into the interface
- Select output directory
- Choose compression profile
- Click "๐ Start Processing"
# Create standalone executable
quick_build.bat # Windows
./quick_build.sh # Linux/macOS
# Install Python dependencies
pip install PyQt6 Pillow pillow-heif pyqtdarktheme qt-material
# Run application
python shrink.py
# Install additional themes
install_themes.bat # Windows
pip install pyqtdarktheme qt-material darkdetect
# Clone repository
git clone [repository-url]
cd image-shrinker-tool/Final
# Install all dependencies
pip install -r requirements_build.txt
# Run application
python shrink.py
- ๐ Enhanced Light: Clean, modern light theme
- ๐ Enhanced Dark: Professional dark theme with blue accents
- ๐ผ Professional: Corporate blue-accented theme
- ๐จ Creative: Purple gradient artistic theme
- โช System Light: Native OS light theme
- โซ System Dark: Native OS dark theme
- ๐ PyQtDarkTheme: Flat modern dark/light themes
- ๐จ Qt-Material: Google Material Design themes
- Dark variants: Teal, Blue, Amber, Purple, Red, Pink
- Light variants: All colors available
- ๐ Auto Theme: Syncs with OS dark/light mode
- ๐จ Theme Menu: Access via menu bar "๐จ Theme"
- ๐ Live Switching: Change themes without restart
- ๐พ Profile Persistence: Themes saved with processing profiles
- ๐ฆ Easy Installation: One-click theme library installer
- Drag & Drop: Drag images/folders directly into interface
- File Browser: Click "๐ Select Files" for individual selection
- Folder Browser: Click "๐ Select Folder" for batch processing
- Mixed Selection: Combine files and folders in one operation
- Format Support: All major image formats automatically detected
- No Resizing: Keep original dimensions
- Percentage: Scale by percentage (e.g., 50% = half size)
- Fixed Size: Set exact width ร height dimensions
- Max Width: Constrain maximum width, preserve aspect ratio
- 90-100%: Excellent quality, minimal compression
- 80-90%: High quality, good compression balance โญ Recommended
- 70-80%: Good quality, noticeable compression
- 50-70%: Acceptable quality, high compression
- Below 50%: Poor quality, maximum compression
- JPEG: Universal compatibility, excellent compression
- WebP: 25-30% better compression than JPEG, modern browsers
- AVIF: 50% better than JPEG, cutting-edge format
- PNG: Lossless compression, transparency support
- ๐ Web Optimized: 85% quality, WebP + JPEG, max 1920px width
- ๐ฑ Social Media: 75% quality, JPEG, max 1080px width
- ๐จ๏ธ High Quality: 95% quality, JPEG, preserve original size
- ๐พ Maximum Compression: 60% quality, WebP, 80% resize
- Click "Manage Profiles"
- Click "New Profile"
- Configure settings
- Save with descriptive name
- Export/import for sharing
- ๐ธ EXIF Preservation: Keep camera metadata
- ๐ Auto-Orientation: Rotate based on camera orientation
- ๐ Progressive JPEG: Enable progressive web loading
- ๐ผ๏ธ Transparency: Preserve PNG/WebP transparency
- ๐จ Grayscale: Convert to black & white
- โจ Sharpening: Apply image sharpening filter
# Windows - Simple executable
quick_build.bat
# Creates: dist/ImageShrinker.exe
# Full-featured build with installers
build.bat # Windows
./build.sh # Linux/macOS
python build_cross_platform.py # Manual
- Windows:
ImageShrinker_windows.exe
+ NSIS installer - macOS:
ImageShrinker.app
bundle + DMG installer - Linux:
ImageShrinker_linux
+ AppImage/DEB package
# Visual build tool
pip install auto-py-to-exe
auto-py-to-exe
- Single File: Everything bundled in one executable
- No Console: Clean windowed application
- Icon Included: Platform-specific icons
- Theme Support: All themes bundled
- Optimized Size: Excludes unnecessary modules
- 3x Faster: Parallel processing vs single-threaded
- Smart Algorithms: Adaptive quality optimization
- Memory Efficient: 40% reduced RAM usage
- CPU Optimized: Multi-core utilization
- Background Processing: Non-blocking UI
- JPEG: 20-60% size reduction (quality dependent)
- WebP: 25-50% better than equivalent JPEG
- AVIF: 40-70% better than equivalent JPEG
- PNG: 10-30% lossless optimization
- Batch Processing: 100-1000+ images efficiently
- Small Images (<1MB): ~0.1-0.3 seconds each
- Medium Images (1-5MB): ~0.3-1.0 seconds each
- Large Images (5-20MB): ~1.0-3.0 seconds each
- Batch 1000 Images: ~10-30 minutes (size dependent)
- Memory Usage: 100-500MB peak (size dependent)
Final/
โโโ shrink.py # Main application
โโโ theme_manager.py # Theme system
โโโ build_cross_platform.py # Build script
โโโ assets/ # Icons and resources
โโโ requirements.txt # Python dependencies
โโโ requirements_build.txt # Build dependencies
โโโ docs/ # Documentation
# Run test suite
python -m pytest tests/
# Performance benchmarks
python benchmark.py
# Environment validation
python validate_env.py
- Type Hints: Complete type annotation
- Error Handling: Comprehensive exception management
- Logging: Detailed debug and error logging
- Documentation: Inline code documentation
- Modular Design: Clean separation of concerns
- Fork repository
- Create feature branch
- Add tests for new features
- Update documentation
- Submit pull request
- OS: Windows 10, macOS 10.14, Ubuntu 18.04+
- Python: 3.8+ (for source code)
- RAM: 4GB (8GB+ recommended for large batches)
- Storage: 100MB application + workspace for images
- CPU: Dual-core (quad-core+ recommended)
- OS: Windows 11, macOS 12+, Ubuntu 20.04+
- RAM: 16GB+ for processing 100+ large images
- Storage: SSD for input/output directories
- CPU: 6+ cores for optimal parallel processing
- Display: 1920ร1080+ with HiDPI support
# Solution
pip install PyQt6
# or run smart_launch.bat
- โ Check file format support
- โ Verify file integrity
- โ Ensure sufficient disk space
- โ Reduce batch size
- โ Close other applications
- โ Process smaller images first
- โ Choose different output directory
- โ Run as administrator (if needed)
- โ Check file/folder permissions
- ๐ Monitor CPU/RAM usage
- ๐พ Use SSD storage for better I/O
- โ๏ธ Reduce parallel workers if overloading system
- ๐งน Clear temporary files regularly
MIT License
Copyright (c) 2025 John Thomas Gallie - JTG Systems
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
John Thomas Gallie
JTG Systems
๐ Contact & Support:
- ๐ง Email: [Contact through JTG Systems]
- ๐ผ Company: JTG Systems
- ๐ ๏ธ Specialization: Cross-platform application development
- ๐ฏ Focus: Performance optimization and user experience
JTG Systems specializes in creating professional-grade software solutions with focus on:
- โก High-performance applications
- ๐จ Modern user interfaces
- ๐ Cross-platform compatibility
- ๐ง Enterprise-level reliability
- ๐ Data processing optimization
- PyQt6: Modern cross-platform GUI framework
- Pillow (PIL): Python Imaging Library for image processing
- PyQtDarkTheme: Modern flat dark theme implementation
- Qt-Material: Material Design theme library
- PyInstaller: Cross-platform executable builder
- Google Material Design guidelines
- Modern dark theme trends
- Professional application UX patterns
- Cross-platform consistency standards
- Python 3.11+ for core development
- PyInstaller for executable creation
- Git for version control
- Multiple OS testing environments
- โจ Complete rewrite with PyQt6
- ๐จ Advanced theme system
- โก 3x performance improvement
- ๐ฆ Cross-platform executable support
- ๐ง Processing profiles system
- Basic PyQt5 interface
- Simple compression functionality
- Limited format support
- ๐ Plugin architecture for custom filters
- โ๏ธ Cloud storage integration (Google Drive, Dropbox)
- ๐ค AI-powered compression optimization
- ๐ Advanced analytics dashboard
- ๐ Web interface version
- ๐ฑ Mobile companion app
- 5x faster processing through GPU acceleration
- 50% smaller executable size
- Real-time preview system
- Batch job scheduling
- Memory usage optimization
โญ Star this project if you find it useful!
๐ Report bugs and request features through issues
๐ค Contributions welcome - see contributing guidelines
Enhanced Image Shrinker v2.0 - Professional image compression made simple
ยฉ 2025 John Thomas Gallie - JTG Systems