https://github.com/asrot0/image-viewer-and-editor
https://github.com/asrot0/image-viewer-and-editor
Last synced: 22 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/asrot0/image-viewer-and-editor
- Owner: asRot0
- License: mit
- Created: 2023-11-15T12:11:24.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-04-14T06:29:42.000Z (about 1 year ago)
- Last Synced: 2024-04-14T11:45:42.239Z (about 1 year ago)
- Language: Python
- Size: 1.67 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Image Viewer and Editor *(PhotoFly)*

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.
---
## đ Features
- **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.âšī¸---
## đ ī¸ Installation
To set up the Image Viewer and Editor on your local machine, follow these steps:
1. **Clone the Repository:**
```bash
git clone https://github.com/asRot0/Image-viewer-and-editor.git
2. **Navigate to the Project Directory:**
```bash
cd Image-viewer-and-editor
3. **Install Dependencies: Make sure you have Python installed. Then install the required libraries using pip**
```bash
pip install -r requirements.txt
4. **Run the Application: Start the application using the command**
```bash
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.5You can install them using `pip`. Open your terminal or command prompt and run the following commands:
```bash
pip install customtkinter==5.2.2
pip install Pillow==10.2.0
pip install CTkToolTip==0.8
pip install CTkMessagebox==2.5
```---
## đŧī¸ Usage
### Launching the Application
After running `run.py`, the main interface will appear.### Opening an Image
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.### Editing the 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. â¨### Exporting the Edited Image
- Use the `Export` section to specify a name and choose the format (JPG or PNG). Click the save button to export your edited image. đž---
## đ§Š Code Structure
The project is organized as follows:```lua
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
```---
## đī¸ Key Files and Their Responsibilities
- **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. đŧī¸
---
## đĨī¸ Components Overview
### Main Components đ
- **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. âī¸
---
## đ§ Detailed Functionality
### Position Frame
- **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).### Color Frame
- **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).### Effects Frame
- **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.### Export Frame
- **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.---
## đ¸ Screenshots
#### Main Interface
.png)
[All screenshots](screenshots/README.md)---
## đ Known Issues
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! đģâ¨
---
## đ¤ Contributing
Contributions are welcome! If you have suggestions for improvements or new features, please create an issue or submit a pull request. đĄ## đ License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details. đ## đ Contact
For any questions or inquiries, feel free to contact.
- *Name*: Asif Ahmed *`(asRot0)`*
- *LinkedIn*: [in/asifahm9090](https://www.linkedin.com/in/asifahm9090/)---