CSC 161 Schedule Readings Labs & Projects Homework Deadlines Resources

Project: Image Suite

Description

For this project, you will write the following series of functions that modify a picture. For each function, the address of a picture is passed as a parameter, so the picture passed into the function (e.g., from main) will be changed.

void pixelStrip(Picture* pic, char color)

This function should set the R, G, or B field of every Pixel in the given Picture to 0 (depending on what character color is).
For example if parameter color is 'G', then this procedure should change the green component of each pixel in the picture to 0; the red and blue components would remain unchanged.

void pictureRedder(Picture* pic)
void pictureGreener(Picture* pic)
void pictureBluer(Picture* pic)

These functions should increase the intensity of their respective color channels (red, green, or blue) and decrease the intensity of the other two. You may choose the amounts by which to change each. However, the results should never go outside the range 0…255.

void circleSelect(Picture* pic, int xCenter, int yCenter, int radius)

This function should select a circle from your picture and turn each pixel within that circle to the corresponding grayscale value.

A creative function of your choosing

This function should do something interesting and creative to a picture. It should not just be a rehashing of a previous exercise or lab, and there should be a good amount of thought and effort placed into this function.

When turning in your project, be sure to include tests and examples of pictures from each function.

Reminder

Be sure to cite any materials from which your solution is derived or by which it is influenced.

Grading

In addition to the general grading guidelines for evaluation, the project is worth 25 points.