Новые книги

Легендарная компания «Тройка Диалог» известна даже людям, далеким от финансовых тем. Эта компания участвовала в самых первых размещениях акций (на миллиардные суммы!) на едва зарождавшемся российском финансовом рынке и фактически определяла его развитие. Такой небывалый успех был обусловлен не только статусом первопроходца, но и тем, что управленческая модель компании изначально подразумевала партнерство, командную работу и умение находить компромисс.

О самых ярких эпизодах становления «Тройки Диалог» рассказывают ключевые участники событий: Рубен Варданян, Павел Теплухин, Гор Нахапетян, Жак Дер Мегредичян и многие другие. Практически это новейшая экономическая история России из уст тех, кто ее творил. И этот опыт, без сомнения, будет интересен не только тем, кто вращается в финансовых сферах.
Рассмотрены основные элементы теории организации, разновидности организаций, управление в организационных системах и основы проектирования организационных отношений. Изучение курса позволяет сформировать и развить способности проектировать организационную структуру, распределять полномочия и ответственность на основе их делегирования, оценивать условия и последствия принимаемых организационно-управленческих решений, а также другие компетенции в области формирования и развития организационной структуры, организационных отношений и корпоративной культуры.

Соответствует Федеральному государственному образовательному стандарту высшего профессионального образования третьего поколения.

Для студентов бакалавриата, изучающих управленческий цикл дисциплин, аспирантов, преподавателей, сотрудников органов местного самоуправления и специалистов, занимающихся проблемами управленческой и организаторской деятельности.

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

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

Оглавление

Растровые изображения
Загрузка и рисование
Класс Image
Ожидание загрузки
Видео
Аплет CDRotation

Загрузка растрового изображения из файла выполняется очень просто - с помощью метода 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 запускает процесс загрузки и рисования изображения, а затем, не дожидаясь его завершения, возвращает управление. Так как загрузка файла изображения по сети может отнять немало времени, она выполняется асинхронно в отдельной задаче.