A Java project for visual convolution with animation, transformations and multiple rendaring manners.
-
Image Transformations:
Apply various convolution filters such as Gaussian blur, sharpening, and edge detection (horizontal/vertical). -
Rendering Strategies:
Render processed images using different strategies, including normal and polarity-based rendering. -
Animation Support:
Animate transitions between images with customizable animation strategies (e.g., horizontal/vertical slide, acid trip 🫠). -
Extensible Architecture:
Easily add new transformation or rendering strategies via interfaces.
-
Architecture:
-
The app was built with delicate care and careful selection for design patterns like singleton, strategy and builder.
-
A portion of the app is made with functional programming manner which is the animation part using lambda expressions as arguments to the engine.
-
Utilizing java reflection the loading of the methods and strats occur dynamically in runtime scanning all the methods and classes.
-
- GUI:
- Animation:
- Create your transforamtion strategy class in the
src\Strategies\TransformationStrats\ConcerateStrats
directory inherit theSlider
abstract class and implementITransformationStrat
interface, define ur kernal and choose suitable rendar strategy or make your own with the same way intransform()
method.