Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛАБ4 ЛабграфWEB_.doc
Скачиваний:
7
Добавлен:
14.05.2015
Размер:
415.23 Кб
Скачать

Использование метода DrawImage для работы с графическими файлами

Метод DrawImage класса Graphics позволяет отрисовывать изображения с их геометрическими преобразованиями. Мы его уже использовали в примерах, приведенных выше, для отрисовки изображений. Метод имеет 30 перегружаемых конструкторов и позволяет гораздо больше, нежели просто отрисовка. Некоторые из возможностей, подходящие к цели данного материала, мы и рассмотрим далее.

Прежде всего, метод позволяет отрисовывать изображения, используя некоторые атрибуты, передаваемые ему через класс ImageAttributes. Например, по матрице ColorMatrix, которая может быть включена в ImageAttributes и далее передана через ImageAttributes методу DrawImage, создается возможность менять цвета, их насыщенность, прозрачность изображения, а все возможности использования различных параметров - создавать многофункциональные графические редакторы.

Рассмотрим использование ColorMatrix. ColorMatrix это массив 5*5 чисел с плавающей запятой (Табл.2). Каждое число определяет то, каким образом будет изменена соответствующая составляющая цвета картинки (R -красный, G - зеленый, B - синий, A - альфа канал или степень прозрачности, и последний столбец - служебный), которая будет отрисовываться методом DrawImage. Там, где в матрице стоят 0 и 1 - это предопределенные числа, которые являются константами матрицы. Там, где в матрице д.б. цифра, которая не обязаны быть ни 0 ни 1, то там может быть положительное число с плавающей точкой. Цвет пикселя будет соответствовать значению соответствующей цветовой компоненты пикселя исходного изображения умноженной на значение числа в ячейке. В пятой строке матрицы числа в диапазоне [-1 +1] и определяют, на сколько должно измениться значение компонента по отношению к цветовым составляющим пикселя исходного изображения, RGBA составляющие которого считаются равными 1. Первыми вычисляются значения цвета пикселей по первым четырем строкам, а затем применяется пятая строка.

Таблица 2.  Матрица ColorMatrix 

Параметр

R - красный

G - зеленый

B - синий

A - альфа канал

Доп столбец

Строка 1

Цифра

0

0

0

0

Строка 2

0

Цифра

0

0

0

Строка 3

0

0

Цифра

0

0

Строка 4

0

0

0

Цифра

0

Строка 5

Цифра

Цифра

Цифра

Цифра

1