Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Класс BevelFilter позволяет добавлять эффект фаски в экранные объекты. Эффект фаски позволяет сделать объекты, например кнопки, трехмерными. Вид фаски можно изменять с помощью различных цветов подсветок и теней, силы размытия на фаске, угла и расположения фаски, а также эффекта выбивки. Фильтр можно применять к любому визуализируемому объекту (т.е. объекту, наследуемому от класса DisplayObject), например MovieClip, SimpleButton, TextField, Video, а также объектам BitmapData.
Новый фильтр можно создать с помощью конструктора new BevelFilter()
. Выбор фильтра зависит от объекта, к которому требуется его применить:
- Если фильтр применяется к фрагментам ролика, текстовым полям, кнопкам или видео, следует использовать свойство
filters
(наследуемое от класса DisplayObject). При задании объекту свойства filters
сам объект не модифицируется, а фильтр можно удалить через свойство filters
.
- Для применения фильтров к объектам BitmapData следует пользоваться методом
BitmapData.applyFilter()
. При вызове applyFilter()
для объекта BitmapData из исходного объекта BitmapData и объекта фильтра формируется изображение с применением фильтра.
При применении фильтра к визуализируемому объекту свойство cacheAsBitmap
этого объекта принимает значение true
. Если удалить все фильтры, будет восстановлено исходное значение cacheAsBitmap
.
Этот фильтр поддерживает масштабирование сцены. Тем не менее, он не поддерживает общее масштабирование, повороты и искажение. Если сам объект увеличен или уменьшен (т.е. если свойства scaleX
и scaleY
не равны 100%), фильтр не масштабируется. Он масштабируется, только когда пользователь применяет увеличение к самой сцене.
Невозможно применить фильтр к изображениям, если их получившаяся длина или ширина превышает 2880 пикселов. Например, при масштабировании большого фрагмента ролика, к которому применен фильтр, фильтр будет снят, если получившееся изображение окажется более 2880 пикселов в длину или в ширину.
Посмотреть примеры
angle:Number
[чтение и запись]
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Угол фаски. Действительны значения от 0 до 360°. Значение по умолчанию 45°.
Значение угла представляет угол, под которым падает свет из предполагаемого источника, и определяет расположение эффекта относительно объекта. Если свойство distance
имеет значение 0, эффект не смещается относительно объекта и, следовательно, свойство angle
никак не влияет на результат.
Реализация public function get angle():Number
public function set angle(value:Number):void
blurX:Number
[чтение и запись]
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Интенсивность горизонтальной размывки (в пикселах). Действительны значения от 0 до 255 (плавающая точка). Значение по умолчанию 4. Значения, являющиеся степенью 2 (т.е. 2, 4, 8, 16 и 32), оптимизируются и выполняются быстрее, чем остальные.
Реализация public function get blurX():Number
public function set blurX(value:Number):void
blurY:Number
[чтение и запись]
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Интенсивность вертикальной размывки (в пикселах). Действительны значения от 0 до 255 (плавающая точка). Значение по умолчанию 4. Значения, являющиеся степенью 2 (т.е. 2, 4, 8, 16 и 32), оптимизируются и выполняются быстрее, чем остальные.
Реализация public function get blurY():Number
public function set blurY(value:Number):void
distance:Number
[чтение и запись]
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Расстояние смещения фаски. Действительные значения заданы в пикселах (плавающая точка). Значение по умолчанию равно 4.
Реализация public function get distance():Number
public function set distance(value:Number):void
highlightAlpha:Number
[чтение и запись]
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Значение альфа-прозрачности цвета выделения. Значение указано в виде нормализованного значения от 0 до 1. Например, при 0,25 устанавливается 25-процентная прозрачность. Значение по умолчанию 1.
Реализация public function get highlightAlpha():Number
public function set highlightAlpha(value:Number):void
highlightColor:uint
[чтение и запись]
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Цвет подсветки фаски. Действительны значения в шестнадцатеричном формате, 0xRRGGBB. Значение по умолчанию — 0xFFFFFF.
Реализация public function get highlightColor():uint
public function set highlightColor(value:uint):void
knockout:Boolean
[чтение и запись]
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Применяет эффект выбивки (true
), который фактически делает заливку объекта прозрачной и выявляет цвет фона документа. Значение по умолчанию — false
(без эффекта выбивки).
Реализация public function get knockout():Boolean
public function set knockout(value:Boolean):void
quality:int
[чтение и запись]
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Заданное число применений фильтра. Значение по умолчанию — BitmapFilterQuality.LOW
, что эквивалентно однократному применению фильтра. Значение BitmapFilterQuality.MEDIUM
применяет фильтр дважды; значение BitmapFilterQuality.HIGH
— трижды. Фильтры с более низкими значениями выполняются быстрее.
Для большинства приложений достаточно значения quality
на уровне "low" ("низкое"), "medium" ("среднее") или "high" (высокое). Хотя можно использовать дополнительные числовые значения до 15 для получения разнообразных эффектов, более высокие значения выполняются дольше. Вместо увеличения значения quality
можно просто увеличить значения свойств blurX
и blurY
. Это даст похожий эффект, а выполнение будет происходить быстрее.
Можно использовать следующие константы BitmapFilterQuality
для задания значений свойства quality
:
BitmapFilterQuality.LOW
BitmapFilterQuality.MEDIUM
BitmapFilterQuality.HIGH
Реализация public function get quality():int
public function set quality(value:int):void
shadowAlpha:Number
[чтение и запись]
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Значение альфа-прозрачности цвета тени. Данное значение указано в виде нормализованного значения от 0 до 1. Например, при 0,25 устанавливается 25-процентная прозрачность. Значение по умолчанию равно 1.
Реализация public function get shadowAlpha():Number
public function set shadowAlpha(value:Number):void
shadowColor:uint
[чтение и запись]
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Цвет тени для фаски. Действительны значения в шестнадцатеричном формате, 0xRRGGBB. Значение по умолчанию — 0x000000.
Реализация public function get shadowColor():uint
public function set shadowColor(value:uint):void
strength:Number
[чтение и запись]
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Степень вдавливания или растискивания. Действительны значения от 0 до 255. Чем выше значение, тем более насыщен цвет фаски и тем сильнее контраст между фаской и фоном. Значение по умолчанию 1.
Реализация public function get strength():Number
public function set strength(value:Number):void
type:String
[чтение и запись]
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Расположение фаски на объекте. Внутренняя и внешняя фаски применяются к внутренней и внешней сторонам, а полная фаска применяется ко всему объекту. Действительными значениями являются константы BitmapFilterType
:
BitmapFilterType.INNER
BitmapFilterType.OUTER
BitmapFilterType.FULL
Реализация public function get type():String
public function set type(value:String):void
Выдает | TypeError — Строка при назначении принимает значение null.
|
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 |
Версии среды выполнения: | AIR 1.0, Flash Player 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 ), который фактически делает заливку объекта прозрачной и выявляет цвет фона документа.
|
См. также
override public function clone():BitmapFilter
Язык версии : | ActionScript 3.0 |
Версия продукта: | Lite 2.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Возвращает копию данного объекта фильтра.
Возвращает | BitmapFilter — Новый экземпляр BevelFilter с теми же свойствами, что и оригинальный экземпляр BevelFilter.
|
В результате выполнения приведенного ниже кода будет нарисован темно-желтый квадрат, к которому будет применен фильтр фаски с ярко-желтой подсветкой (0xFFFF00) и голубой тенью (0x0000FF). Порядок выполнения кода таков:
- Импортируется требуемый класс.
- Объявляются три свойства функции
draw()
, рисующей объект, к которому и применяется фильтр фаски. - Создается функция конструктора
BevelFilterExample()
, которая выполняет следующее:
- Вызывает функцию
draw()
, которая объявляется позднее. - Объявляет переменную
filter
в виде объекта BitmapFilter и назначает ее возвращаемому значению вызова getBitmapFilter()
. - Создает новый массив
myFilters
и добавляет к массиву filter
, а также назначает myFilters
свойству filters
объекта BevelFilterExample. В результате применяются все фильтры, обнаруженные в myFilters
. В нашем случае это только один фильтр filter
.
- Создайте функцию
getBitmapFilter
для создания фильтра и задания его свойств. - Создайте функцию
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();
}
}
}
© 2004-2008 Adobe Systems Incorporated. All rights reserved.
Wed Sep 24 2008, 07:56 AM -07:00