You are on page 1of 1

Documentation

Download Ebooks
Download JDK
Search Java Tutorials
Hide TOC

The Java Tutorials


Working with Images
Reading/Loading an Image
Drawing an Image
Creating and Drawing to
an Image
Writing/Saving an Image

Previous Trail Next

Home Page > 2D Graphics

Lesson: Working with Images


As you have already learned from the Images 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 the internal image representation used by Java 2D.
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:
The java.awt.Image class is the superclass that represents graphical images as rectangular arrays of pixels.
The java.awt.image.BufferedImage class, which extends the Image class 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.
The BufferedImage class 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 BufferedImage is a subclass of Image it can be rendered by the Graphics and Graphics2D
methods that accept an Image parameter.
A BufferedImage is essentially an Image with an accessible data buffer. It is therefore more efficient to work directly with BufferedImage. A
BufferedImage has 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:

Reading/Loading an image
This section explains how to load an image from an external image format into a Java application using the Image I/O API

Drawing an image
This section teaches how to display images using the drawImage method of the Graphics and Graphics2D classes.

Creating and drawing To an image


This section describes how to create an image and how to use the image itself as a drawing surface.

Writing/saving an image
This section explains how to save created images in an appropriate format.

Previous Trail Next

Your use of this page and all the material on pages under "The Java Tutorials" banner is subject to these legal notices.
Copyright 1995, 2015 Oracle and/or its affiliates. All rights reserved.

Problems with the examples? Try Compiling and Running the Examples: FAQs.
Complaints? Compliments? Suggestions? Give us your feedback.