As you have already learned from the Overview lesson,
Images are described by a width and a height, measured in pixels, and have a coordinate system that is independent of the drawing surface.
There are a number of common tasks when working with images.
- Loading an external GIF, PNG JPEG image format file into Java 2D™'s internal image representation.
- Directly creating a Java 2D image and rendering to it.
- Drawing the contents of a Java 2D image on to a drawing surface.
- Saving the contents of a Java 2D image to an external GIF, PNG, or JPEG image file.
This lesson teaches you the basics of loading, displaying, and saving images.
The are two main classes that you must learn about to work with images:
java.awt.Imageclass is the superclass that represents graphical images as rectangular arrays of pixels.
java.awt.image.BufferedImageclass, which extends the
Imageclass to allow the application to operate directly with image data (for example, retrieving or setting up the pixel color). Applications can directly construct instances of this class.
BufferedImageclass is a cornerstone of the Java 2D immediate-mode imaging API. It manages the image in memory and provides methods for storing, interpreting, and obtaining pixel data. Since
BufferedImageis a subclass of
Imageit can be rendered by the
Graphics2Dmethods that accept an
BufferedImageis essentially an
Imagewith an accessible data buffer. It is therefore more efficient to work directly with
BufferedImagehas a ColorModel and a Raster of image data. The ColorModel provides a color interpretation of the image's pixel data.
The Raster performs the following functions:
- Represents the rectangular coordinates of the image
- Maintains image data in memory
- Provides a mechanism for creating multiple subimages from a single image data buffer
- Provides methods for accessing specific pixels within the image
The basic operations with images are represented in the following sections:This section explains how to load an image from an external image format into a Java application using the Image I/O APIThis section teaches how to display images using the
drawImagemethod of the
Graphics2Dclasses.This section describes how to create an image and how to use the image itself as a drawing surface.This section explains how to save created images in an appropriate format.