• Иллюстрированный самоучитель по Java

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

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

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

    import java.awt.*;
    import java.awt.event.*;
    import java.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 <strong>{</strong> 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 слева сверху показано исходное изображение, справа – увеличенный фрагмент, внизу – изображение, увеличенное двумя способами.

    Иллюстрированный самоучитель по Java › Изображения и звук › Как выделить фрагмент изображения
    Рис. 15.3. Масштабированное изображение

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