Описание структурных элементов программы 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Описание структурных элементов программы



 

Основная форма и логика функционирования программы описана в следующих файлах:

· Form1.cs

· Form1.Designer.cs

· Program.cs

Файл Form1.cs содержит описание класса Form, т.е. описание нашей формы, являющейся объектом этого класса. В нем представлена логика методов класса Form, а именно:

· private void MakeGray(Bitmap bmp) – метод, отвечающий за обработку изображения, и приведение его в черно-белый вид. В метод передается текущее изображение из picturebox1, результатом работы является вывод в picturebox1 обработанного изображения. Метод был оптимизирован, вместо изображения мы блокируем набор данных изображения в памяти, и работаем с байтами этого изображения в памяти напрямую. После обработки мы копируем набор данных обратно в изображение, и производим разблокировку набора данных изображения в памяти. Оптимизация существенно сократила время обработки изображения;

· private Bitmap _IncreaseBrightness(Image original, int sign) – метод, производящий фильтрацию изображения для ослабления перепадов яркости, реализует три варианта (в зависимости от входного параметра sign типа int) использования данного фильтра. В своей работе использует методы private Color _SubColors(Color x, Color y) и private Color _GetSumOfColor(Color[] colors) для вычисления разницы яркости одной из восьми точек вокруг обрабатываемой и обрабатываемой по интенсивности каждого цвета RGB, и рассчета среднего значения изменения яркости d соответственно; В метод передается текущее изображение из picturebox1, результатом работы является вывод в picturebox1 обработанного изображения;

· private static Image Kvadr(Image original) с помощью таймера TimerKvadr реализует демонстрацию эффекта случайного разбрасывания квадратиков 5*5 пикселей черного цвета по всему изображению; В метод передается текущее изображение из picturebox1, результатом работы является вывод в picturebox1 обработанного изображения;

· private static Image Proz(Image original, int procent) с помощью таймеров TimerProzr100, TimerProzr75, TimerProzr50, TimerProzr25 реализует демонстрацию эффекта превращения изображения в прозрачное на 100, 75, 50 и 25% соотвественно. В метод передается текущее изображение из picturebox1, и процент прозрачности (procent) в виде значения параметра альфа канала ARGB, от 0 до 255. Результатом работы является вывод в picturebox1 обработанного изображения;

· private static Image Aproz(Image original) с помощью таймера TimerAprozr реализует демонстрацию эффекта превращения изображения из непрозрачного в прозрачное. В метод передается текущее изображение из picturebox1, результатом работы является вывод в picturebox1 обработанного изображения;

· private static Image Invert(Image original) – метод, отвечающий за обработку изображения, и получение его негатива. Метод был оптимизирован, вместо изображения мы блокируем набор данных изображения в памяти, и работаем с байтами этого изображения в памяти напрямую. После обработки мы копируем набор данных обратно в изображение, и производим разблокировку набора данных изображения в памяти. Оптимизация существенно сократила время обработки изображения; В метод передается текущее изображение из picturebox1, результатом работы является вывод в picturebox1 негатива изображения.

· private static Bitmap GenerateNoise(Image original) при помощи таймера TimerNoize реализует демонстрацию эффекта превращения изображения в телевизионные помехи. В метод передается текущее изображение из picturebox1, результатом работы является вывод в picturebox1 обработанного изображения;

· public Image Kvadrcentrout(Image original) с помощью таймера Timerkvadrcentrout, и public Image Kvadrcentrin(Image original) c помощью таймера Timerkvadrcentrin реализуют демонстрацию эффекта деления изображения на 4 части черными линиями толщиной в 5 пикселей от центра изображения к его краям, и от краев изображения к его центру соответственно. В любой из методов передается текущее изображение из picturebox1, результатом работы является вывод в picturebox1 обработанного изображения;

Кроме того, в файле описаны обработчики событий нажатий на кнопки формы.

Файл Form1.Designer.cs представляет из себя структурированное описание свойств формы и ее элементов таких как физические характеристики (размеры, расположение), значения по умолчанию и др.

Файл Program.cs представляет собой описание главной точки входа для приложения.



Поделиться:


Последнее изменение этой страницы: 2017-02-10; просмотров: 114; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.128.79.88 (0.006 с.)