Существует три основные операции для работы с изображением: создание изображения, его загрузка и вывод на экран. В Java класс Image используется для ссылки на изображение в памяти и на изображение, которое должно загружаться из внешних источников. Таким образом, Java обеспечивает возможность создания нового графического объекта и его загрузки, а также средства вывода этого изображения на экран.
Создание графического объекта
Класс Component в java.awt содержит стандартный метод createlmage(), который используется для создания объектов Image.
Image createlmage(Image Producer объект)
Image createlmage(int ширина, int высота)
Первая версия метода возвращает изображение, полученное с помощью объекта, реализующего интерфейс ImageProducer. (Построители изображений, т.е. объекты, реализующие интерфейс ImageProducer, будут рассмотрены ниже.) Вторая версия метода возвращает чистое (т.е. пустое) изображение заданной ширины и высоты.
В данный момент изображение является пустым. Позже вы узнаете, как записать в него данные.
Загрузка изображения
Можно не создавать новое изображение, а загрузить его. Для этого используются следующие версии метода getlmage () класса Applet:
Image getlmage(URL адрес)
Image getlmage(URL адрес, String имя)
Первая версия метода возвращает объект Image, в котором инкапсулировано изображение, находящееся по указанному адресу. Вторая версия метода возвращает объект Image, в котором инкапсулировано изображение, находящееся по указанному адресу под заданным именем.
Вывод изображения на экран
Когда изображение получено, его можно вывести на экран с помощью метода drawlmage(), который является членом класса Graphics.
boolean drawImage(Image объект, int X, int У, ImageObserver контролер)
Этот метод выводит на экран изображение, передаваемое с помощью параметра объект, верхний левый угол которого задается координатами X, Y. Параметр контролер является ссыпкой на класс, реализующий интерфейс ImageObserver. Этот интерфейс реализуется всеми компонентами AWT. Контролер изображения - это объект, который может отслеживать процесс загрузки изображения.
С помощью методов getImage() и drawImage() действительно можно легко загрузить и вывести на экран изображение. Рассмотрим пример аплета, который загружает и выводит на экран одно изображение. В данном случае загружается файл Seattle, jpg, однако вместо него можно подставить любой файл с расширением GIF или JPG (находящийся в том же каталоге, что и файл HTML, содержащий данный аплет).
import java.awt.* ;
import java.applet.* ;
/*
<applet code="SimpleImageLoad" width=248 height=146>
<param name="img" value="wilderness.jpg">
</applet>
*/
public class SimpleImageLoad extends Applet{
Image img;
public void init() {
img = getImage(getDocumentBase(),getParameter("img"));
}
public void paint(Graphics g) {
g.drawImage(img, 0, 0, this);
}
}
Результат апплета: