This MVC application allows the user to apply different transformation techniques on a given picture and then save the resultant image. It also allows user to generate pattern of the particular so that it is easier to stitch that image on any other image. This program runs with two possible ways mainly script mode and interactive mode and both of these modes are self explanatory.
The features of this application are as follows:
- User is been given option to select the number of colours per channel for reducing the density and number of seeds for mosaicing or pixelating the image.
- Also, it provides functionality for generating the pattern and saving the generated pattern which can be used to stitch that pattern on any other image and can also select a list of colors from which user wants to generate the pattern. All the patterns will be generated each correscponding a unique unicode character.
- In interactive mode, effect applied will be instantly shown to the user and the image would be updated stat.
- After generating pattern, user can either exchange a particular pixel with another or can remove it completely from the pattern.
- User can also write command line arguments in area provided and can execute it.
Rrun java -jar program.jar command in CLI and will give the output of the program accordingly. There are two types of arguments that are accepted by this jar and upon which execution will depend:
- -script filepath: filepath has to be a complete path which will execute the commands from the file passed. Only txt files are supported for this argument type.
- -interactive: opens the UI interface for the user
This program can be run in two ways:
-
Script Mode: This will take the file path as an argument and then depending on each input execution process will be carried. The meaning of what each commands mean in this mode is listed below and this commands are case sensitive:
a. load: Loads the file from the next available path
b. blur: Blurs the image
c. sharp: Sharpens the image
d. greyScale: GreyScales the image
e. sepiaTone: SepiaTones the image
f. dither: Dithers the image from the next available possible value per channel passed. g. mosaic: Mosaics the image from the next number of seeds per image passed
h. pixelate: Pixelated the image to mentioned number of squares across
i. generatePattern: generates the pattern based on the number of squares passed
j. save: saves the current image at mentioned location with the given file name
k. savePattern: saves the current generated pattern if any -
Interactive Mode: This option will facilitate the users by providing them a UI to interact with and this will have couple of options as follows:
a. Load: Allows the user to load the image
b. Save: Allows the user to save the image
c. Script: This will allow user to execute the commands as mentioned in Script Mode
d. Blur: Blurs the image
e. Sharp: Sharps the image
f. GreyScale: GreyScales the image
g. SepiaTone: SepiaTones the image
h. Dither: Dithers the image
i. Mosaic: Mosaics the image
j. Pixelate: Pixelates the image
k. Generate Pattern: Generates the pattern on the image
l. Save Pattern: Saves the current generated pattern
m. Click on pixel after pattern is generated will allow user to either exchange or remove that pixel from the pattern
- Loading an Image
- Applied Effect (GreyScale)
- Pattern Generation
- Script Window
Code for this project is not attached because of Code of Conduct of Northeastern Univeristy. Still, if you want to view the code then please send me an email on [email protected] with your github username, email or full name with the reason so that I can provide you the access.