Lab 5: Functional Image Transformer


In this assignment, you will refactor the handler implementations to make use of a functional programming approach and support other transformations.


The assignment builds on lab 3. Begin by incorporating feeback from your instructor on the first three lab assignments.

Functional Interface

Create a functional interface, Transformable, with one method:

Image Transformation

In your controller class, implement the following method:

Update the handler methods in your controller class that applied transformations so that they make use of the transformImage() method. When completed, none of the handler methods should have loops in them.

Additonal Transformations

Add support for the following transformations:

Just For Fun

Ambitious students may wish to:


This laboratory assignment, developed by Dr. Chris Taylor.

See your professor's instructions for details on submission guidelines and due dates.