Drawing an Image
Problem
You want to display an image, a preformatted bitmap, or raster file.
Solution
Use the Graphics
drawImage( )
method in your paint routine. Image
objects represent bitmaps. They are normally loaded from a file via
getImage( ), but can also be synthesized using
createImage( )
. You can’t construct them
yourself, however: the Image class is abstract.
Once you have an image, displaying it is trivial:
// File graphics/DrawImageDemo.java
public void paint(Graphics g) {
g.drawImage(0, 0, myImage, this);
}Discussion
You can get an image by using a routine named, naturally,
getImage( )
. If
your code will be used only in an applet, you can use the
Applet method getImage( ), but
if you want it to run in an application as well, you need to use the
Toolkit version. This form takes either a filename or a URL. The
filename, of course, when it turns up in an applet, will fail with a
security exception unless the user installs a policy file. Program
GetImage
shows the code for doing this
both ways:
/* * For Applet, invoke as: <APPLET CODE="GetImage" WIDTH="100" HEIGHT="100"> </APPLET> * For Application, just run it (has own main). */ import java.awt.*; import java.net.*; // for URL class /** This program, which can be an Applet or an Application, * shows a form of Toolkit.getImage( ) which works the same * in either Applet or Application! */ public class GetImage extends java.applet.Applet { Image image; public void init( ) { loadImage( ); } public void loadImage( ) { ...Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access