Информация


Programm.ws - это сайт, на котором вы можете почитать литературу по языкам программирования, а так-же посмотреть примеры работающих программ на С++, ассемблере, паскале и много другого..

Программирование — в обычном понимании, это процесс создания компьютерных программ.
В узком смысле (так называемое кодирование) под программированием понимается написание инструкций — программ — на конкретном языке программирования (часто по уже имеющемуся алгоритму — плану, методу решения поставленной задачи). Соответственно, люди, которые этим занимаются, называются программистами (на профессиональном жаргоне — кодерами), а те, кто разрабатывает алгоритмы — алгоритмистами, специалистами предметной области, математиками.
В более широком смысле под программированием понимают весь спектр деятельности, связанный с созданием и поддержанием в рабочем состоянии программ — программного обеспечения ЭВМ. Более точен современный термин — «программная инженерия» (также иначе «инженерия ПО»). Сюда входят анализ и постановка задачи, проектирование программы, построение алгоритмов, разработка структур данных, написание текстов программ, отладка и тестирование программы (испытания программы), документирование, настройка (конфигурирование), доработка и сопровождение.

Глава 15. Изображения и звук

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

В листинге 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. Масштабированное  изображение