- •Отображение графической информации с использованием HttpHandler
- •Отображение графической информации с использованием дополнительной страницы
- •Возможности преобразований графических файлов при их отображении на сайте
- •Вывод рисунков на Web сайт
- •Возможности преобразования форматов графических файлов с использованием класса Bitmap
- •Возможности сжатия и трансформации графических файлов, преобразованных в формат jpg
- •Сжатие формата jpg
- •Трансформация файла формата jpg
- •Возможности сжатия графических файлов изменением числа бит на пиксель и их трансформации
- •Использование метода DrawImage для работы с графическими файлами
- •Трансформация и прозрачность изображений
- •Имитация прозрачного фона и вывод рисунков с прозрачным фоном
Использование метода 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 |