Главная / Action Script 3
Пакетflash.filters
Классpublic final class BevelFilter
НаследованиеBevelFilter Inheritance BitmapFilter Inheritance Object

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Класс BevelFilter позволяет добавлять эффект фаски в экранные объекты. Эффект фаски позволяет сделать объекты, например кнопки, трехмерными. Вид фаски можно изменять с помощью различных цветов подсветок и теней, силы размытия на фаске, угла и расположения фаски, а также эффекта выбивки. Фильтр можно применять к любому визуализируемому объекту (т.е. объекту, наследуемому от класса DisplayObject), например MovieClip, SimpleButton, TextField, Video, а также объектам BitmapData.

Новый фильтр можно создать с помощью конструктора new BevelFilter(). Выбор фильтра зависит от объекта, к которому требуется его применить:

При применении фильтра к визуализируемому объекту свойство cacheAsBitmap этого объекта принимает значение true. Если удалить все фильтры, будет восстановлено исходное значение cacheAsBitmap.

Этот фильтр поддерживает масштабирование сцены. Тем не менее, он не поддерживает общее масштабирование, повороты и искажение. Если сам объект увеличен или уменьшен (т.е. если свойства scaleX и scaleY не равны 100%), фильтр не масштабируется. Он масштабируется, только когда пользователь применяет увеличение к самой сцене.

Невозможно применить фильтр к изображениям, если их получившаяся длина или ширина превышает 2880 пикселов. Например, при масштабировании большого фрагмента ролика, к которому применен фильтр, фильтр будет снят, если получившееся изображение окажется более 2880 пикселов в длину или в ширину.

Посмотреть примеры

См. также

flash.display.DisplayObject.filters
flash.display.DisplayObject.cacheAsBitmap
flash.display.BitmapData.applyFilter()


Общедоступные свойства
 СвойствоОпределено
  angle : Number
Угол фаски.
BevelFilter
  blurX : Number
Интенсивность горизонтальной размывки (в пикселах).
BevelFilter
  blurY : Number
Интенсивность вертикальной размывки (в пикселах).
BevelFilter
 Inheritedconstructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта.
Object
  distance : Number
Расстояние смещения фаски.
BevelFilter
  highlightAlpha : Number
Значение альфа-прозрачности цвета выделения.
BevelFilter
  highlightColor : uint
Цвет подсветки фаски.
BevelFilter
  knockout : Boolean
Применяет эффект выбивки (true), который фактически делает заливку объекта прозрачной и выявляет цвет фона документа.
BevelFilter
 Inheritedprototype : Object
[статические] Ссылка на модель объекта класса или функции.
Object
  quality : int
Заданное число применений фильтра.
BevelFilter
  shadowAlpha : Number
Значение альфа-прозрачности цвета тени.
BevelFilter
  shadowColor : uint
Цвет тени для фаски.
BevelFilter
  strength : Number
Степень вдавливания или растискивания.
BevelFilter
  type : String
Расположение фаски на объекте.
BevelFilter
Общедоступные методы
 МетодОпределено
  
BevelFilter(distance:Number = 4.0, angle:Number = 45, highlightColor:uint = 0xFFFFFF, highlightAlpha:Number = 1.0, shadowColor:uint = 0x000000, shadowAlpha:Number = 1.0, blurX:Number = 4.0, blurY:Number = 4.0, strength:Number = 1, quality:int = 1, type:String = "inner", knockout:Boolean = false)
Инициализирует новый экземпляр BevelFilter с заданными параметрами.
BevelFilter
  
Возвращает копию данного объекта фильтра.
BevelFilter
 Inherited
Показывает, определено ли заданное свойство для объекта.
Object
 Inherited
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра.
Object
 Inherited
Показывает наличие заданного свойства и его перечисляемость.
Object
 Inherited
Задает доступность динамического свойства для операций цикла.
Object
 Inherited
Возвращает строковое представление заданного объекта.
Object
 Inherited
Возвращает элементарное значение заданного объекта.
Object
Сведения о свойстве
angleсвойство
angle:Number  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Угол фаски. Действительны значения от 0 до 360°. Значение по умолчанию 45°.

Значение угла представляет угол, под которым падает свет из предполагаемого источника, и определяет расположение эффекта относительно объекта. Если свойство distance имеет значение 0, эффект не смещается относительно объекта и, следовательно, свойство angle никак не влияет на результат.



Реализация
    public function get angle():Number
    public function set angle(value:Number):void
blurXсвойство 
blurX:Number  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Интенсивность горизонтальной размывки (в пикселах). Действительны значения от 0 до 255 (плавающая точка). Значение по умолчанию 4. Значения, являющиеся степенью 2 (т.е. 2, 4, 8, 16 и 32), оптимизируются и выполняются быстрее, чем остальные.



