задача: разобраться в том, как работают программные графические фильтры Flash8: GlowFilter, GradientGlowFilter, BevelFilter, GradientBevelFilter, DropShadowFilter, BlurFilter.

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

назад к списку уроков и рецептов

1. как пользоваться фильтрами

2. демо файл


1. Как пользоваться фильтрами

Flash 8 предоставляет возможности работы с битмапами при помощи скрипта. Во-первых, это работа непосредственно в изображением при помощи класса BitmapData (рисование картинок попиксельно, считывание пикселей, превращение мувиклипов в картинки и т. п.), и, во-вторых, это использование стандартных графических фильтров для изменения визуализации клипов. Последнее реализовано в пакете классов flash.filters.*

Механизм работы с большинством фильтров очень прост. Необходимо выполнить всего два действия:
  • Создать объект-фильтр
  • Записать этот объект в список фильтров любого клипа
Причем можно создать много фильтров и все их записать в список фильтров одного клипа. Результатом будет их совместное воздействие на исходный клип.
Например:
// создаем объекты
var filter1 = new Класс_Фильтра1(параметр1, ... параметр384);
var filter2 = new Класс_Фильтра2(параметр1, ... параметр384);
var filter3 = new Класс_Фильтра3(параметр1, ... параметр384);

// в качестве списка фильтров 
// выдаем клипу массив из трёх наших объектов
любой_клип.filters = [filter1, filter2, filter3];
Реальный пример:
// создаем тестовый клип
this.createEmptyMovieClip("test", 0);
test.lineStyle(50, 0, 100);
test.lineTo(.15, 0);
//
var filter1 = new flash.filters.BlurFilter(10, 10, 3);
test.filters = [filter1];
Трудности представляют только 384 разных параметра у разных фильтров. :) Разумеется, описание параметров можно найти в хэлпе (что непременно стоит сделать). Но понять, каким получится изображение при данном сочетании значений, бывает довольно трудно.
в начало

2. Демо файл

Здесь демонстрируется действие шести фильтров пакета flash.filters.*:
  • GlowFilter — свечение
  • GradientGlowFilter — градиентное свечение
  • BevelFilter — скос
  • GradientBevelFilter — градиентный скос
  • BlurFilter — размытие
  • DropShadowFilter — тень
За кадром остались еще три класса: ColorMatrixFilter, ConvolutionFilter, DisplacementMapFilter. Их действие рассматривается во второй части рецепта.

Для демонстрации работы фильтров используются три мувиклипа и одно динамическое текстовое поле. Фильтры могут применяться к текстовым полям так же как и к клипам, что иногда дает любопытные эффекты.


Итак, демонстрация возможностей фильтров. Часть 1.






в начало
назад к списку уроков и рецептов


Корректировать материал помогли: