Project 3 - A Flag Collage
Due Date: Thursday 11/3/2011 at 11:59 pm
For this project, write a program that will create a collage
of pictures that resembles the flag of a country. Your collage
must be made by copying at least 3 pictures (or parts of 3
pictures) onto a blank canvas.
Each of the three pictures must be modified in a different
manner. These modification should be done to make the needed
colors for the flag of your choice.
Extra Credit
- If the pictures used are thematically related to the country
whose flag you chose, you will receive 10 point extra credit.
- There will also be an additional 5 point extra credit if your
country's flag has diagonal boundaries between colors.
Modification of the Pictures
The following are examples of modification that you might want to
do to the pictures chosen:
- increase some color(s)
- decrease some color(s)
- creating a color negative
- make black and white
- make color and white
- make black and color
- posterization
- flipping, rotating or mirroring the image
Check out examples of
flags and an example of a finished example (this is from the
original site of this project). As a suggestion, don't use a flag with a complex
image/symbol on it. Here is a list of
many flags from around the world.
You are to write and use at least two methods for this project. A good idea
is to write methods for each of the three modifications.
Also, you must hard code the name of the images used for
this project. You are not to use pickAFile() to prompt the user for
the names of the images used. You may use pickAFile() to determine
the directory that all the images are in.
You should assume that all of the images will be in the same
directory, so once that directory is known to the program,
no further prompting from the user is required.
Check out the code at
Lect1026g.java or at
Lect1025d.java
for an example on how this is done.
You may want to use setMediaPath()
in the
FileChooser class to help read in the needed images.
Here are a list of examples done by other students in CS 101 in
previous semesters.
Project Collaboration
You are allowed to receive help on this project from other
students who are also taking CS 101. Each student must still
complete and submit his/her own project. You will be required
to include a Collaboration Statement somewhere on your
project if you receive help. This statement can simply be
something like the following:
For this project, I received help from the following member of CS 101.
This statement should list each helping student's name
in a comment in the "header comment" of your Java file that
includes the main() method.
Programming Style
Part of the grade for this project will be on your use of good
programming style. Programming style includes:
- The use of methods!!! - the key factor in the grade
for the points for style
- The use of meaningful variable names
- The use of header block comments at the beginning of each method
and at the start of your program
- The use of inline comments
- The appropriate use of indentation
- The appropriate use of blank lines
Submission of your Project
You must electronically submit all of your files (all .java files,
any image files and any other files used)
via the Link for Project 3 in Blackboard.
Students may submit their projects late for the following
penalty amounts:
- One day late: 10% penalty
- Two days late: 30% penalty
- Three days late: 60% penalty
- Four days late: 100% penalty
This project was modified from a project for
Ga Tech's CS 1315.
CS 101 Home Page
Department of Computer Science
University of Illinois at Chicago