A lightweight desktop tool to resize and compress images using Python and a simple GUI built with Tkinter.
Designed to reduce image size without significant quality loss, with automatic compression and dimension adjustment.
- Compress images to under 300KB (or any specified target).
- Resize images (default: 800x800 pixels).
- Supports common formats: JPG, PNG, WEBP, BMP.
- Simple graphical interface.
- User alerts for success or failure of the operation.
pip install -r requirements.txt
pillowβ For image processing.pyinstallerβ To optionally build an executable file.
- Run the script
myfoto.py. - Select an image from your system.
- The image will be resized and compressed to the same directory with a name like
image_compressed.jpg. - A message box will confirm whether the compression was successful.
python myfoto.py
tameronline-foto/
βββ README.md β This file
βββ LICENSE β Apache 2.0 license
βββ myfoto.py β Main script for GUI and image processing
βββ requirements.txt β Required libraries
You can use PyInstaller to generate an executable:
pyinstaller --onefile myfoto.py
The executable will appear in the dist/ folder.
This project is licensed under the Apache License 2.0.
iοΈ Note: This repository is currently under initial setup. Final name and structure may change.
To evolve tameronline-foto into a truly production-ready image compression tool, several enhancements are planned or suggested for future development:
-
π₯οΈ Modern GUI
Upgrade the interface from Tkinter to a more modern toolkit such as PyQt5, Ttk, or even a cross-platform solution like Electron for a smoother user experience. -
π Batch Processing Support
Enable users to compress multiple images at once by selecting folders instead of single files. -
ποΈ Advanced Compression Controls
Add settings for users to adjust output quality, choose specific formats like WebP, and fine-tune compression ratio. -
π§° Installer Package
Create a user-friendly Windows installer (using tools like Inno Setup or NSIS) to simplify deployment. -
π Dedicated Landing Page
Develop a simple static website for the project with a clean UI, feature overview, screenshots, and direct downloads. -
π’ Release & Distribution
Publish the application to broader platforms like Product Hunt, Softpedia, AlternativeTo, and relevant open-source directories. -
π Update Notification System
Implement a lightweight mechanism to notify users when a new version is available (e.g., via API or version check).
- Tamer Hamad Faour β GitHub: TamerOnLine