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

Класс Image

При рассмотрении класса ImageItem мы уже использовали объекты класса Image, но тогда был рассмотрен только один метод и способ работы с классом Image. В этом разделе вы более подробно познакомитесь с этим классом. Класс Image необходим для загрузки и хранения изображений в формате PNG. Чаще всего загружаемые изображения находятся в рабочем каталоге приложения. Но могут находиться и где угодно, надо только правильно указать путь местонахождения для загрузки.

При упаковке приложения в JAR-файл, все имеющиеся изображения автоматически копируются в архив, и при работе программы на телефоне, загрузка уже осуществляется из JAR-файла. Загружаемые изображения могут использоваться во время работы с классами Alert, Choice, ChoiceGroup, Form, ImageItem и Graphics. Качество воспроизведения изображения на экране всецело зависит от возможностей используемого телефона. Если изображение больше фактического размера дисплея, то сервис телефона организует прокрутку изображения и если это не входит в ваши планы, то следует придерживаться минимальных размеров ширины и высоты при создании изображений.

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

Все методы класса Image служат для загрузки изображений из файлов, ресурсов, потоков, а в некоторых методах можно задавать размеры и трансформацию изображений. Проанализируем основные методы класса Image.

  • static Image createlmage(byte[ ] imageData, int imageOff-set, int imageLength) – загружает изображение учитывая смещение и длину f1 байтах;
  • static Image createlmage (Image source) – загружает изображение из файла;
  • static Image createlmage(Image image, int x, int y, int width, int height, int transform) – загружает изображение в заданное место, определенное координатами, с возможностью трансформации изображения. Параметр transform устанавливает необходимую трансформацию с помощью класса Sprite и константных значений:
  • Sprite. TRANS_NONE – изображение копируется без трансформации;
  • Sprite.TRANS_ROT90 – трансформирует изображение по часовой стрелке на 90°;
  • Sprite.TRANS_ROT180 – трансформирует изображение по часовой стрелке на 180°;
  • Sprite.TRANS_ROT270 – трансформирует изображение по часовой стрелке на 270°;
  • static Image createlmage (InputStream stream) – загружает изображение из потока;
  • static Image createlmage(int width, int height) – загружает изображение в заданные размеры;
  • static Image createlmage (String name) – загружает изображение из ресурса;
  • static Image createRGBImage(int[ ] rgb, int width, int height, boolean processAlpha) – загружает изображение, учитывая цветовую компоненту ARGB;
  • Graphics getGraphics () – создает графический объект для представления изображения;
  • int getHeight () – получает высоту изображения;
  • int getwidth () – получает ширину изображения.

В листинге 6.11 происходит загрузка изображения в приложение, но без использования объекта класса ImageItem, который использовался при рассмотрении примера в листинге 6.6 из раздела 6.8. В листинге 6.6 применялась ссылка на объект класса Image, в этом примере объект класса Image используется напрямую.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.