Программирование мобильных телефонов на 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


     

     

    Как выделить фрагмент изображения

    В листинге 15.2 выделяется фрагмент изображения и выводится на экран в увеличенном виде. Кроме того, ниже выводятся изображения, увеличенные с помощью классов RepiicateScaieFiiter и AreaAveragingScaleFilter.

    Листинг 15.2. Примеры масштабирования изображения

    import j ava.awt.*;

    import j ava.awt.event.*;

    import j ava.awt.image.*;

    class CropTest extends Frame{

    private Image img, cropimg, replimg, averimg; 

    CropTest(String s){ super (s) ;

    // 1. Создаем изображение — объект класса Image 

    img = getToolkit().getlmage("javalogo52x88.gif"); 

    // 2. Создаем объекты-фильтры:

    // а) выделяем левый верхний угол размером 30x30 

    CropImageFilter crp = new CropImageFilter(0, 0, 30, 30);

    // б) увеличиваем изображение в два раза простым методом 

    RepiicateScaieFiiter rsf = new RepiicateScaieFiiter(104, 176);

    // в) увеличиваем изображение в два раза с усреднением 

    AreaAveragingScaleFilter asf = new AreaAveragingScaleFilter(104, 176);

    // 3. Создаем измененные изображения

    cropimg = createlmage(new FilteredlmageSource(img.getSource(), crp)); 

    replimg = createlmage(new FilteredlmageSource(img.getSource(), rsf)}; 

    averimg = createlmage(new FilteredlmageSource(img.getSource(), asf)); 

    setSize(400, 350); setvisible(true); }

    public void paint(Graphics gS { g.drawlmage(img, 10, 40, this); 

    g.drawlmage(cropimg, 150, 40, 100, 100, this); 

    g.drawlmage(replimg, 10, 150, this); 

    g.drawlmage(averimg, 150, 150, this); 

    public static void main(String[] args){

    Frame f= new CropTest(" Масштабирование"); 

    f.addWindowListener(new WindowAdapter(){

    public void windowClosing(WindowEvent ev){

    System.exit(0); 

    });

    }

    }

    На рис. 15.3 слева сверху показано исходное изображение, справа — увеличенный фрагмент, внизу — изображение, увеличенное двумя способами.

    Рис. 15.3. Масштабированное  изображение

     

    -
    



    Copyright © vzlom-1.ru 2020-2021