Реализация
    public function get blurX():Number
    public function set blurX(value:Number):void
blurYсвойство 
blurY:Number  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Интенсивность вертикальной размывки (в пикселах). Действительны значения от 0 до 255 (плавающая точка). Значение по умолчанию 4. Значения, являющиеся степенью 2 (т.е. 2, 4, 8, 16 и 32), оптимизируются и выполняются быстрее, чем остальные.



Реализация
    public function get blurY():Number
    public function set blurY(value:Number):void
distanceсвойство 
distance:Number  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Расстояние смещения фаски. Действительные значения заданы в пикселах (плавающая точка). Значение по умолчанию равно 4.



Реализация
    public function get distance():Number
    public function set distance(value:Number):void
highlightAlphaсвойство 
highlightAlpha:Number  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Значение альфа-прозрачности цвета выделения. Значение указано в виде нормализованного значения от 0 до 1. Например, при 0,25 устанавливается 25-процентная прозрачность. Значение по умолчанию 1.



Реализация
    public function get highlightAlpha():Number
    public function set highlightAlpha(value:Number):void
highlightColorсвойство 
highlightColor:uint  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Цвет подсветки фаски. Действительны значения в шестнадцатеричном формате, 0xRRGGBB. Значение по умолчанию — 0xFFFFFF.



Реализация
    public function get highlightColor():uint
    public function set highlightColor(value:uint):void
knockoutсвойство 
knockout:Boolean  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Применяет эффект выбивки (true), который фактически делает заливку объекта прозрачной и выявляет цвет фона документа. Значение по умолчанию — false (без эффекта выбивки).



Реализация
    public function get knockout():Boolean
    public function set knockout(value:Boolean):void
qualityсвойство 
quality:int  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Заданное число применений фильтра. Значение по умолчанию — BitmapFilterQuality.LOW, что эквивалентно однократному применению фильтра. Значение BitmapFilterQuality.MEDIUM применяет фильтр дважды; значение BitmapFilterQuality.HIGH — трижды. Фильтры с более низкими значениями выполняются быстрее.

Для большинства приложений достаточно значения quality на уровне "low" ("низкое"), "medium" ("среднее") или "high" (высокое). Хотя можно использовать дополнительные числовые значения до 15 для получения разнообразных эффектов, более высокие значения выполняются дольше. Вместо увеличения значения quality можно просто увеличить значения свойств blurX и blurY. Это даст похожий эффект, а выполнение будет происходить быстрее.

Можно использовать следующие константы BitmapFilterQuality для задания значений свойства quality:



Реализация
    public function get quality():int
    public function set quality(value:int):void
shadowAlphaсвойство 
shadowAlpha:Number  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Значение альфа-прозрачности цвета тени. Данное значение указано в виде нормализованного значения от 0 до 1. Например, при 0,25 устанавливается 25-процентная прозрачность. Значение по умолчанию равно 1.



Реализация
    public function get shadowAlpha():Number
    public function set shadowAlpha(value:Number):void
shadowColorсвойство 
shadowColor:uint  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Цвет тени для фаски. Действительны значения в шестнадцатеричном формате, 0xRRGGBB. Значение по умолчанию — 0x000000.



Реализация
    public function get shadowColor():uint
    public function set shadowColor(value:uint):void
strengthсвойство 
strength:Number  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Степень вдавливания или растискивания. Действительны значения от 0 до 255. Чем выше значение, тем более насыщен цвет фаски и тем сильнее контраст между фаской и фоном. Значение по умолчанию 1.



Реализация
    public function get strength():Number
    public function set strength(value:Number):void
typeсвойство 
type:String  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Расположение фаски на объекте. Внутренняя и внешняя фаски применяются к внутренней и внешней сторонам, а полная фаска применяется ко всему объекту. Действительными значениями являются константы BitmapFilterType:



Реализация
    public function get type():String
    public function set type(value:String):void

Выдает
TypeError — Строка при назначении принимает значение null.
Сведения о конструкторе
BevelFilter()Конструктор
public function BevelFilter(distance:Number = 4.0, angle:Number = 45, highlightColor:uint = 0xFFFFFF, highlightAlpha:Number = 1.0, shadowColor:uint = 0x000000, shadowAlpha:Number = 1.0, blurX:Number = 4.0, blurY:Number = 4.0, strength:Number = 1, quality:int = 1, type:String = "inner", knockout:Boolean = false)

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Инициализирует новый экземпляр BevelFilter с заданными параметрами.

Параметры
distance:Number (default = 4.0) — Расстояние смещения фаски в пикселах (плавающая точка).
 
angle:Number (default = 45) — Угол фаски, от 0 до 360 градусов.
 
highlightColor:uint (default = 0xFFFFFF) — Цвет подсветки фаски, 0xRRGGBB.
 
