Class Picture

java.lang.Object
  extended by Picture

public class Picture
extends java.lang.Object

A picture from an image file.


Nested Class Summary
(package private) static class Picture.Canvas
           
 
Constructor Summary
Picture()
          Constructs a picture with no image.
Picture(double width, double height)
          Constructs a picture with a given width and height.
Picture(int[][] grayLevels)
           
Picture(java.lang.String source)
          Constructs a picture from a given file or URL.
 
Method Summary
 void draw()
          Shows this picture on the canvas.
 Color getColorAt(int i)
          Gets the color of a pixel.
 Color getColorAt(int x, int y)
          Gets the color of a pixel.
 int[][] getGrayLevels()
           
 int getHeight()
          Gets the height of this picture.
 int getMaxX()
          Gets the rightmost x-position of the shape.
 int getMaxY()
          Gets the bottommost y-position of the shape.
 int getWidth()
          Gets the width of this picture.
 int getX()
          Gets the leftmost x-position of the shape.
 int getY()
          Gets the topmost y-position of the shape.
 void grow(double dw, double dh)
          Resizes this picture both horizontally and vertically.
 void load(java.lang.String source)
          Loads a new image from a given file or URL.
 void paintShape(java.awt.Graphics2D g2)
          Draws this shape.
 void pause()
          Pauses so that one can look at the picture.
 void pick()
          Displays a file chooser for picking a file, loads the picture from the file that the user selected, and pauses so that the user can see the loaded picture.
 int pixels()
          The number of pixels in this picture.
 void setColorAt(int i, Color color)
          Sets the color of a pixel.
 void setColorAt(int x, int y, Color color)
          Sets the color of a pixel.
 java.lang.String toString()
           
 void translate(double dx, double dy)
          Moves this picture by a given amount.
 
Methods inherited from class
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Picture

public Picture()
Constructs a picture with no image.


Picture

public Picture(double width,
               double height)
Constructs a picture with a given width and height.

Parameters:
width - the desired width
height - the desired height

Picture

public Picture(int[][] grayLevels)

Picture

public Picture(java.lang.String source)
Constructs a picture from a given file or URL.

Parameters:
source - the filename or URL
Method Detail

draw

public void draw()
Shows this picture on the canvas.


getColorAt

public Color getColorAt(int i)
Gets the color of a pixel.

Parameters:
i - the pixel index
Returns:
the color at pixel i

getColorAt

public Color getColorAt(int x,
                        int y)
Gets the color of a pixel.

Parameters:
x - the x-coordinate (column) of the pixel
y - the y-coordinate (row) of the pixel
color - the new color for the pixel

getGrayLevels

public int[][] getGrayLevels()

getHeight

public int getHeight()
Gets the height of this picture.


getMaxX

public int getMaxX()
Gets the rightmost x-position of the shape.

Returns:
the rightmost x-position

getMaxY

public int getMaxY()
Gets the bottommost y-position of the shape.

Returns:
the bottommost y-position

getWidth

public int getWidth()
Gets the width of this picture.


getX

public int getX()
Gets the leftmost x-position of the shape.

Returns:
the leftmost x-position

getY

public int getY()
Gets the topmost y-position of the shape.

Returns:
the topmost y-position

grow

public void grow(double dw,
                 double dh)
Resizes this picture both horizontally and vertically.

Parameters:
dw - the amount by which to resize the width on each side
dw - the amount by which to resize the height on each side

load

public void load(java.lang.String source)
Loads a new image from a given file or URL.

Parameters:
source - the filename or URL

paintShape

public void paintShape(java.awt.Graphics2D g2)
Draws this shape.

Parameters:
g2 - the graphics context

pause

public void pause()
Pauses so that one can look at the picture.


pick

public void pick()
Displays a file chooser for picking a file, loads the picture from the file that the user selected, and pauses so that the user can see the loaded picture.


pixels

public int pixels()
The number of pixels in this picture.

Returns:
the number of pixels

setColorAt

public void setColorAt(int i,
                       Color color)
Sets the color of a pixel.

Parameters:
i - the pixel index
color - the new color for the pixel

setColorAt

public void setColorAt(int x,
                       int y,
                       Color color)
Sets the color of a pixel.

Parameters:
x - the x-coordinate (column) of the pixel
y - the y-coordinate (row) of the pixel
the - color of the pixel at the given row and column

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

translate

public void translate(double dx,
                      double dy)
Moves this picture by a given amount.

Parameters:
dx - the amount by which to move in x-direction
dy - the amount by which to move in y-direction