I created a method that runs in picture.java. After calling the method in my Main Method, nothing shows up after I run it.
It is supposed to take a piece of a picture (designated by xMin, xMax, yMin, yMax aka a rectangle/square) and change the color of the pixels based on 1) its present value of color and 2) change it based on a double value we input
Here is my code:
import java.awt.*;
import java.awt.font.*;
import java.awt.geom.*;
import java.awt.image.BufferedImage;
import java.text.*;
import java.util.*;
import java.util.List;
// resolves problem with java.awt.List and java.util.List
/**
* A class that represents a picture. This class inherits from
* SimplePicture and allows the student to add functionality to
* the Picture class.
*
* Copyright Georgia Institute of Technology 2004-2005
* @author Barbara Ericson ericson@cc.gatech.edu
*/
public class Picture extends SimplePicture
{
///////////////////// constructors //////////////////////////////////
/**
* Constructor that takes no arguments
*/
public Picture ()
{
/* not needed but use it to show students the implicit call to super()
* child constructors always call a parent constructor
*/
super();
}
/**
* Constructor that takes a file name and creates the picture
* @param fileName the name of the file to create the picture from
*/
public Picture(String fileName)
{
// let the parent class handle this fileName
super(fileName);
}
/**
* Constructor that takes the width and height
* @param width the width of the desired picture
* @param height the height of the desired picture
*/
public Picture(int width, int height)
{
// let the parent class handle this width and height
super(width,height);
}
/**
* Constructor that takes a picture and creates a
* copy of that picture
*/
public Picture(Picture copyPicture)
{
// let the parent class do the copy
super(copyPicture);
}
/**
* Constructor that takes a buffered image
* @param image the buffered image to use
*/
public Picture(BufferedImage image)
{
super(image);
}
////////////////////// methods ///////////////////////////////////////
public class boolean manipulateBox(int xMin, int yMin, int xMax, int yMax, double amount)
{
Pixel pixel = null;
int x;
int y;
int value;
int amount2;
y = yMin;
while(y <= yMax)
{
x = xMin;
while(x <= xMax)
{
pixel = this.getPixel(x,y);
amount2 = ((int)(amount));
value = pixel.getBlue();
pixel.setBlue(amount2 * value);
}
x = x + 1;
}
y = y + 1;
return true;
}
public static void main(String[] args)
{
String fileName = FileChooser.pickAFile();
Picture pictObj = new Picture(fileName);
pictObj.manipulateBox(50,50,100,100,0.5);
pictObj.explore();
}