Skip to content

NkaLight/Andie

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

392 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Welcome to our project Andie, a non-destructive image editor.

User Manual:

The main use of this program is to give you the ability to non-destructively edit an image with the option of just exporting it as a png file.

In the Menubar you have a series of buttons which all perform their own features respectively these buttons include:

NB: When you hover over buttons a brief description of what the button does will pop-up.


1. File:

  • Open
    • Opens a menu to pick a file from your computer
  • Save
    • Saves the edits in a .ops file.
  • Save as
    • Saves the .ops file as a custom name.
  • Export
    • Exports the image as a png with the edits applied.
  • Exit
    • Closes the application


2. Edit:

  • Undo
    • Undos the most recent change.
  • Redo
    • Redos the most recent undo, cannot redo if another edit has been done over the previous.


3. View:

  • Zoom in
    • Zooms into the image
  • Zoom out
    • Zooms out of the image
  • Zoom Full
    • Sets zero to 100% (default)


4. Filter:

  • All filters apply to selected pixels in the image. (All if no selection)
  • Mean Filter
    • Takes the mean of pixel values in a square area defined by the radius which the user is asked for.
  • Sharpen Filter
    • For each pixel, this filter increaces the difference between it and it's directly adjacent neighbors.
  • Gaussian Blur Filter
    • Uses a Normalized Guassian Function to blur the image in a radius which the user is asker for.
  • Median Blur Filter
    • Takes the median of pixel values in a square area defined by the radius which the user is asked for.
  • Emboss Filter
    • A choice between 8 are given for the user to chose, the name is the location for where the filter takes the postive value, the direct opposite side is where the negative value it take. The output is the sum of these two pixel values. It is recomended to use the Negative adjustment to see the full difference.
  • Sobel Filter
    • A choice between 2 are given for the user to chose, vertical and horizontal. This finds the difference between oposing pixels and half of the pixels to either side. It is recomended to use the Negative adjustment to see the full difference.
  • Random Scattering
    • Replaces each pixel in the output image with a random pixel from within some radius of the original location.


4. Colour:

  • GreyScale
    • Turns all pixels grey.
  • Image Inversion
    • Inverts the colour of pixels
  • Colour Cycle Channel
    • Swaps 2 or more colours of a channel with another.
  • Block Average
    • Makes rectangle and finds the mean of the pixels in each rectangle and sets the rectangle to that mean.
  • Brightness Adjustment
    • Adjusts the Brightness of the image from -50% to +50%
  • Contrast Adjustment
    • Adjusts the Contrast of the image from -50% to +50%


5. Language:

  • You can pick between 2 languages, English and Maori, the program will close to change language, open it again and it will have the new language.


6. Transformations:

  • Transformations include Resize, Rotate, Flip and Crop. By default these will apply to the entire image unless a subimage is selected via the selection tool.
  • Resize
    • Default, for a given scalefactor, rescales the entire image to a new specified width and height.
    • Selection, scales from top left corner
  • Rotation, rotates the image by 90 degrees left or right, or 180 degrees, about its centre
  • Flip, flips the image over its x axis or y axis
  • Crop to selection, if a region is selection, crops image to only the selected region


7. Toolbar

  • Show toolbar.
    • Shows the toolbar, this has buttons the apply different actions avaliable from this list.
    • This toolbar contains:
      • Save
      • Undo
      • Redo
      • Zoom In
      • Zoom Out
      • Brightness Adjustment
      • Contrast Adjustment
      • Flip Horizontal
      • Filp Vertical
      • Rotate 90 degrees left
      • Rotate 90 degrees right
      • Draw Rectangle
      • Draw Oval
      • Draw Line
      • Draw Pencil
      • Draw Fill
      • Colour Chooser
      • Select


8. Draw:

  • Note, select overides draw, you CANNOT DRAW while the select tool is activated.
  • This has 3 selections
  • Draw: Toggles the ability to draw.
  • Colours:
    • Has a 8 different default colours, Red, Green, Blue, Yellow, Magenta, Orange, Black, White.
    • Custom, a colour choser pop-up appears, where you may choose a colour by picking it's argb values.
  • Shapes:
    • Rectangle, sets the draw tool to be a rectangle.
    • Oval, sets the draw tool to be an oval.
    • Line, sets the draw tool to be a line.
    • Pencil, sets the draw tool to draw free hand following the mouse. (Hold click to start, release to end.)
    • Fill, makes the draw tool fill the rectange and oval shapes with the colour picked.


9. Select:

  • Note, select overides draw, you CANNOT DRAW while the select tool is activated.
  • Select toggles the ability to select an area, this area makes Filters, Colour Adjustments and Transformations only apply to inside the area selected.


10. Macros:

  • Open Marco
    • Opens menu to find a macro
  • Save Marco
    • Saves a macros recorded
  • Start/Stop Recording
    • Starts/Stops recording a Macro, Marcos are orders of edits done to the image, and when run, will preform those edits.
  • Clear Macros
    • Clears the macros

Contributions

Ryan- Sharpen Filter, Median Filter, Gaussian Blur Fliter, Emboss Filter, Sobel Filer, Custom Colour Picker, Unit Test Implementation, Multilingual Support.

Harrison - Transformations, Selection, Filter Selection Implementation, Transformation Selection Implementation, Drawing Functionalities

Owethu - Multilingual Support, Image Export, Random Scattering, Brightness Adjustment, and Contrast Adjustment.

Emanuel - Exception Handling, Other Usability Error Avoidance/Prevention

Calan - Image Inversion, Colour Channel Cycling, Macros

How code was tested

Unit tests were made for the Gaussian Blur Filter Other features were tested by implementing them and visually comparing the operations to out estimation of the expected output. Errors were identified after manually testing each feature with actions normal or abnormal, and rectified with code and re-testing.

List of known bugs/issues

  1. Median Filter - On even array size, the 'median' is not the mean of the 2 centre values but the value on the left (Very Minor)

  2. Exit - Currently forces user to Save As if user presses exit button without saving changes, rather than saving the image normally (Minor)

  3. Multilingual support - The program does not update the JMenuBar with updated preferences, but user has to restart the program to get the updated JMenuBar (minor).

  4. Open Image - When opening another image while currently editing an image, does not save any changes made to the image. (Minor)

About

ANDIE a non-destructive image editor built using Java with unit tests with JUnit tests

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages