Skip to content

Image editor project of the M3 seminar of Computer Engineering Master at UoAS Berlin (HTW Berlin) in summer semester 2020

Notifications You must be signed in to change notification settings

lukmi15/M3ImageManipulator

Repository files navigation

M3ImageManipulator

Screenshot

Requirements

Phase 1

TODO:

  • The application has an icon if supported by the OS
  • The application determines what image formats are available on the current system under QT and offers them in the file dialogues

DONE:

  • The most important menu items have keyboard shortcuts
  • The main window can be resized and implements standard behavior, such as minimum and maximum size
  • The "File" - menu comprises at least the items Open, Save, Save As, Print, & Exit
  • The "Edit" - menu comprises at least the items Copy & Paste
  • The app is a Qt 5.9 widget application using a single document interface
  • The application has a menu comprising "File", "View", & "Help"
  • The Help menu comprises at least an about item for this application and one for Qt
  • The visible part of the image can be moved using scroll bars
  • Image files can be pasted from the clipboard
  • Image files can be copied to the clipboard
  • The status bar shows important information - status tips
  • A picture - at least BMP, JPEG, & PNG - can be loaded from file and will be displayed
  • An image file can be dragged and dropped into the application from the file explorer or alike
  • Not available functions are disabled
  • The image can be shown in selectable zoom modes between 25% and 400%
  • The name of the shown image file is shown in the window title without path prefix
  • The current zoom is shown in the status bar
  • The visible part of the image can be moved by dragging with the mouse
  • The mouse pointer turns into a grabbing hand when dragging
  • The GUI language is English, the source code has to be prepared for later translation
  • If present, Qt standard dialogues are used for opening, saving, ...
  • If loading or saving an image fails, a useful error message is displayed
  • The "View" - menu comprises at least Zoom In (Ctrl++), Zoom out (Ctrl+-), Zoom 100% (Ctrl+0), Fit to Window (Ctrl+F), and Show Dialog
  • Joker: Grabbing must only work when drag starts on canvas
  • The shown picture can be printed, where the printer can be selected from a standard dialogue
  • The application saves window size, position, and other important settings and restores them upon start

Phase 2

TODO:

  • Color correction can be done in RBG or YUV color space, which is a setting in the dialogue
  • The strength of color correction can be set using a slider for every channel of the color space
  • The dialog has a preview button which shows the result while pressed
  • The dialog has an OK button applying the changes
  • The dialog has a Cancel button dismissing the changes
  • The potentially edited picture can be saved using Save & Save As
  • During save, a different image format can be chosen and the file ending is adjusted accordingly
  • The application memorizes if the image was edited and shows a star in the window title if that is the case
  • The application memorizes if the image was edited and takes this into account when quitting
  • The application memorizes if the image was edited and takes this into account when opening a new image
  • The application memorizes a list of recently edited files and shows them in the file menu
  • The GUI is available in English & German - including tool tips
  • The app chooses language automatically based on the user config
  • The language may be changed on runtime under View -> Language

DONE:

  • A simple QSS style file for a dark theme is provided which colors the app and its dialogues dark
  • Therefore, there are 6 sliders in 2 groups - RGB & YUV
  • Only one of the 2 groups of sliders is enabled
  • Which group of sliders is enabled is determined by 2 radio buttons choosing between RGB and YUV
  • Values for R, G, B, & Y are from 0 to 100% and for U & V from -100% to 100%

About

Image editor project of the M3 seminar of Computer Engineering Master at UoAS Berlin (HTW Berlin) in summer semester 2020

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published