Опубликован: 07.11.2007 | Доступ: свободный | Студентов: 1748 / 327 | Оценка: 4.29 / 4.14 | Длительность: 25:09:00
Специальности: Программист
Лекция 10:

Фильтры. Часть IV

Аннотация: Источники света в SVG – документах. Фильтры feDiffuseLighting, feDistantLight, feSpecularLighting, fePointLight, feSpotLight и feConvolveMatrix.

Внимание! Для работы с этой лекцией необходимы учебные файлы, которые Вы можете загрузить здесь.

feDiffuseLighting. feDistantLight

Фильтр feDiffuseLighting предназначен для добавления рассеянного света к изображениям. Наиболее употребительное его применение - добавление освещенности к текстурам, которые в свою очередь создаются фильтром feTurbulence. Структура фильтра выглядит следующим образом (рис. 10.1):

Структура фильтра feDiffuseLighting

увеличить изображение
Рис. 10.1. Структура фильтра feDiffuseLighting

Этот фильтр обязательно должен содержать внутри себя один из вспомогательных (дочерних) фильтров: feDistantLight, fePointLight или feSpotLight. Отсутствие хотя бы одного из этих фильтров приводит к синтаксической ошибке SVG - документа. Структура фильтра feDistantLight выглядит следующим образом:

Структура фильтра feDistantLight

увеличить изображение
Рис. 10.2. Структура фильтра feDistantLight

Фильтр feDistantLight может использоваться только в составе feDiffuseLighting или feSpecularLighting. Такое разнообразие сочетаний и невозможность выделения отдельного фильтра может поначалу сбивать с толку. Самое главное здесь - разобраться в свойствах отдельных сочетаний. Рассмотрим комбинацию feDiffuseLighting и feDistantLight. Описание атрибутов родительского фильтра feDiffuseLighting приводится в табл. 10.1

Таблица 10.1. Атрибуты фильтра feDiffuseLighting
Название
10.1.1 lighting-color
Описание
Цвет рассеянного света
Диапазон значений
<color> (См. табл. 2.8)
Значение по умолчанию
white (белый цвет)
Название
10.1.2 diffuseConstant
Описание
Постоянная размытия. Отвечает за оттенок цвета, используемого в атрибуте lighting-color.
Диапазон значений
<number>
Значение по умолчанию
1
Название
10.1.3 surfaceScale
Описание
Атрибут, отвечающий за масштабирование области рассеянного света. Визуально отвечает за резкость выражения текстуры.
Диапазон значений
<number>
Значение по умолчанию
1
Название
10.1.4 kernelUnitLength
Описание
Размерность внутренней структуры фильтра.
Диапазон значений
<number>, <number>
Значение по умолчанию
1

Фильтр feDistantLight содержит всего два атрибута, описание которых приводится в табл. 10.2:

Таблица 10.2. Атрибуты фильтра feDistantLight.
Название
10.2.1 azimuth
Описание
Расположение источника света (азимут) в плоскости рисунка ( XY ), выражаемое в градусах.
Диапазон значений
<number>
Значение по умолчанию
0
Название
10.2.1 elevation
Описание
Расположение источника света в плоскости ( YZ ), перпендикулярной плоскости рисунка, выражаемое в градусах.
Диапазон значений
<number>
Значение по умолчанию
0