CS 101 - Intro to Computing, Fall 2011

Lab 6

Lab Assignment

Due: Thursday 10/6/2011 by 11:59 pm

For this lab assignment, complete the following:

  1. Prompt the user for an picture and open that picture. Once the picture has been opened, add a simple text message to the bottom left side of the picture. Then prompt the user for a filename to save the modified picture and save the picture in that file. You should use the pickAFile() method from the FileChooser class to prompt the user for the picture and for the filename to same the modified image.

    To add the text message, use the addMessage () method of the Picture class. This method takes 3 parameters:

    1. message - The text message to the added to the picture.
    2. xpos - the pixel position of the left side of the string
    3. ypos - the pixel position of the bottom of the string

    We want the text to be on the bottom left side of the picture. Let us put it 20 pixels over from the left edge of the the picture and 20 pixels above the bottom edge of the picture. The xpos value is simple, that will be 20. However, we must calculate the ypos value.

    Fortunately, the Picture class has a method getWidth() method and a getHeight() method. Each of these return the distance in pixels across the width (which is the X direction) or the height (which is the Y direction) of the picture. The coordinate position of (0,0) is in the upper left corner of the picture.

    Thus to calculate the value for the ypos for the addMessage() method, we need to subtract 20 from the height of the picture.

    The message that you put in the picture can really be anything you want. If you can't think of anything interesting, just put "CS 101 - Lab 6" followed by your name. This sort of idea is normally used to add a caption to a picture or to add a copyright statement. Note: you should only be adding copyright statements to pictures that you took/created yourself.

    The following is an example a before and after picture:

  2. Be sure to change comment with the name of the author to contain the following:

How assignments should be submitted

You are also to submit the Java file electronically via the Assignment link in Blackboard for this lab. You are to name your file with the lab number and your netID. Please only submit source code file (the .java file, not the .class file nor the .java~ file).