{"id":23443340,"url":"https://github.com/asrot0/image-viewer-and-editor","last_synced_at":"2025-04-09T22:27:09.171Z","repository":{"id":207370662,"uuid":"719080163","full_name":"asRot0/Image-viewer-and-editor","owner":"asRot0","description":null,"archived":false,"fork":false,"pushed_at":"2024-04-14T06:29:42.000Z","size":1756,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-04-14T11:45:42.239Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/asRot0.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-11-15T12:11:24.000Z","updated_at":"2024-04-15T15:58:55.169Z","dependencies_parsed_at":"2024-04-14T07:31:52.250Z","dependency_job_id":null,"html_url":"https://github.com/asRot0/Image-viewer-and-editor","commit_stats":null,"previous_names":["asif7707/image-viewer-and-editor","asrot0/image-viewer-and-editor"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asRot0%2FImage-viewer-and-editor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asRot0%2FImage-viewer-and-editor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asRot0%2FImage-viewer-and-editor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asRot0%2FImage-viewer-and-editor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/asRot0","download_url":"https://codeload.github.com/asRot0/Image-viewer-and-editor/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248121886,"owners_count":21051202,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-23T18:17:48.801Z","updated_at":"2025-04-09T22:27:09.162Z","avatar_url":"https://github.com/asRot0.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Image Viewer and Editor *(PhotoFly)*\n\n![Project Logo](./assets/image.png) \u003c!-- Optional: Add an image logo --\u003e\n\nWelcome 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.\n\n---\n\n## 🚀 Features\n\n- **Intuitive User Interface**: Designed for ease of use, even for beginners. 🎮\n- **Image Manipulation**: Rotate, zoom, flip, and apply various color adjustments and effects. 🔄\n- **Multiple Export Formats**: Save your edited images in JPG or PNG formats. 💾\n- **Real-Time Preview**: See changes as you make them with real-time updates. 👁️\n- **Customization**: Adjust sliders and switches to fine-tune your images. ⚙️\n- **About Section**: View information about the application, its version, and the developer.ℹ️\n\n---\n\n## 🛠️ Installation\n\nTo set up the Image Viewer and Editor on your local machine, follow these steps:\n\n1. **Clone the Repository:**\n   ```bash\n   git clone https://github.com/asRot0/Image-viewer-and-editor.git\n2. **Navigate to the Project Directory:**\n    ```bash\n   cd Image-viewer-and-editor\n3. **Install Dependencies: Make sure you have Python installed. Then install the required libraries using pip**\n    ```bash\n   pip install -r requirements.txt\n4. **Run the Application: Start the application using the command**\n    ```bash\n   python run.py\n#\nTo run this project, you need to have the following dependencies installed:\n\n- customtkinter==5.2.2\n- Pillow==10.2.0\n- CTkToolTip==0.8\n- CTkMessagebox==2.5\n\nYou can install them using `pip`. Open your terminal or command prompt and run the following commands:\n\n```bash\npip install customtkinter==5.2.2\npip install Pillow==10.2.0\npip install CTkToolTip==0.8\npip install CTkMessagebox==2.5\n```\n\n---\n\n## 🖼️ Usage\n\n### Launching the Application\nAfter running `run.py`, the main interface will appear.\n\n### Opening an Image\nUse 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.\n\n### Editing the Image\n- **Position Tab**: Adjust the rotation and zoom level using sliders. You can also flip the image vertically or horizontally. 🔄\n- **Color Tab**: Modify properties like brightness, contrast, and vibrance. You can also convert the image to grayscale or invert its colors. 🌈\n- **Effects Tab**: Apply various effects to the image, including blur and contour. ✨\n\n### Exporting the Edited Image\n- Use the `Export` section to specify a name and choose the format (JPG or PNG). Click the save button to export your edited image. 💾\n\n---\n\n## 🧩 Code Structure\nThe project is organized as follows:\n\n```lua\nImage-viewer-and-editor/\n|-- assets/                 # Contains assets like images and icons\n|-- files/                  # Main application files\n|   |-- __init__.py\n|   |-- frame.py            # Frame structure and layout\n|   |-- frame_widgets.py    # Widgets for frames\n|   |-- image_widgets.py    # Image handling widgets\n|   |-- menu.py             # Main menu and tabs\n|   |-- panels.py           # UI panels and components\n|   |-- photo_editor.py     # Main application logic\n|   |-- settings.py         # Configuration settings\n|-- run.py                  # Entry point for the application\n```\n\n---\n\n## 🖌️ Key Files and Their Responsibilities\n\n- **run.py**: The main entry point of the application, responsible for launching the application. 🚀\n\n- **settings.py**: Contains configuration settings, constants, and paths for assets used in the application. ⚙️\n\n- **menu.py**: Implements the main menu layout and manages the navigation between different editing tabs. ✂️\n\n- **panels.py**: Contains various UI panels that house the editing controls and options for users. 🔧\n\n- **photo_editor.py**: This file contains the core logic for the image editing functionalities. 🖼️\n\n---\n\n## 🖥️ Components Overview\n\n### Main Components 🌍\n\n- **Menu**: The application is organized into tabs:\n  - **Position**: Adjust image rotation and zoom. 🔄\n  - **Color**: Modify brightness, contrast, and color settings. 🎨\n  - **Effects**: Apply effects like blur or contour. ✨\n  - **Export**: Specify the file name and format for saving the image. 🗂️\n\n- **Panels**: Each tab contains specific panels that group related controls, making it easy for users to navigate the functionalities. 🧩\n\n- **Settings**: Centralized settings for asset paths and default values used throughout the application. ⚙️\n\n---\n\n## 🔧 Detailed Functionality\n\n### Position Frame\n- **Rotation** 🔄: Control the rotation of the image from 0 to 360 degrees using a slider.\n- **Zoom** 🔍: Adjust the zoom level from 0% to 200% using a slider.\n- **Invert** 🔃: Use a segmented button to flip the image in different orientations (None, X, Y, Both).\n\n### Color Frame\n- **Brightness** ☀️: Adjust the brightness of the image with a slider (0 to 5).\n- **Grayscale** ⚫⚪: Convert the image to black and white using a switch.\n- **Invert Colors** 🔄: Toggle color inversion using a switch.\n- **Vibrance** 🌈: Adjust the vibrance of the image with a slider (0 to 5).\n\n### Effects Frame\n- **DropDown Menu** 🎨: Select from various effects (None, Emboss, Find edges, etc.).\n- **Blur** 🌫️: Apply a blur effect adjustable from 0 to 10.\n- **Contrast** 🌓: Adjust the contrast of the image from 0 to 10.\n\n### Export Frame\n- **File Name** 📝: Input the desired file name for the exported image.\n- **File Format** 🖼️: Choose between JPG and PNG formats using checkboxes.\n- **File Path** 📂: Select the destination folder for saving the edited image.\n- **Save Button** 💾: Click to export the edited image with the specified parameters.\n\n---\n\n## 📸 Screenshots\n\n#### Main Interface\n![screenshots](screenshots/screenshot%20(1).png)\n[All screenshots](screenshots/README.md)\n\n---\n\n## 🐛 Known Issues\n\nWell... there *might* be a little bug somewhere in the app 🐞. It's just hanging out, living its best life. Can you spot it? 👀 \n\nIt's like a scavenger hunt, but instead of prizes, you get some sweet debugging skills! 😎🔧\n\nP.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! 💻✨\n\n---\n\n## 🤝 Contributing\nContributions are welcome! If you have suggestions for improvements or new features, please create an issue or submit a pull request. 💡\n\n## 📜 License\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details. 📜\n\n## 📞 Contact\nFor any questions or inquiries, feel free to contact.\n- *Name*: Asif Ahmed *`(asRot0)`*\n- *LinkedIn*: [in/asifahm9090](https://www.linkedin.com/in/asifahm9090/)\n\n---","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasrot0%2Fimage-viewer-and-editor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fasrot0%2Fimage-viewer-and-editor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasrot0%2Fimage-viewer-and-editor/lists"}