Иллюстрированный самоучитель по программированию мобильных телефонов

Класс Graphics

При помощи класса Graphics осуществляется двухмерное представление графики на экране телефона. Класс Graphics существует также в составе Java 2 SE, но в платформе Java 2 ME он сильно урезан, всвязи с ограниченными системными ресурсами телефонов. Поэтому имеется возможность рисовать только линии, прямоугольники, дуги и текст. Для окрашивания этих примитивов предусмотрена работа с цветовой компонентой.

Система координат, используемая для представления графики в Java 2 ME, перевернута по отношению к обычной Декартовой системе координат. Начало системы координат, находится в левой верхней точке экрана телефона. Положительная ость X проходит по верхней кромке экрана слева направо, а положительная ось Y – сверху вниз по левой стороне экрана, как изображено на рис. 7.1.

Такая система координат отнюдь не новшество в программировании двухмерной графики. Идентичная модель координат применяется так же в DirectX и OpenGL для представления двухмерных сцен, но уже в компьютерной графике.

Иллюстрированный самоучитель по программированию мобильных телефонов › Программирование графики › Класс Graphics
Рис. 7.1. Система координат в Java 2 ME

Методы класса Graphics

Основные методы класса Graphics обеспечивают прорисовку двухмерной графики. Есть еще несколько методов, с помощью которых можно произвести перемещение системы координат и произвести отсечение (clipping). Основные методы класса Graphics:

  • void copyArea(int x_src, int y_src, int width, int height, int x_dest, int y_dest, int anchor) – копирует прямоугольную область из установленных значений в параметрах (x_src, y_src, width, height), в новую область (x_dest, y_dest);
  • void drawArc(int x, int y, int width, int height, int startAngle, int arcAngle) – рисует контур дуги в виде эллипса;
  • void drawChar(char character, int x, int y, int anchor) – рисует символ;
  • void drawChars(char[] data, int offset, int length, int x, int y, int anchor) – рисует массив символов:
  • void drawlmage (Image img, int x, int y, int anchor) – рисует изображение;
  • void drawLine(int x1, int y1, int x2, int y2) – рисуетлинию из точки x1 и y1, до точки х2 и у2;
  • void drawRegion(Image src, int x_src, int y_src, int width, int height, int transform, int x_dest, int y_dest, int anchor) – копирует изображения в заданную область на экран телефона;
  • void drawRoundRect(int x, int у, int width, int height, int – arcWidth, int arcHeight) – рисует контур прямоугольника, используя закругленные углы;
  • void fillArc(int x, int y, int width, int height, int startAngle, int arcAngle) – рисует заполненную цветом дугу;
  • void fillRect(int x, int у, int width, int height) – рисует заполненный цветом прямоугольник;
  • void fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight) – рисует заполненный прямоугольник, используя закругленные углы;
  • void fillTriangle(int x1, int y1, int x2, int y2, int x3, int y3) – рисует заполненный цветом треугольник;
  • int getBlueComponent () – получает синий компонент цвета;
  • int getClipHeight () – получает высоту для текущей области отсечения;
  • int getClipWidth() – получает ширину для текущей области отсечения;
  • int getColor () – получает текущий цвет;
  • Font getFont () – получает текущий шрифт;
  • int getGreenComponent () – получает зеленный компонент цвета;
  • int getRedComponent () – получает красный компонент цвета;
  • void setClip(int x, int y, int width, int height) – устанавливает отсечение заданной области экрана;
  • void setColor (int RGB) – устанавливает цвет при помощи значения RGB;
  • void setColor (int red, int green, int blue) – назначает цвет при помощи трех цветовых компонентов red, green и blue;
  • void setFont (Font font) – устанавливает заданный шрифт;
  • void setStrokeStyle (int style) – задает штриховой стиль рисуемому контексту, используя константы SOLID и DOTTED;
  • void translate (int x, int у) – перемещает систему координат в точку х и у.
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.