Homework #2 CMSC 131
Due Thursday June 17, 3:00 pm Object-Oriented Programming I
Type of homework: Closed Summer 2004

Objective

This homework will allow you to practice object creation and method invocation (for both static and non-static methods). In addition, the homework will familiarize you with the picture infrastructure we will be using in future projects.  We want to remind you that this is a closed homework and you are expected to complete all the work by yourself.

Overview

For this assignment you will write a program that allows users to manipulate jpeg images.  The program will read an image location and will process the image according to the preferences specified by the user.  After processing an image, the user can either select another image for processing or quit.  In addition to the program, you must submit a time log similar to the one associated with homework #1.

This homework will be graded as follows:

Specifications

Before you read these specifications, you should check out the code associated with this homework from the CVS repository.  The code provides all the classes associated with the picture infrastructure, along with the class you need to implement for this program.  The PictureDemo.java file provides an example of using some of the classes that are part of the infrastructure.  The following description provides more information about each of the classes you will find in the code distribution.

The Example section provides a sample run of the program you are expected to write.  Use the example in order to define the format to follow for input and output dialog boxes.

In the code distribution you will also find two images (kittens-1.jpg and kittens-2.jpg).  We have provided these images in case you want to use them during the development phase of your homework.  

Requirements

You must use meaningful variable names and good indentation. 

Example

The following provides an sample run of the program you need to implement.  Keep in mind this is just an example and not the only scenario the program is expected to handle.  We have chosen to perform all the possible manipulations (doubling, flipping and posterizing) for the input image provided; in the example we have processed only one image.  Each of the following snapshots is preceded by a description of the processing that took place.  

Image to process has been specified

 

 


After pressing OK

 

 


After selecting YES


 

After selecting YES

 


After selecting YES


After selecting NO

 


Submission

Submit your project using the submit project option associated with Eclipse.  Remember to complete your time log before submitting your homework.  You must submit all the classes associated with your homework, including the supporting classes (e.g., Posterize) representing the picture infrastructure.


Web Accessibility