1 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Java 2 Micro Edition Лаборатория информационных технологий (ИТЛаб) При поддержке фирмы.

Презентация:



Advertisements
Похожие презентации
Applets Inna Issajeva. Апплеты это маленькие приложения, которые размещаются на серверах Internet, транспортируются клиенту по сети, автоматически устанавливаются.
Advertisements

Урок повторения по теме: «Сила». Задание 1 Задание 2.
1 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Java 2 Micro Edition Лаборатория информационных технологий (ИТЛаб) При поддержке фирмы.
Рисуем параллелепипед Известно, что параллельная проекция тетраэдра, без учета пунктирных линий, однозначно определяется заданием проекций его вершин (рис.
Тест по теме: «Графический редактор PAINT» Тест 1. Графический редактор.Графический редактор. Тест 2. Графический редактор Paint.Графический редактор Paint.
Школьная форма Презентация для родительского собрания.
1. Определить последовательность проезда перекрестка
Окно САПР КОМПАС-3D. В центре окна приложения располагается рабочее поле, в котором производится создание чертежей. Рабочее поле.
1 Изучение особенностей цветового оформления материала в презентации Работа 3 Федеральное агентство по образованию Государственное образовательное учреждение.
Проектирование архитектуры ИСО 1. UML 2 Структура определения языка 4.
Учебный курс Объектно-ориентированный анализ и программирование Лекция 4 Трансформация логической модели в программный код Лекции читает кандидат технических.
Масштаб 1 : 5000 Приложение 1 к решению Совета депутатов города Новосибирска от _____________ ______.
ИЗУЧЕНИЕ ГРАФИЧЕСКОГО РЕДАКТОРА PAINT Операционная система Windows имеет графический редактор Paint, с помощью которого можно изучить основные приемы.
Презентация к уроку информатики 7 класс Автор: Юдин Андрей Борисович МКОУ Плесская СОШ.
Задание графического режима Линия Прямоугольник Окружность Эллипс Дуга выход Тест 2Тест 1 содержание.
1 Основы надежности ЛА Надежность сложных систем.
Основы обработки графических изображений. Что такое Paint?
Y x 0 Оси координат на форме располагаются как показано на рисунке Операторы графики.
Использование графических методов. DRAW.BEGIN(DRAWAREA1) DRAW.BEGIN(FMain) DRAW.LINE (X1,Y1,X2,Y2) Использование графических методов. С помощью методов.
Графика в Turbo Pascal ГБОУ СПО «КСТ», г. Калуга преподаватель Шамрина Ольга Николаевна.
Транксрипт:

1 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Java 2 Micro Edition Лаборатория информационных технологий (ИТЛаб) При поддержке фирмы Intel Проект ТЭЛМА Технология Java Жерздев С.В.

2 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Mobile Information Device Profile (MIDP) Часть 2

3 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. API интерфейса низкого уровня В основе низкоуровневого интерфейса пользователя лежит использование абстрактного класса Canvas, обеспечивающего базу для написания приложений с поддержкой низкоуровневых событий и отображения графики. Метод paint() объявлен как абстрактный и требует реализации в классе-наследнике. Класс Canvas обеспечивает методы обработки игровых событий, событий от кнопок и событий от механизма позиционирования (если оно реализовано в устройстве). Также обеспечивается определение параметров устройства.

4 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Обработка событий Объект Canvas содержит несколько методов, которые вызываются реализацией: – showNotify() – hideNotify() – keyPressed() – keyRepeated() – keyReleased() – pointerPressed() – pointerDragged() – pointerReleased() – paint() – commandAction() интерфейса CommandListener

5 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Обработка событий Все эти методы сериализуются, т.е. реализация никогда не вызывает метод обработки событий до завершения предыдущего вызова. Исключением является метод serviceRepaints(), который блокирует до завершения работы метода paint(). Перечисленные методы вызываются, только пока Canvas реально отображается на экране устройства, т.е. после вызова showNotify() и до вызова hideNotify(). Метод showNotify() вызывается перед отображением Canvas на экране, а hideNotify() - после удаления его с экрана.

6 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. События клавиатуры События клавиатуры представлены кодами клавиш, которые привязаны к конкретным аппаратным кнопкам устройства. Методы обработки событий реализованы и являются пустыми, что позволяет переопределить только необходимые обработчики: public void keyPressed(int keyCode); public void keyReleased(int keyCode); public void keyRepeated(int keyCode); Приложение может проверить поддержку повторяющихся событий с помощью метода: public static boolean hasRepeatEvents();

7 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. События клавиатуры Раскладка клавиш устройства не определяется API, требуется только поддержка стандартных кодов клавиш для клавиатуры ITU-T (0-9, *, #). Таким образом, на устройстве могут быть реализованы дополнительные клавиши, но использующее их приложение будет вообще говоря непереносимо.

8 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Игровые события Класс Canvas имеет методы для обработки абстактных игровых событий. В зависимости от реализации, эти события привязаны к тем или иным подходящим клавишам устройства. Например, устройство может содержать специальные кнопки для навигации или использовать цифровые 2, 4, 5, 6, 8. Использование игровых событий позволяет создавать переносимые приложения с поддержкой низкоуровневых событий. Игровые события: UP, DOWN, LEFT, RIGHT, FIRE, GAME_A, GAME_B, GAME_C, GAME_D.

9 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Игровые события Приложение может определить абстрактное событие по коду клавиши и наоборот с использованием методов public static int getGameAction(int keyCode); public static int getKeyCode(int gameAction); Для преобразования кода клавиши в соответствующий символ можно применять следующий код: if (keyCode > 0) { char ch = (char)keyCode; … }

10 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Игровые события Полагается, что соответствие кодов кнопок и абстрактых событий не изменяется: class TetrisCanvas extends Canvas { int leftKey, rightKey, downKey, rotateKey; void init () { leftKey = getKeyCode(LEFT);... } public void keyPressed(int keyCode) { if (keyCode == leftKey) { moveBlockLeft(); } else... }

11 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Игровые события Другая возможная реализация: public void keyPressed(int keyCode) { int action = getGameAction(keyCode); if (action == LEFT) { moveBlockLeft(); } else if (action == RIGHT) {... }

12 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Позиционирующие устройства Низкоуровневый API обеспечивает поддержку позиционирующих устройств (например, сенсорного экрана). public void pointerPressed(int x, int y) public void pointerReleased(int x, int y) public void pointerDragged(int x, int y) Т.к. не все устройства содержат такой механизм ввода, эти методы обработки событий могут быть неактивными. Для проверки этого приложение может использовать следующие методы: public static boolean hasPointerEvents(); public static boolean hasPointerMotionEvents();

13 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Абстрактные команды Класс Canvas является подклассом Displayable, и приложение может привязать к нему абстрактые команды (объекты Command). Некоторые устройства могут использовать переключение в другой режим экрана для обработки абстрактных команд, в этом случае приложение будет получать сообщения showNotify() и hideNotify().

14 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Модель отрисовки Перерисовка не выполняется автоматически для объектов Canvas. Приложение запрашивает перерисовку экрана с помощью вызова метода repaint() класса Canvas. Собственно отрисовка выполняется в методе paint(), который реализуется в потомке класса Canvas, причем вызов этого метода не синхронизован с вызовом repaint(). Непосредственный вызов метода paint() из приложения не допускается. Приложение может активизировать запросы на перерисовку с помощью вызова метода serviceRepaints().

15 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Модель отрисовки В потомке класса Canvas необходимо реализовать метод отрисовки protected abstract void paint (Graphics g) Область обрезки графического объекта Graphics определяет область экрана, требующую отрисовки. Корректно написанный метод paint() должен отрисовать каждый пиксел этой области. Содержимое объекта Canvas не сохраняется и после вызова showNotify() следует вызов paint() с объектом Graphics, область обрезки которого определяет всю отображаемую область экрана.

16 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Модель отрисовки Приложение со сложным алгоритмом построения изображения могут создавать вспомогательный объект Image, рисовать в него, и затем отображать его при вызове метода paint(). Единственная доступная операция рисования - изменение цвета пикселов, смешение цветов или прозрачность не поддерживаются. Используется 24-разрядная цветовая модель RGB, которая может приводится конкретным устройством к поддерживаемому подмножеству цветов или оттенков серого.

17 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Графический объект Построение изображения производится с помощью графического объекта (класс Graphic), который обеспечивает вывод непосредственно на экран или в изображение-буфер. Объект Graphics обеспечивает простые возможности двумерного геометрического отображения. Поддерживаются графические примитивы для текста, изображений, линий, прямоугольников и дуг. Прямоугольники и дуги также могут быть залиты сплошным цветом, а для прямоугольников может быть задано скругление углов.

18 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Графический объект Графический объект для отображения на экран передается в метод paint() объекта Canvas. Это единственный способ получить доступ к графическому образу экрана. Боле того, полученный объект можно использовать только в процессе выполнения метода paint(). Графический объект для отображения в изображение-буфер может быть получен вызовом метода getGraphics() для требуемого изображения. Для установки цвета рисования используется метод setColor() класса Graphic.

19 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Графический объект Линии, дуги, прямоугольники и скругленные прямоугольники могут быть отображены сплошными или пунктирными, что определяется вызовом метода public void setStrokeStyle (int style) Объект Graphics имеет единственную область обрезки. Область обрезки представляет собой прямоугольник (clipping rectangle), определяющий рабочую область. Все графические операции влияют только на пикселы внутри этой области. Можно задать область обрезки с нулевой или отрицательной шириной или высотой.

20 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Система координат Координаты доступной для рисования области экрана и изображений отсчитываются от (0,0) в левом верхнем углу. Координаты рассматриваются как целые значения, пропорциональные расстояниям на экране с учетом формы пикселов. Система координат представляет расстояния между пикселами, но не сами пикселы. Тем неменее, первый пиксел в левом верхнем углу лежит в квадрате с координатами (0,0), (1,0), (0,1), (1,1).

21 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Система координат Приложение может запросить доступную область рисования с помощью вызовов методов класса Canvas: public static final int getWidth(); public static final int getHeight();

22 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Система координат Область, обрабатываемая операциями заливки, немного отличается от области, обрабатываемой операциями рисования при одних и тех же заданных координатах. Например, g.fillRect(x, y, w, h); // 1 g.drawRect(x, y, w, h); // 2 Оператор (2) рисует прямоугольник, левое и верхнее ребра которого находятся в закрашенной области, а правое и нижнее - на один пиксел вне ее. Однако, операторы заливки не оставляют отступа от соответствующих по координатам фигур и не выходят за их пределы.

23 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Текст public void drawChar(char ch, int x, int y, int anchor) public void drawChars(char[] data, int off, int len, int x, int y, int anchor) public void drawString(String t, int x, int y, int anchor); public void drawSubstring(String t, int off, int len, int x, int y, int anchor) Эти методы отображают текст текущим цветом с использованием текущего шрифта с установкой его точки привязки в координаты (x,y).

24 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Текст Точка привязки задается одной из констант для горизонтальной привязки (LEFT, HCENTER, RIGHT), скомбинированной с помощью логического OR с одной из констант вертикальной привязки (TOP, BASELINE, BOTTOM). Значение точки привязки по умолчанию 0, при этом используется левый верхний угол ограничивающего текст прямоугольника.

25 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Текст Для привязки текста к нужному положению можно использовать и методы Font.stringWidth() и Font.getHeight(). Например, drawString(string1+string2, x, y, TOP|LEFT); должно дать тот же результат, что и drawString(string1, x, y, TOP|LEFT); f.getFont(); drawString(string2,x +f.stringWidth(string1),y, TOP|LEFT);

26 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Текст Если в приложении необходимо привязать отрисовку объектов к выведенному тексту (например, обвести текст рамкой), следует учитывать, что ограничивающий прямоугольник отстоит на некоторое расстояние от текста справа и снизу и примыкает к тексту слева и сверху.

27 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Шрифт Класс Font представляет шрифт и метрики шрифта. Объекты этого класса не создаются приложением, а возвращаются системой по запросу приложения. Значения атрибутов шрифта задаются константами, которые можно комбинировать с помощь операции логического OR. – Размер: SMALL, MEDIUM, LARGE. – Вид: PROPORTIONAL, MONOSPACE, SYSTEM. – Стиль: PLAIN, BOLD, ITALIC, UNDERLINED. Если не все из вариантов поддерживаются устройством, будет возвращен шрифт, наиболее близкий к запрашиваемому.

28 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Изображения Класс Image используется для хранения графических изображений. Объекты Image независимы от содержимого экрана устройства, они находятся в памяти и отображаются на экране только по явному указанию приложения. Изображения делятся на изменяемые и неизменяемые в зависимости от способа их создания.

29 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Изображения Неизменяемы изображения, как правило, создаются путем загрузки графических данных из ресурсов, файлов или по сети. После создания их содержимое не может быть изменено. Все реализации MIDP должны поддерживать изображения, сохраненные в формате PNG (Portable Network Graphics) версии 1.0. Изменяемые изображения создаются в памяти. Приложение может рисовать в них после создания с помощью соответствующего объекта Graphics.

30 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Изображения Из изменяемого изображения можно создать неизменяемое, которое может использоваться в элементах интерфейса пользователя, с помощью статического метода createImage (Image source); Возможна и обратная операция: Image source; // the image to be copied source = Image.createImage(...); Image copy = Image.createImage( source.getWidth(), source.getHeight()); Graphics g =copy.getGraphics(); g.drawImage(source, 0, 0, TOP|LEFT);

31 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Изображения Изображения отображаются с помощью метода класса Graphics public void drawImage (Image img, int x, int y, int anchor) Для изображений, как и для текста, поддерживаются точки привязки с дополнительным значением для центрирования по вертикали VCENTER, значение BASELINE не поддерживается.

32 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Параллелизм API поддерживает многопоточные приложения. Методы могут быть вызваны из обработчиков событий, таймера, из потоков приложения. API не блокирует никаких объектов приложения. Исключение - метод serviceRepaints(), который немедленно вызывает метод paint(), но, возможно, в контексте другого потока. Если метод paint() попытается заблокировать объект, захваченный перед вызовом serviceRepaints(), приложение попадет в клинч. Приложение может сериализовать свои действия с обработкой событий (метод Display.callSerially()).

33 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Пакет javax.microedition.lcdui

34 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. javax.microedition.lcdui.Canvas В классе определены несколько констант для игровых событий: public static final int LEFT public static final int RIGHT public static final int UP public static final int DOWN public static final int FIRE public static final int GAME_A public static final int GAME_B public static final int GAME_C public static final int GAME_D

35 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. javax.microedition.lcdui.Canvas и для нажатий кнопок: public static final int KEY_NUM0 public static final int KEY_NUM1 … public static final int KEY_NUM9 public static final int KEY_POUND // # public static final int KEY_STAR // * Методы обработки событий рассмотрены выше.

36 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. javax.microedition.lcdui.Canvas public int getHeight() public int getWidth () Получить параметры отображаемой области в пикселах. public java.lang.String getKeyName (int keyCode) Возвращает строковое описание клавиши (текст, написанный на физической кнопке устройства) по коду. public boolean isDoubleBuffered () Возвращает true, если устройство поддерживает двойную буферизацию вывода.

37 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. javax.microedition.lcdui.Canvas public final void repaint (int x, int y, int width, int height) Запрашивает перерисовку зажданной области экрана.

38 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. javax.microedition.lcdui.Font public int charWidth (char ch) public int charsWidth (char[] ch, int offset, int length) public int stringWidth (java.lang.String str) public int substringWidth (java.lang.String str, int offset, int len) public int getHeight () Возвращает ширину/высоту символа или текста, заданного ch, начиная с заданного смещения и заданной длины при использовании данного шрифта. Ширина возвращается с учетом межсимвольных интервалов.

39 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. javax.microedition.lcdui.Font public int getBaselinePosition () Возвращает расстояние в пикселах от верха текста до базовой линии. public static Font getDefaultFont () Возвращает текущий шрифт в системе. public static Font getFont (int face, int style, int size) Возвращает объект, представляющий шрифт системы, наиболее точно соответствующий заданным атрибутам.

40 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. javax.microedition.lcdui.Font public int getFace () public int getSize () public int getStyle () public boolean isBold () public boolean isItalic () public boolean isPlain () public boolean isUnderlined () Методы возвращают и проверяют атрибуты шрифта.

41 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. javax.microedition.lcdui.Graphics public static final int BASELINE public static final int BOTTOM public static final int HCENTER public static final int LEFT public static final int RIGHT public static final int TOP public static final int VCENTER public static final int DOTTED public static final int SOLID Константы для определения точек привязки и стилей линий.

42 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. javax.microedition.lcdui.Graphics public void clipRect (int x, int y, int width, int height) Задает новую область отсечения. Результирующая область обрезки является пересечением текущего прямоугольника обрезки с заданным. Этот метод может использоваться только для уменьшения области обрезки. Для увеличения этой области можно использовать метод public void setClip (int x, int y, int width, int height) который задает облать обрезки.

43 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. javax.microedition.lcdui.Graphics public int getClipX () public int getClipY () public int getClipHeight () public int getClipWidth () Возвращают параметры текущей области обрезки.

44 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. javax.microedition.lcdui.Graphics public void drawArc (int x, int y, int w, int h, int startAngle, int arcAngle) Рисует дугу окружности или эллипса, покрывающую заданный прямоугольник с использованием текущего цвета и стиля линии. Центр дуги совпадает с центром заданного прямоугольника. Начальный угол задан в градусах от положительного направления оси X, с привязкой к пропорциям прямоугольника (45 градусов соответствуют отрезку из центра в правый верхний угол прямоугольника). Конечный угол задается относительно начального.

45 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. javax.microedition.lcdui.Graphics public void drawLine (int x1, int y1, int x2, int y2) Рисует линию между заданными точками с использованием текущего цвета и стиля. public void drawRect (int x, int y, int width, int height) Рисует прямоугольник без закраски, покрывающий область с размерами (width + 1, height + 1) пиксел. public void drawRoundRect (int x, int y, int w, int h, int arcW, int arcH) Рисует скругленный прямоугольник. Параметры arcW и arcH задают горизонтальный и вертикальный диаметры скругления.

46 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. javax.microedition.lcdui.Graphics public void fillArc(int x, int y, int w, int h, int startAngle, int arcAngle) public void fillRect(int x, int y, int width, int height) public void fillRoundRect(int x, int y, int w, int h, int arcW, int arcH) Методы заливки областей различной формы текущим цветом.

47 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. javax.microedition.lcdui.Graphics public int getBlueComponent () public int getGreenComponent () public int getRedComponent () public int getGrayScale () public int getColor () Возвращают текущий цвет в форме 0x00RRGGBB, его компоненты или яркость. public void setColor (int RGB) public void setColor (int red, int green, int blue) public void setGrayScale (int value) Устанавливает текущий цвет.

48 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. javax.microedition.lcdui.Graphics public Font getFont () public void setFont (Font font) Возвращает/устанавливает текущий шрифт. public int getStrokeStyle () public void setStrokeStyle (int style) Возвращает/устанавливает текущий стиль линий.

49 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. javax.microedition.lcdui.Graphics public void translate (int x, int y) public int getTranslateX() public int getTranslateY() Устанавливает/читает смещение начала координат. Все последующие операции будут реализованы относительно заданной точки. Последовательное применение имеет кумулятивный эффект.

50 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. javax.microedition.lcdui.Image public static Image createImage (java.lang.String name) public static Image createImage (byte[] imData, int imOffset, int imLength) Создает неизменяемое изображение, которое декодируется из ресурса или из массива байт. Изображение в массиве должно быть представлено в поддерживаемом формате (PNG). public static Image createImage (Image source) public static Image createImage (int width, int height) Создает неизменяемое изображение копированием данных из исходного изображения или новое, заполненное белым цветом.

51 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. javax.microedition.lcdui.Image public Graphics getGraphics () Создает новый объект Graphics для рисования в данное изменяемое изображение. Созданный объект Graphics: – место назначения - данное изображение; – область обрезки покрывает все изображение; – текущий цвет - черный; – текущий шрифт - шрифт по умолчанию; – текущий стиль линий - сплошной; – начало координат - левый верхний угол изображения. Время жизни созданного Graphics неограничено, он может использоваться из любого потока.

52 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. javax.microedition.lcdui.Image public int getHeight () public int getWidth () public boolean isMutable () Методы читают параметры изображения.