PhotoEditor is a photo editing application, written in C#. It provides filtering, drawing, merging and a few others options for editing your photos.
- Clone the repo:
$ git clone https://github.com/EmanuelPutura/PhotoEditor
- From the project's location:
$ cd ./PhotoEditor/bin/Release $ PhotoEditor.exe
All the available features can be accessed from the menu bar.
-
File menu
- New (menu item): start a new editing session
- Open (menu item): select an already existing image to edit it
- Save/Save as (menu items): save the edited image
-
Customize menu
- New color theme (menu item): choose two colors from a color dialog box and create a new color theme for the application (i.e., the background colors of the window)
- Custom color themes (menu item): select an already existing color theme (four such themes are available)
-
Edit menu
- Draw points (menu item): start drawing points of a chosen color
- Draw circles (menu item): start drawing circles of a chosen color
- Draw multicolored circles (menu item): start drawing circles. The color of each circle is randomly selected
- Stop drawing (menu item)
- For every selected menu option a new window opens in order for the user to choose the size of the points/circles and to press the
D
key to start drawing and theEnter
key to stop drawing (or to select the stop drawing option from the edit menu).
-
Filter menu (add a filter to the image)
- Default (return to default image if filter has already been added)
- Black and white
- Sepia
- Negative
-
Add menu
- Photo (menu item): add a photo to the current image. After selecting the photo to be added and its size, the user has to
right click
anywhere on the application's window and to pressAdd photo here
in order to add the photo
- Photo (menu item): add a photo to the current image. After selecting the photo to be added and its size, the user has to
It is worth mentioning that, being created some time ago, during highschool, the application lacks several key concepts which I would use today, if I were to start refactoring the code (e.g., using a layered arhitecture, separating the user interface and the functionalities).