This project is a feature-rich Image Editor built with PyQt5. It provides an intuitive graphical user interface (GUI) for editing images with various filters, adjustments, and tools. Whether you're a developer or a casual user, this application is designed to make image editing simple and enjoyable.
- Displays a visually appealing splash screen with a progress bar while the application loads.
- Includes drag-and-drop functionality to move the window.
- A modern file dialog for selecting image files.
- Supports multiple formats:
.jpg
,.png
,.jpeg
,.ico
. - Allows selecting multiple files at once.
- Image Display: Shows the selected image with zoom and pan support.
- Filters: Apply various filters to enhance or stylize images.
- Adjustments: Modify brightness, contrast, saturation, and other image properties.
- Save Functionality: Save edited images in the desired format.
- Zoom Functionality: Zoom in/out using the mouse wheel.
- Flip and Rotate: Easily flip or rotate images.
- Filter Frame: Separate UI component for applying filters.
- Adjustment Frame: Dedicated UI for fine-tuning image properties.
- Reusable Components: Each feature is encapsulated for easy modification and extension.
- Python 3.8 or later
- PyQt5
- OpenCV
- qimage2ndarray
To install the dependencies, run:
pip install PyQt5 opencv-python qimage2ndarray
-
Clone the repository:
git clone https://github.com/imfallah/pyqt5-image-editor.git cd pyqt5-image-editor
-
Install the required dependencies (see above).
-
Run the application:
python main.py
pyqt5-image-editor/
├── main.py # Entry point of the application
├── ui/
│ ├── startup.ui # UI for the file selection window
│ └── main.ui # UI for the main editor window
├── images/ # Directory for sample images (optional)
├── widgets.py # Custom widgets and utility classes
├── index.py # UI components for the splash screen
└── README.md # Project documentation
- Launch the application using
python main.py
. - Use the splash screen to track the loading process.
- Select images through the file dialog.
- Edit images in the main editor window:
- Apply filters using the filter frame.
- Adjust brightness, contrast, and more using the adjustment frame.
- Save your work in the desired format.
- Add more filters and adjustment options.
- Improve the zoom and pan experience.
- Introduce undo/redo functionality.
- Support for batch processing of images.
Contributions are welcome! If you have ideas for new features or improvements, feel free to fork the repository and submit a pull request.