public class GImage extends GObject implements GResizable, GScalable
GImage
class is a graphical object whose appearance is
defined by an image.Constructor and Description |
---|
GImage(java.awt.Image image)
Creates a new
GImage object at the origin that displays the
specified image. |
GImage(java.awt.Image image,
double x,
double y)
Creates a new
GImage object at the specified coordinates. |
GImage(int[][] array)
Creates a new
GImage object at the origin. |
GImage(int[][] array,
double x,
double y)
Creates a new
GImage object at the specified coordinates. |
GImage(java.lang.String name)
Creates a new
GImage object by looking for an image with that
name. |
GImage(java.lang.String name,
double x,
double y)
Creates a new
GImage object at the specified coordinates. |
Modifier and Type | Method and Description |
---|---|
static int |
createRGBPixel(int red,
int green,
int blue)
Creates an opaque pixel value with the color components given by
red , green , and blue . |
static int |
createRGBPixel(int red,
int green,
int blue,
int alpha)
Creates a pixel value with the color components given by
red ,
green , and blue and the transparency value
alpha . |
static int |
getAlpha(int pixel)
Returns the alpha component from an RGB value.
|
protected java.awt.Rectangle |
getAWTBounds()
Returns an AWT
Rectangle that specifies the bounds of this
object. |
static int |
getBlue(int pixel)
Returns the blue component from an RGB value.
|
GRectangle |
getBounds()
Returns the bounding box of this object.
|
static int |
getGreen(int pixel)
Returns the green component from an RGB value.
|
java.awt.Image |
getImage()
Returns the image stored inside this
GImage . |
int[][] |
getPixelArray()
Returns a two-dimensional array of pixel values from the stored image.
|
static int |
getRed(int pixel)
Returns the red component from an RGB value.
|
GDimension |
getSize()
Returns the size of this object as a
GDimension . |
void |
paint(java.awt.Graphics g)
Implements the
paint operation for this graphical object. |
void |
saveImage(java.io.File file)
Saves the image to the specified file.
|
void |
saveImage(java.lang.String filename)
Saves the image to a file with the specified filename.
|
void |
scale(double sf)
Scales the object on the screen by the scale factor
sf , which
applies in both dimensions. |
void |
scale(double sx,
double sy)
Scales the object on the screen by the scale factors
sx and
sy . |
void |
setBounds(double x,
double y,
double width,
double height)
Changes the bounds of this object to the specified values.
|
void |
setBounds(GRectangle bounds)
Changes the bounds of this object to the values from the specified
GRectangle . |
void |
setImage(java.awt.Image image)
Resets the image used by this
GImage object to the new image
specified as an argument. |
void |
setImage(java.lang.String name)
Resets the image used by this
GImage object to the one
identified by the argument name , which is processed exactly as
described in the constructors. |
void |
setSize(double width,
double height)
Changes the size of this object to the specified width and height.
|
void |
setSize(GDimension size)
Changes the size of this object to the specified
GDimension . |
addActionListener, addMouseListener, addMouseMotionListener, areMouseListenersEnabled, colorName, contains, contains, fireActionEvent, fireActionEvent, fireMouseListeners, getColor, getComponent, getHeight, getLocation, getObjectColor, getParent, getWidth, getX, getY, isVisible, move, movePolar, paintObject, paramString, pause, removeActionListener, removeMouseListener, removeMouseMotionListener, repaint, sendBackward, sendForward, sendToBack, sendToFront, setColor, setLocation, setLocation, setParent, setVisible, start, start, toString, updateEnabledList
public GImage(java.awt.Image image)
GImage
object at the origin that displays the
specified image.image
- The image to use as the contents of this GImage
public GImage(java.lang.String name)
GImage
object by looking for an image with that
name. The search for an image by name consists of the following steps:
Image
. If so, read the image from the
resource file.
name
- The name used to search for the contents of this imagepublic GImage(int[][] array)
GImage
object at the origin. The
array
parameter is a two-dimensional pixel array in which each
pixel value consists of an integer that is subdivided into four eight-bit
bytes, as follows:
<<
24 |
red
<<
16 |
green <<
8
|
blue array
- A two-dimensional pixel arraypublic GImage(java.awt.Image image, double x, double y)
GImage
object at the specified coordinates. The
image
parameter is used to initialize the appearance of the
image.image
- The image to use as the contents of this GImage
x
- The x-coordinate of the upper left corner of the imagey
- The y-coordinate of the upper left corner of the imagepublic GImage(java.lang.String name, double x, double y)
GImage
object at the specified coordinates. The
name
parameter is used to identify an image to display, as
described in the single-argument version of the
GImage
constructor.name
- The name used to search for the contents of this imagex
- The x-coordinate of the upper left corner of the imagey
- The y-coordinate of the upper left corner of the imagepublic GImage(int[][] array, double x, double y)
GImage
object at the specified coordinates. The
array
parameter is a two-dimensional pixel array in which each
pixel value consists of an integer that is subdivided into four eight-bit
bytes, as follows:
<<
24 |
red
<<
16 |
green <<
8
|
blue array
- A two-dimensional pixel arrayx
- The x-coordinate of the upper left corner of the imagey
- The y-coordinate of the upper left corner of the imagepublic void setImage(java.awt.Image image)
GImage
object to the new image
specified as an argument. Calling setImage
automatically changes
the size of the image to be equal to that of the image data.image
- The image to use as the contents of this GImage
public void setImage(java.lang.String name)
GImage
object to the one
identified by the argument name
, which is processed exactly as
described in the constructors. Calling setImage
automatically
changes the size of the image to be equal to that of the image data.name
- The name used to search for the contents of this imagepublic java.awt.Image getImage()
GImage
.Image
object stored inside this GImage
public void saveImage(java.lang.String filename)
filename
- The name of the file to which the image is savedpublic void saveImage(java.io.File file)
file
- The File
to which the image is savedpublic void paint(java.awt.Graphics g)
paint
operation for this graphical object. This
method is not called directly by clients.public void setSize(double width, double height)
setSize
in interface GResizable
width
- The new width of the objectheight
- The new height of the objectpublic final void setSize(GDimension size)
GDimension
.setSize
in interface GResizable
size
- A GDimension
object specifying the sizepublic GDimension getSize()
GDimension
.public void setBounds(double x, double y, double width, double height)
setBounds
in interface GResizable
x
- The new x-coordinate for the objecty
- The new y-coordinate for the objectwidth
- The new width of the objectheight
- The new height of the objectpublic final void setBounds(GRectangle bounds)
GRectangle
.setBounds
in interface GResizable
bounds
- A GRectangle
specifying the new boundspublic GRectangle getBounds()
public void scale(double sx, double sy)
sx
and
sy
.public final void scale(double sf)
sf
, which
applies in both dimensions.public int[][] getPixelArray()
public static int getAlpha(int pixel)
pixel
- An int
containing a pixel value as
alpha/red/green/blue.public static int getRed(int pixel)
pixel
- An int
containing a pixel value as
alpha/red/green/blue.public static int getGreen(int pixel)
pixel
- An int
containing a pixel value as
alpha/red/green/blue.public static int getBlue(int pixel)
pixel
- An int
containing a pixel value as
alpha/red/green/blue.public static int createRGBPixel(int red, int green, int blue)
red
, green
, and blue
.red
- The red component of the pixel (0 to 255)green
- The green component of the pixel (0 to 255)blue
- The blue component of the pixel (0 to 255)public static int createRGBPixel(int red, int green, int blue, int alpha)
red
,
green
, and blue
and the transparency value
alpha
.red
- The red component of the pixel (0 to 255)green
- The green component of the pixel (0 to 255)blue
- The blue component of the pixel (0 to 255)alpha
- The transparency value of the pixel (0 to 255)protected java.awt.Rectangle getAWTBounds()
Rectangle
that specifies the bounds of this
object.Rectangle
that specifies the bounds of this object