Программа «Масштабирование изображений»

Задание

Необходима программа для масштабирования растровых изображений на языке C#.

Алгоритмов масштабирования должно быть два (нужны алгоритмы, которые масштабируют как в сторону увеличения разрешения, так и в сторону уменьшения).

Они должны распараллеливаться на потоках .NET (от 1 до N потоков).

Оба алгоритма нужно реализовать в виде функций, которые в качестве одного из аргументов принимают Bitmap исходного изображения, а возвращают Bitmap отмасштабированного.

Программа для масштабирования изображений
Код алгоритма суперсэмплинг

Процесс

В качестве алгоритмов масштабирования выбрали метод ближайшего соседа и суперсэмплинг без округления границ пикселей до ближайшего целого числа.

Пользователь может выбрать число потоков, которые будут использоваться при вычислениях. Распараллеливание ведется по областям — изображение делится на N горизонтальных частей.

В программе реализована возможность с помощью кнопок интерфейса увеличивать и уменьшать изображение в два раза. Также пользователь может задать свой собственный размер получаемой картинки.

Весь код программы был прокомментирован и была подготовлена документация с руководством пользователя и описанием использующихся алгоритмов.