<< Chapter < Page | Chapter >> Page > |
Revised: Sun Apr 03 12:08:03 CDT 2016
This page is included in the following Books:
This module contains review questions and answers keyed to the module titled Java3014: Cropping, Flipping, and Combining Pictures .
The questions and the answers are connected by hyperlinks to make it easy for you to navigate from the question to the answer and back again.
True or False? The code in Listing 1 combined with the images in Figure 1 and Figure 2 produces the output shown in Figure 3 .
Listing 1 . Question 1 . |
---|
/*File Java3014ra Copyright 2013 R.G.Baldwin
Revised 02/15/13*********************************************************/
import java.awt.Color;public class Java3014ra{
public static void main(String[]args){
Picture[]pictures = new Java3014raRunner().run();
}//end main method}//end class Java3014ra
//======================================================//class Java3014raRunner{
public Picture[]run(){
Picture picA = new Picture("Prob02a.jpg");Picture picB = new Picture("Prob02b.jpg");
Picture picC = cropAndFlip(picA,4,5,80,105);copyPictureWithCrop(picA,picB,130,10,4,5,77,101);
copyPictureWithCrop(picC,picB,130,120,0,0,77,101);picB.explore();
Picture[]output = {picA,picB,picC};
return output;}//end run
//----------------------------------------------------////Crops a picture to the specified coordinate values and
// flips it around a vertical line at its center.private Picture cropAndFlip(Picture pic,int x1,int y1,
int x2,int y2){Picture output = new Picture(x2-x1+1,y2-y1+1);
int width = output.getWidth();Pixel pixel = null;
Color color = null;for(int col = x1;col<(x2+1);col++){
for(int row = y1;row<(y2+1);row++){
color = pic.getPixel(col,row).getColor();pixel = output.getPixel(width-col+x1-1,row-y1);
pixel.setColor(color);}//end inner loop
}//end outer loopreturn output;
}//end crop and flip//----------------------------------------------------//
//Copies part of the source picture into the destination// picture with an offset on both axes after first
// confirming that the part will fit. Does nothing if it// won't fit.
private void copyPictureWithCrop(Picture source,Picture dest,int xOff,
int yOff,int xCoor,
int yCoor,int width,
int height){//Confirm that source will fit in destination
if(((width+xOff)<= dest.getWidth())&&((height+yOff)<= dest.getHeight())){
Pixel pixel = null;Color color = null;
for(int col = 0;col<width;col++){
for(int row = 0;row<height;row++){
color = source.getPixel(col + xCoor,row + yCoor).getColor();
pixel = dest.getPixel(col+xOff,row+yOff);
pixel.setColor(color);}//end inner loop
}//end outer loop}//end if
}//end copyPictureWithCrop method}//end class Java3014raRunner |
Figure 1 - Prob02a.jpg.
Figure 2 - Prob02b.jpg.
Figure 3 - Possible output image.
True or False? The call to the run method in Listing 2 returns a reference to an object of the class Picture .
Listing 2 . Question 2. |
---|
Picture[] pictures = new Java3014raRunner().run(); |
What is the meaning of the following two images?
This image was inserted here simply to insert some space between the questions and the answers to keep them from being visible on the screen at thesame time.
The image is also an example of the kinds of things that we do in my course titled ITSE 2321, Object-Oriented Programming.
This image was also inserted for the purpose of inserting space between the questions and the answers.
False. The call to the run method in Listing 2 returns a reference to an array object whose elements may or may not containreferences to objects of the class Picture (or some subclass of the class Picture ) . However, since array objects in Java may have a length of 0, without seeing the source code for the run method, it is impossible to know what is contained in the array object.
False. The code in Listing 1 combined with the images in Figure 1 and Figure 2 produces the output shown in Figure 4 .
Figure 4 - Answer 1.
This section contains a variety of miscellaneous information.
Financial : Although the Connexions site makes it possible for you to download aPDF file for this module at no charge, and also makes it possible for you to purchase a pre-printed version of the PDF file, youshould be aware that some of the HTML elements in this module may not translate well into PDF.
I also want you to know that, I receive no financial compensation from the Connexions website even if you purchase the PDF version ofthe module.
In the past, unknown individuals have copied my modules from cnx.org, converted them to Kindle books, and placed them for sale onAmazon.com showing me as the author. I neither receive compensation for those sales nor do I know who does receive compensation. If youpurchase such a book, please be aware that it is a copy of a module that is freely available on cnx.org and that it was made andpublished without my prior knowledge.
Affiliation : I am a professor of Computer Information Technology at Austin Community College in Austin, TX.
-end-
Notification Switch
Would you like to follow the 'Object-oriented programming (oop) with java' conversation and receive update notifications?