Imágenes en Java

Java permite incorporar imágenes de tipo GIF y JPEG definidas en ficheros. Se dispone para ello de la clase java.awt.Image. Para cargar una imagen hay que indicar la localización del fichero (URL) y cargarlo mediante los métodos Image getImage(String) o Image getImage(URL, String). Estos métodos existen en las clases java.awt.Toolkit y java.applet.Applet. El argumento de tipo String representa una variable conteniendo el nombre del fichero.

Cuando estas imágenes se cargan en applets, para obtener el URL pueden ser útiles las funciones getDocumentBase() y getCodeBase(), que devuelven el URL del fichero HTML que llama al applet, y el directorio que contiene el applet (en forma de String).

Para cargar una imagen hay que comenzar creando un objeto Image, y llamar al método getImage(), pasándole como argumento el URL. Por ejemplo:

Image miImagen = getImage(getCodeBase(), «imagen.gif»)

Una vez cargada la imagen, hay que representarla, para lo cual se redefine el método paint() para llamar al método drawImage() de la clase Graphics. Dicho método admite varias formas, aunque casi siempre hay que incluir el nombre del objeto imagen creado, las dimensiones de dicha imagen y un objeto ImageObserver.

ImageObserver es una interface que declara métodos para observar el estado de la carga y visualización de la imagen. Si se está programando un applet, basta con poner como ImageObserver la referencia this, ya que en la mayoría de los casos, la implementación de esta interface en la clase Applet proporciona el comportamiento deseado. Para más información sobre dicho método dirigirse a la referencia de la API.

La clase Image define ciertas constantes para controlar los algoritmos de cambio de escala: SCALE_DEFAULT, SCALE_FAST, SCALE_SMOOTH,

SCALE_REPLICATE, SCALE_AVERAGE.

La Tabla 5.35 muestra algunos métodos de la clase Image.