Программирование мобильных телефонов на Java


Программирование мобильных телефонов

  • Введение
  • Глава 1. Устройство мобильных телефонов
  • Глава 2. Платформа Java 2 Micro Edition
  • Глава 3. Средства разработки мобильных приложений
  • Глава 4. Телефонные эмуляторы
  • Глава 5. Механизм работы приложений Java 2 ME
  • Глава 6. Классы пользовательского интерфейса
  • Глава 7. Программирование графики
  • Глава 8. Техника создания игр
  • Глава 9. Мобильная мультимедиа-библиотека
  • Заключение
  • Приложение 1. Основы языка Java
  • Приложение 2. Справочник по Java 2 Micro Edition

     

    Программирование на Java

  • Введение
  • Глава 1. Встроенные типы данных, операции над ними
  • Глава 2. Объектно-ориентированное программирование в Java
  • Глава 3. Пакеты и интерфейсы
  • Глава 4. Классы-оболочки
  • Глава 5. Работа со строками
  • Глава 6. Классы-коллекции
  • Глава 7. Классы-утилиты
  • Глава 8. Принципы построения графического интерфейса
  • Глава 9. Графические примитивы
  • Глава 10. Основные компоненты
  • Глава 11. Размещение компонентов
  • Глава 12. Обработка событий
  • Глава 13. Создание меню
  • Глава 14. Апплеты
  • Глава 15. Изображения и звук
  • Глава 16. Обработка исключительных ситуаций
  • Глава 17. Подпроцессы
  • Глава 18. Потоки ввода/вывода
  • Глава 19. Сетевые средства Java
  • Приложение. Развитие Java

  • 

    3fb01dc2


     

     

    6.6.1. Методы класса 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 используется напрямую

    /**
    
    Листинг 6.11
    
    Класс Image
    
     */
    
    import javax.microedition.midlet.*;
    
     import javax.microedition.Icdui.*;
    
    public class  MainClassImage extends MIDlet implements CommandListener
    
     {
    
    // команда выхода из приложения
    
    private Command exitMidlet = new Command("Выход", Command.EXIT, 1) ;
    
    // объект класса Form,
    
    private Form myform = new Form("Класс Image");
    
    // объект mydisplay представляет экран телефона
    
    private Display mydisplay;
    
    public MainClassImage()      
    
     {
    
    mydisplay = Display.getDisplay(this);
    
     }
    
    public void startApp()
    
    {
    
    // перехватываем исключительную ситуацию
    
    try
    
    {
    
    // загрузка изображения
    
    Image im = Image.createlmage("Ygornakov.png");
    
    // добавляем загружённый файл в форму
    
    myform.append(im);
    
    } catch(Java.io.IOException exp{ }
    
    // Установка обработчика событий для Form
    
    myform.addCommand(exitMidlet);
    
    myform.setCommandListener(this);
    
    // Отразить текущий дисплей
    
    mydisplay .s'etCurrent (myform) ;
    
     }
    
    public void pauseApp() {}
    
    public void destroyApp(boolean unconditional) {}
    
    public void сommandAction(Command c, Displayable*d)
    
    {
    
    // Выход из приложения if (с == exitMidlet)
    
     {
    
    destroyApp(false); notifyDestroyedf);
    
     }
    
    }
    
    }
    


    На рис. 6.13 показан эмулятор телефона, воссоздающий загруженное изображение, посмотрите, насколько больше экран телефона и как разместилось меньшее по размеру изображение на дисплее.

     
    -
    



    Copyright © vzlom-1.ru 2020-2021