0

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();
 }
4

1 に答える 1