Class Picture

Object
  extended by Picture
All Implemented Interfaces:
java.awt.event.ActionListener, java.util.EventListener

public final class Picture
extends Object
implements java.awt.event.ActionListener

This class provides methods for manipulating individual pixels of an image. The original image can be read from a file in JPEG, GIF, or PNG format, or the user can create a blank image of a given size. This class includes methods for displaying the image in a window on the screen or saving to a file.

By default, pixel (x, y) is column x, row y, where (0, 0) is upper left. The method setOriginLowerLeft() change the origin to the lower left.

For additional documentation, see Section 3.1 of Introduction to Programming in Java: An Interdisciplinary Approach by Robert Sedgewick and Kevin Wayne.


Constructor Summary
Picture(java.io.File file)
          Create a picture by reading in a .png, .gif, or .jpg from a File.
Picture(int w, int h)
          Create a blank w-by-h picture, where each pixel is black.
Picture(Picture pic)
          Copy constructor.
Picture(String filename)
          Create a picture by reading in a .png, .gif, or .jpg from the given filename or URL name.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
          Opens a save dialog box when the user selects "Save As" from the menu.
 boolean equals(Object obj)
          Is this Picture equal to obj?
 java.awt.Color get(int i, int j)
          Return the color of pixel (i, j).
 javax.swing.JLabel getJLabel()
          Return a JLabel containing this Picture, for embedding in a JPanel, JFrame or other GUI widget.
 int height()
          Return the height of the picture in pixels.
static void main(String[] args)
          Test client.
 void save(java.io.File file)
          Save the picture to a file in a standard image format.
 void save(String name)
          Save the picture to a file in a standard image format.
 void set(int i, int j, java.awt.Color c)
          Set the color of pixel (i, j) to c.
 void setOriginLowerLeft()
          Set the origin to be the lower left pixel.
 void setOriginUpperLeft()
          Set the origin to be the upper left pixel.
 void show()
          Display the picture in a window on the screen.
 int width()
          Return the width of the picture in pixels.
 
Methods inherited from class Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Picture

public Picture(int w,
               int h)
Create a blank w-by-h picture, where each pixel is black.


Picture

public Picture(Picture pic)
Copy constructor.


Picture

public Picture(String filename)
Create a picture by reading in a .png, .gif, or .jpg from the given filename or URL name.


Picture

public Picture(java.io.File file)
Create a picture by reading in a .png, .gif, or .jpg from a File.

Method Detail

getJLabel

public javax.swing.JLabel getJLabel()
Return a JLabel containing this Picture, for embedding in a JPanel, JFrame or other GUI widget.


setOriginUpperLeft

public void setOriginUpperLeft()
Set the origin to be the upper left pixel.


setOriginLowerLeft

public void setOriginLowerLeft()
Set the origin to be the lower left pixel.


show

public void show()
Display the picture in a window on the screen.


height

public int height()
Return the height of the picture in pixels.


width

public int width()
Return the width of the picture in pixels.


get

public java.awt.Color get(int i,
                          int j)
Return the color of pixel (i, j).


set

public void set(int i,
                int j,
                java.awt.Color c)
Set the color of pixel (i, j) to c.


equals

public boolean equals(Object obj)
Is this Picture equal to obj?

Overrides:
equals in class Object

save

public void save(String name)
Save the picture to a file in a standard image format. The filetype must be .png or .jpg.


save

public void save(java.io.File file)
Save the picture to a file in a standard image format.


actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Opens a save dialog box when the user selects "Save As" from the menu.

Specified by:
actionPerformed in interface java.awt.event.ActionListener

main

public static void main(String[] args)
Test client. Reads a picture specified by the command-line argument, and shows it in a window on the screen.