Special Effects and Game Development
in Java(TM) - Images
by Anibal Wainstein
4.0 Images
Java applets and applications can read two types of image
formats, JPEG and GIF format. Java also support transparent
GIF89 images, these images can get other images behind them
to "shine through" the transparency pixels. Note
that in spite of this an applet can never be made transparent,
which means that you cannot have a transparent GIF89 image
in an applet and at the same time get the homepage background
to shine through. It is the ability to load images and to
process or animate them, that makes Java applets to an alternative
against GIF89 animations. When you, on top of this, are able
to add interaction to these animations then it gets to be
a very superior alternative. In this chapter we will review
how to handle and how to work with images.
4.0.1 How to load and
handle images in Java applets (the Image class)
It is the Image class that handles images. If an applet is
going to load images then it needs to know where the image
is and what the file is named. As we have mentioned in the
last section, the images must be in JPEG or GIF87/89 format.
You can load an image with the getImage() method:
public Image logo;
public void init()
{
logo=getImage(getDocumentBase(),"logo.jpg");
}
The getImage() method requires two arguments: one is an URL
to the location where the image is and the other argument
is the name of the file in the form of a string. The getDocumentBase()
method will return an URL object which is the location of
the applet's class file. The applet will be able to load the
image "logo.jpg" if it is in the same catalog as
the class file. Later on in chapter 6, we will look more at
the URL class. With this code the image can now be loaded.
Please note that the image is not immediately fully read by
the applet, this can lead to funny effects as you will see
later. An image can later on be drawn with the Graphics method
drawImage() in the following way:
public void paint(Graphics g)
{
g.drawImage(logo,0,0,this)
}
There are several drawImage() methods, but the simplest is
the one used in the code example here above. This method we
will use extensively in the course. The arguments are an Image
object, the x and y positions for the image and a reference
to the applet itself (this). Click
here to see how it works. Please note that the image should
have the same dimensions as the applet.
Next Page >>
|