highlightAlpha:Number (default = 1.0) — Значение альфа-прозрачности цвета выделения. Действительны значения от 0,0 до 1,0. Например, значение 0,25 задает 25-процентную прозрачность.
 
shadowColor:uint (default = 0x000000) — Цвет подсветки фаски, 0xRRGGBB.
 
shadowAlpha:Number (default = 1.0) — Значение альфа-прозрачности цвета тени. Действительны значения от 0,0 до 1,0. Например, значение 0,25 задает 25-процентную прозрачность.
 
blurX:Number (default = 4.0) — Степень размытия по горизонтали в пикселах. Действительны значения от 0 до 255 (плавающая точка).
 
blurY:Number (default = 4.0) — Степень размытия по вертикали в пикселах. Действительны значения от 0 до 255 (плавающая точка).
 
strength:Number (default = 1) — Степень вдавливания или растискивания. Чем выше значение, тем более насыщен цвет тени и тем сильнее контраст между фаской и фоном. Действительны значения от 0 до 255.
 
quality:int (default = 1) — Качество фаски. Действительны значения от 0 до 15, но для большинства приложений можно использовать константы BitmapFilterQuality:
  • BitmapFilterQuality.LOW
  • BitmapFilterQuality.MEDIUM
  • BitmapFilterQuality.HIGH

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

 
type:String (default = "inner") — Тип фаски. Действительные значения констант BitmapFilterType: BitmapFilterType.INNER, BitmapFilterType.OUTER или BitmapFilterType.FULL.
 
knockout:Boolean (default = false) — Применяет эффект выбивки (true), который фактически делает заливку объекта прозрачной и выявляет цвет фона документа.

См. также

Сведения о методе
clone()метод
override public function clone():BitmapFilter

Язык версии : ActionScript 3.0
Версия продукта: Lite 2.0
Версии среды выполнения:  1.0 9

Возвращает копию данного объекта фильтра.

Возвращает
BitmapFilter — Новый экземпляр BevelFilter с теми же свойствами, что и оригинальный экземпляр BevelFilter.
Примеры Как пользоваться примерами
BevelFilterExample.as

В результате выполнения приведенного ниже кода будет нарисован темно-желтый квадрат, к которому будет применен фильтр фаски с ярко-желтой подсветкой (0xFFFF00) и голубой тенью (0x0000FF). Порядок выполнения кода таков:
  1. Импортируется требуемый класс.
  2. Объявляются три свойства функции draw(), рисующей объект, к которому и применяется фильтр фаски.
  3. Создается функция конструктора BevelFilterExample(), которая выполняет следующее:
    • Вызывает функцию draw(), которая объявляется позднее.
    • Объявляет переменную filter в виде объекта BitmapFilter и назначает ее возвращаемому значению вызова getBitmapFilter().
    • Создает новый массив myFilters и добавляет к массиву filter, а также назначает myFilters свойству filters объекта BevelFilterExample. В результате применяются все фильтры, обнаруженные в myFilters. В нашем случае это только один фильтр filter.
  4. Создайте функцию getBitmapFilter для создания фильтра и задания его свойств.
  5. Создайте функцию draw(). Эта функция использует методы класса Graphics, доступные через свойство graphics класса Sprite для рисования квадрата.
package {
    import flash.display.Sprite;
    import flash.filters.BevelFilter;
    import flash.filters.BitmapFilter;
    import flash.filters.BitmapFilterQuality;
    import flash.filters.BitmapFilterType;

    public class BevelFilterExample extends Sprite {
        private var bgColor:uint = 0xFFCC00;
        private var size:uint    = 80;
        private var offset:uint  = 50;

        public function BevelFilterExample() {
            draw();
            var filter:BitmapFilter = getBitmapFilter();
            var myFilters:Array = new Array();
            myFilters.push(filter);
            filters = myFilters;
        }

        private function getBitmapFilter():BitmapFilter {
            var distance:Number       = 5;
            var angleInDegrees:Number = 45;
            var highlightColor:Number = 0xFFFF00;
            var highlightAlpha:Number = 0.8;
            var shadowColor:Number    = 0x0000FF;
            var shadowAlpha:Number    = 0.8;
            var blurX:Number          = 5;
            var blurY:Number          = 5;
            var strength:Number       = 5;
            var quality:Number        = BitmapFilterQuality.HIGH;
            var type:String           = BitmapFilterType.INNER;
            var knockout:Boolean      = false;

            return new BevelFilter(distance,
                                   angleInDegrees,
                                   highlightColor,
                                   highlightAlpha,
                                   shadowColor,
                                   shadowAlpha,
                                   blurX,
                                   blurY,
                                   strength,
                                   quality,
                                   type,
                                   knockout);
        }

        private function draw():void {
            graphics.beginFill(bgColor);
            graphics.drawRect(offset, offset, size, size);
            graphics.endFill();
        }
    }
}