Welcome to the PhotoFly
! This application is designed to provide users with a powerful yet user-friendly interface for viewing and editing images. Built using Python's customtkinter
, it offers a variety of functionalities, including rotating images, adjusting colors, applying effects, and exporting in multiple formats.
- Intuitive User Interface: Designed for ease of use, even for beginners. ๐ฎ
- Image Manipulation: Rotate, zoom, flip, and apply various color adjustments and effects. ๐
- Multiple Export Formats: Save your edited images in JPG or PNG formats. ๐พ
- Real-Time Preview: See changes as you make them with real-time updates. ๐๏ธ
- Customization: Adjust sliders and switches to fine-tune your images. โ๏ธ
- About Section: View information about the application, its version, and the developer.โน๏ธ
To set up the Image Viewer and Editor on your local machine, follow these steps:
- Clone the Repository:
git clone https://github.com/asRot0/Image-viewer-and-editor.git
- Navigate to the Project Directory:
cd Image-viewer-and-editor
- Install Dependencies: Make sure you have Python installed. Then install the required libraries using pip
pip install -r requirements.txt
- Run the Application: Start the application using the command
python run.py
To run this project, you need to have the following dependencies installed:
- customtkinter==5.2.2
- Pillow==10.2.0
- CTkToolTip==0.8
- CTkMessagebox==2.5
You can install them using pip
. Open your terminal or command prompt and run the following commands:
pip install customtkinter==5.2.2
pip install Pillow==10.2.0
pip install CTkToolTip==0.8
pip install CTkMessagebox==2.5
After running run.py
, the main interface will appear.
Use the File Path Panel to select your image file ๐ from your file system. Click the button to open the file explorer and choose your desired image.
- Position Tab: Adjust the rotation and zoom level using sliders. You can also flip the image vertically or horizontally. ๐
- Color Tab: Modify properties like brightness, contrast, and vibrance. You can also convert the image to grayscale or invert its colors. ๐
- Effects Tab: Apply various effects to the image, including blur and contour. โจ
- Use the
Export
section to specify a name and choose the format (JPG or PNG). Click the save button to export your edited image. ๐พ
The project is organized as follows:
Image-viewer-and-editor/
|-- assets/ # Contains assets like images and icons
|-- files/ # Main application files
| |-- __init__.py
| |-- frame.py # Frame structure and layout
| |-- frame_widgets.py # Widgets for frames
| |-- image_widgets.py # Image handling widgets
| |-- menu.py # Main menu and tabs
| |-- panels.py # UI panels and components
| |-- photo_editor.py # Main application logic
| |-- settings.py # Configuration settings
|-- run.py # Entry point for the application
-
run.py: The main entry point of the application, responsible for launching the application. ๐
-
settings.py: Contains configuration settings, constants, and paths for assets used in the application. โ๏ธ
-
menu.py: Implements the main menu layout and manages the navigation between different editing tabs. โ๏ธ
-
panels.py: Contains various UI panels that house the editing controls and options for users. ๐ง
-
photo_editor.py: This file contains the core logic for the image editing functionalities. ๐ผ๏ธ
-
Menu: The application is organized into tabs:
- Position: Adjust image rotation and zoom. ๐
- Color: Modify brightness, contrast, and color settings. ๐จ
- Effects: Apply effects like blur or contour. โจ
- Export: Specify the file name and format for saving the image. ๐๏ธ
-
Panels: Each tab contains specific panels that group related controls, making it easy for users to navigate the functionalities. ๐งฉ
-
Settings: Centralized settings for asset paths and default values used throughout the application. โ๏ธ
- Rotation ๐: Control the rotation of the image from 0 to 360 degrees using a slider.
- Zoom ๐: Adjust the zoom level from 0% to 200% using a slider.
- Invert ๐: Use a segmented button to flip the image in different orientations (None, X, Y, Both).
- Brightness โ๏ธ: Adjust the brightness of the image with a slider (0 to 5).
- Grayscale โซโช: Convert the image to black and white using a switch.
- Invert Colors ๐: Toggle color inversion using a switch.
- Vibrance ๐: Adjust the vibrance of the image with a slider (0 to 5).
- DropDown Menu ๐จ: Select from various effects (None, Emboss, Find edges, etc.).
- Blur ๐ซ๏ธ: Apply a blur effect adjustable from 0 to 10.
- Contrast ๐: Adjust the contrast of the image from 0 to 10.
- File Name ๐: Input the desired file name for the exported image.
- File Format ๐ผ๏ธ: Choose between JPG and PNG formats using checkboxes.
- File Path ๐: Select the destination folder for saving the edited image.
- Save Button ๐พ: Click to export the edited image with the specified parameters.
Well... there might be a little bug somewhere in the app ๐. It's just hanging out, living its best life. Can you spot it? ๐
It's like a scavenger hunt, but instead of prizes, you get some sweet debugging skills! ๐๐ง
P.S. I know about it ๐, but I thought I'd let you have some fun looking for it. Go ahead, give it a try โ I dare you! ๐ปโจ
Contributions are welcome! If you have suggestions for improvements or new features, please create an issue or submit a pull request. ๐ก
This project is licensed under the MIT License. See the LICENSE file for details. ๐
For any questions or inquiries, feel free to contact.
- Name: Asif Ahmed
(asRot0)
- LinkedIn: in/asifahm9090