Руководство по actionscript. часть 5, стр. 062
^ I Метод generateFilterRect^ ) на самом деле не применяет фильтр. Он просто определяет об-м$ j ц ласть пикселов, которая будет затронута данным фильтром в случае его применения. * д А
Попробуем применить метод generateFilterRect ( ) на практике. Наша цель— создать растровое изображение с эффектом падающей тени. Сначала мы создаем исходное растровое изображение без эффекта падающей тени. Исходное изображение представляет собой квадрат серого цвета размером 20 х 20 пикселов.
var origBitmap:BitmapData = new BitmapData(20. 20. false. OxFFDDDDDD);
Далее мы создаем объект DropShadowFil ter. Конструктор его класса имеет следующий вид:
DropShadowFi 1 ^(расстояние: Number=4.0, угол: Number=45, цвет: ui nt=0, прозрачность :Number=l. О, размытиеХ:Number=4.О. размытиеУ:Number=4.О. интенсивность :Number=l. О, качество:int=l, внутренняя:Boolean=false. выколотка:Boolean = false, скрытьОбъект:Boolean = false)
Сведения о различных параметрах конструктора класса DropShadowFil ter можно найти в описании этого класса в справочнике по языку ActionScript корпорации Adobe. Вот наш объект DropShadowFilter:
var dsFiIter:DropShadowFiIter = new DropShadowFilter(4, 45, 0,
1. 10. 10.
2, BitmapFilterQuality. MEDIUM):
Далее используем метод generateFilterRect ( ), чтобы определить, насколько увеличатся размеры нашего исходного изображения после применения объекта
DropShadowFilter:
var filterRect:Rectangle = origBitmap. generateFilterRect(origBitmap. rect,
dsFilter);
Теперь мы можем создать новое растровое изображение с необходимыми размерами, в которое будет перенесено исходное растровое изображение с примененным фильтром падающей тени. Обратите внимание, что мы указываем высоту и ширину нового растрового изображения с использованием результатов, возвращаемых методом generateFilterRect ( ) (выделены полужирным шрифтом):
var fi nalBi tmap:Bi tmapData = new BitmapData(filterRect. width,
fi1terRect. hei ght. true);
Целевой объект BitmapData для фильтра эффекта падающей тени должен быть прозрачным.