ROBOWEB : Документация : Документация по JAVA , описание JAVA , примеры JAVA , программирование на JAVA , JAVA аплеты , исходники , исходные тексты , source , make программ на JAVA , библиотека классов JAVA , Java WorkShop , Java Studio , компоненты JAVA , свойства события методы JAVA , сокет , передача данных , потоковые сокеты , доступ к файлам , датаграммные сокеты , растровое изображение , видео , звуковые файлы , sun взлом защита скачать бесплатно новые свежие архив секреты недокументированные способы русский перевод компьютер zip каталог add url forum форум чат chat программист программер хакер xakep hack баги компилить сорцы научиться урок обучение домашняя страница home page разработка создание применение примеры способы портал документ знания
Разработка сайтов, web дизайн - Центр Русского Дизайна HOD.RU
FLASH
3D Studio MAX
DreamWeawer FAQ
Изучение HTML
META тэги
CSS
Руководство по стилям
Спецификация WML (WAP)
Язык DHTML
Спецификация XML
Руководство по Java
Документация по JavaScript
Язык HOD Text Processor
Интерфейс CGI
Документация по Perl 5
Perl FAQ
Документация по PHP
PHP/FI 2.0
Документация по SQL
Базы данных
Доступ к БД

Рейтинг@Mail.ru Rambler's Top100

Веб дизайнеру
Каталог сайтов Axes.ru


Загрузка и рисование растрового изображения

 

Загрузка растрового изображения из файла выполняется очень просто - с помощью метода getImage, определенного в классе Applet:

public Image getImage(URL url);
public Image getImage
(URL url, String name);

Первый вариант метода предполагает использование только одного параметра - адреса URL файла графического изображения. Второй позволяет дополнительно указать относительное расположение файла изображения относительно адреса URL, например:

Image img;
img = getImage(
"http://www.glasnet.ru/~frolov/pic","cd.gif");

Если аплет желает загрузить изображение, расположенное в том же каталоге, что и он сам, это можно сделать следующим образом:

img = getImage(getCodeBase(), "cd.gif");

Метод getCodeBase, определенный в классе Applet, возвращает адрес URL аплета. Вместо него можно использовать метод getDocumentBase, который также определен в классе Applet и возвращает адрес URL документа HTML, содержащего аплет:

img = getImage(getDocumentBase(), "cd.gif");

В любом случае метод getImage создает объект класса Image.

Заметим, что на самом деле метод getImage вовсе не загружает изображение через сеть, как это можно было бы подумать. Он только создает объект класса Image. Реальная загрузка файла растрового изображения будет выполняться методом рисования drawImage, который определен в классе Graphics:

public abstract boolean
  drawImage(Image img, int x, int y,
            ImageObserver observer);
public abstract boolean
  drawImage(Image img, int x, int y,
    Color bgcolor, ImageObserver observer);
public abstract boolean
  drawImage(Image img, int x, int y,
    int width, int height,
    ImageObserver observer);
public abstract boolean
  drawImage(Image img, int x, int y,
    int width, int height,
    Color bgcolor, ImageObserver observer);

Как видите, существует четыре варианта этого метода.

В качестве первого параметра любому варианту метода передается ссылка на объект класса Image, полученный ранее с помощью метода getImage.

Параметры x и y задают координаты верхнего левого угла прямоугольной области, внутри которой будет нарисовано изображение. Эти параметры также задаются для любого варианта метода drawImage.

Параметр bgcolor задает цвет фона, на котором будет нарисовано изображение. Как вы, вероятно, знаете, изображения GIF могут быть прозрачными. В этом случае цвет фона может иметь большое значение.

Если для рисования выбраны варианты метода drawImage с параметрами width и height, изображение будет нарисовано с масштабированием. При этом указанные параметры будут определять, соответственно, ширину и высоту изображения.

Параметр observer представляет собой ссылку на объект класса ImageObserver, который получит извещение при загрузке изображения. Обычно в качестве такого объекта используется сам аплет, поэтому данный параметр указывается как this.

Вот два примера использования метода drawImage:

g.drawImage(FloppyDiskImg, 25, 3, this);
g.drawImage(FloppyDiskImg,
  25, 42, 200, 200, this);

В первой строке изображение FloppyDiskImg рисуется в точке с координатами (25, 3) без масштабирования, во второй - в точке с координатами (25, 42), причем высота и ширина нарисованного изображения будет равна 200 пикселам.

Метод drawImage запускает процесс загрузки и рисования изображения, а затем, не дожидаясь его завершения, возвращает управление. Так как загрузка файла изображения по сети может отнять немало времени, она выполняется асинхронно в отдельной задаче.





Содержание