Project: Image Suite

For this project, you will write the following series of functions which 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. Note: you will also need to write a main program that will take the pictures (using the robot) and call each of your functions to modify the images, save them (using the rSavePicture() function) and display them. Remember that the image will be changed by each function called on it.

void pixelStrip (Picture * pic, char color)

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

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

These three related functions should increase the intensity of their respective colors (red, green, or blue). This increase should never go past 255. The color should increase less when it is already high than when it is low.

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 your 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.

Note on Testing and Project Submission

When turning in your project, be sure to include a document that states what tests you ran and examples of pictures from each function. This needs to be in a separate document from your C source code file. You must remember to email your C source code file to the grader account!!

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

Grading

In addition to general style and readability checklist, the following project-specific points will be allocated. Please note: if the C sourcefile (the .c file) is not emailed to the grader account, a 10% penalty will be assessed!