Пакет | spark.filters |
Класс | public class BlurFilter |
Наследование | BlurFilter ![]() ![]() ![]() |
Реализует | IBitmapFilter |
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 4 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
quality
этого фильтра результатом будет слегка расфокусированное изображение. Если же свойству quality
присвоено значение high, то изображение будет ближе к размытию по Гауссу. Фильтр можно применять к любому экранному объекту (т. е. объекту, наследуемому от класса DisplayObject), например MovieClip, SimpleButton, TextField, Video, а также объектам BitmapData.
Новый фильтр можно создать с помощью конструктора new BlurFilter()
. Выбор фильтра зависит от объекта, к которому требуется его применить:
- Если фильтр применяется к фрагментам ролика, текстовым полям, кнопкам или видео, следует использовать свойство
filters
(наследуемое от класса DisplayObject). При задании объекту свойстваfilters
сам объект не изменяется, а фильтр можно удалить через свойствоfilters
. - Для применения фильтров к объектам BitmapData следует пользоваться методом
BitmapData.applyFilter()
. При вызовеapplyFilter()
для объекта BitmapData из исходного объекта BitmapData и объекта фильтра формируется изображение с применением фильтра.
При применении фильтра к визуализируемому объекту свойство cacheAsBitmap
этого объекта принимает значение true
. Если удалить все фильтры, будет восстановлено исходное значение cacheAsBitmap
.
Этот фильтр поддерживает масштабирование сцены. Тем не менее, он не поддерживает общее масштабирование, повороты и искажение. Если сам объект увеличен или уменьшен (т. е. если свойства scaleX
и scaleY
не равны 100%), эффект фильтр не масштабируется. Он масштабируется, только когда пользователь применяет увеличение к самой сцене.
Фильтр не применяется, если полученное изображение превышает максимальные размеры. В AIR 1.5 и Flash Player 10 максимальный размер изображения составляет 8 191 пикселей в ширину или высоту, а общее количество пикселей не может превышать 16 777 215. (Т. е. если ширина изображения составляет 8 191 пикселя, его высота не может быть больше 2 048 пикселей.) Например, при масштабировании большого фрагмента ролика, к которому применен фильтр, фильтр будет снят, если получившееся изображение превысит максимальные размеры.
Синтаксис MXML
The <s:BlurFilter>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:BlurFilter Properties blurX="4.0" blurY="4.0" quality="low" />
Связанные элементы API
flash.display.DisplayObject.filters
flash.display.DisplayObject.cacheAsBitmap
flash.display.BitmapData.applyFilter()
Свойство | Определено | ||
---|---|---|---|
blurX : Number
Степень размытия по горизонтали. | BlurFilter | ||
blurY : Number
Степень размытия по вертикали. | BlurFilter | ||
![]() | constructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта. | Object | |
quality : int
Заданное число применений фильтра. | BlurFilter |
Метод | Определено | ||
---|---|---|---|
Конструктор. | BlurFilter | ||
![]() | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Регистрирует объект прослушивателя события на объекте EventDispatcher для получения прослушивателем уведомления о событии. | EventDispatcher | |
Возвращает копию данного объекта фильтра. | BlurFilter | ||
![]() |
Посылает событие в поток событий. | EventDispatcher | |
![]() |
Проверяет, имеет ли объект EventDispatcher прослушиватели, зарегистрированные для определенного типа события. | EventDispatcher | |
![]() |
Показывает, определено ли заданное свойство для объекта. | Object | |
![]() |
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра. | Object | |
![]() |
Передает событие изменения после изменения фильтра. | BaseFilter | |
![]() |
Показывает наличие заданного свойства и его перечисляемость. | Object | |
![]() |
Удаляет прослушиватель из объекта EventDispatcher. | EventDispatcher | |
![]() |
Задает доступность динамического свойства для операций цикла. | Object | |
![]() |
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали. | Object | |
![]() |
Возвращает строковое представление заданного объекта. | Object | |
![]() |
Возвращает элементарное значение заданного объекта. | Object | |
![]() |
Проверяет, зарегистрирован ли прослушиватель события для указанного типа события с данным объектом EventDispatcher или любым его предшественником. | EventDispatcher |
blurX | свойство |
blurX:Number
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 4 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Степень размытия по горизонтали. Действительны значения от 0 до 255. Размытие со значением 1 или менее означает, что исходное изображение копируется как есть. По умолчанию используется значение 4. Значения, являющиеся степенью 2 (т. е. 2, 4, 8, 16 и 32), оптимизируются и выполняются быстрее, чем остальные.
Значением по умолчанию является 4.0.
Реализация
public function get blurX():Number
public function set blurX(value:Number):void
blurY | свойство |
blurY:Number
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 4 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Степень размытия по вертикали. Действительны значения от 0 до 255. Размытие со значением 1 или менее означает, что исходное изображение копируется как есть. По умолчанию используется значение 4. Значения, являющиеся степенью 2 (т. е. 2, 4, 8, 16 и 32), оптимизируются и выполняются быстрее, чем остальные.
Значением по умолчанию является 4.0.
Реализация
public function get blurY():Number
public function set blurY(value:Number):void
quality | свойство |
quality:int
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 4 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Заданное число применений фильтра. Значение по умолчанию — BitmapFilterQuality.LOW
, что эквивалентно однократному применению фильтра. Значение BitmapFilterQuality.MEDIUM
применяет фильтр дважды; значение BitmapFilterQuality.HIGH
— трижды. Фильтры с более низкими значениями выполняются быстрее.
Для большинства приложений достаточно значений качества low (низкое), medium (среднее) или high (высокое). Хотя можно использовать дополнительные числовые значения до 15 для получения разнообразных эффектов, более высокие значения выполняются дольше. Вместо увеличения значения quality можно просто увеличить значения свойств blurX
и blurY
. Это даст похожий эффект, а выполнение будет происходить быстрее.
Значением по умолчанию является "low".
Реализация
public function get quality():int
public function set quality(value:int):void
BlurFilter | () | Конструктор |
public function BlurFilter(blurX:Number = 4.0, blurY:Number = 4.0, quality:int = 1)
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 4 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Конструктор. Значения по умолчанию дают мягкое, расфокусированное изображение.
ПараметрыblurX:Number (default = 4.0 ) — Величина размытия по горизонтали. Действительны значения от 0 до 255,0 (значение с плавающей точкой).
| |
blurY:Number (default = 4.0 ) — Величина размытия по вертикали. Действительны значения от 0 до 255,0 (значение с плавающей точкой).
| |
quality:int (default = 1 ) — Заданное число применений фильтра. Для указания качества можно использовать константы flash.filters.BitmapFilterQuality:
При высоком качестве (high) изображение похоже на размытие по Гауссу. Для большинства приложений этих значений достаточно. Хотя можно использовать дополнительные числовые значения до 15 для получения разнообразных эффектов, более высокие значения выполняются дольше. |
clone | () | метод |
public function clone():BitmapFilter
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 4 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Возвращает копию данного объекта фильтра.
ВозвращаетBitmapFilter — Новый экземпляр BlurFilter с теми же свойствами, что и оригинальный экземпляр BlurFilter.
|
<?xml version="1.0"?> <!-- filters/examples/BlurFilterExample.mxml --> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:s="library://ns.adobe.com/flex/spark" creationComplete="createFilters()"> <fx:Script><![CDATA[ import spark.filters.*; import flash.filters.BitmapFilterQuality; import flash.filters.BitmapFilterType; private var myBlurFilter:BlurFilter; private var color:Number = 0xFF33FF; public function createFilters():void { myBlurFilter = new BlurFilter(3, 3, BitmapFilterQuality.MEDIUM); b1.filters = [myBlurFilter]; } ]]></fx:Script> <s:VGroup> <!-- This button has a filter applied in ActionScript. --> <s:Button id="b1" label="Click me"/> <!-- This button has a filter applied in MXML. --> <s:Button id="b2" label="Click me"> <s:filters> <s:BlurFilter blurX="3" blurY="3" quality="{BitmapFilterQuality.MEDIUM}"/> </s:filters> </s:Button> </s:VGroup> </s:Application>
Tue Jun 12 2018, 11:34 AM Z