Пакет | flash.filters |
Класс | public final class GradientBevelFilter |
Наследование | GradientBevelFilter BitmapFilter Object |
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Выбор фильтра зависит от объекта, к которому требуется его применить:
- Применить фильтр к экранным объектам можно с помощью свойства
filters
. При задании объекту свойстваfilters
сам объект не изменяется, а фильтр можно удалить через свойствоfilters
. - Для применения фильтров к объектам BitmapData следует пользоваться методом
BitmapData.applyFilter()
. При вызовеapplyFilter()
для объекта BitmapData из исходного объекта BitmapData и объекта фильтра формируется изображение с применением фильтра.
При применении фильтра к визуализируемому объекту свойство cacheAsBitmap
этого объекта принимает значение true
. Если удалить все фильтры, будет восстановлено исходное значение cacheAsBitmap
.
Этот фильтр поддерживает масштабирование сцены. Тем не менее, общее масштабирование, вращение и искажение не поддерживается. Если сам объект увеличен или уменьшен (т.е. если scaleX
и scaleY
имеют значение, отличное от 1,0), эффект фильтра не масштабируется. Он масштабируется, только когда пользователь применяет увеличение к самой сцене.
Фильтр не применяется, если полученное изображение превышает максимальные размеры. В AIR 1.5 и Flash Player 10 максимальный размер изображения составляет 8 191 пикселей в ширину или высоту, а общее количество пикселей не может превышать 16 777 215. (Т. е. если ширина изображения составляет 8 191 пикселя, его высота не может быть больше 2 048 пикселей.) В проигрывателе Flash Player 9 и более ранних версий, а также в AIR 1.1 и более ранних версий, это ограничение составляет 2 880 пикселей в высоту и 2 880 пикселей в ширину. Например, при масштабировании большого фрагмента ролика, к которому применен фильтр, фильтр будет снят, если получившееся изображение превысит максимальные размеры.
Связанные элементы API
flash.display.BitmapData.applyFilter()
BevelFilter
flash.display.DisplayObject.filters
flash.display.DisplayObject.cacheAsBitmap
Свойство | Определено | ||
---|---|---|---|
alphas : Array
Массив значений альфа-прозрачности для соответствующих цветов в массиве colors. | GradientBevelFilter | ||
angle : Number
Угол в градусах. | GradientBevelFilter | ||
blurX : Number
Степень размытия по горизонтали. | GradientBevelFilter | ||
blurY : Number
Степень размытия по вертикали. | GradientBevelFilter | ||
colors : Array
Массив шестнадцатеричных значений цвета RGB для применения в градиенте. | GradientBevelFilter | ||
constructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта. | Object | ||
distance : Number
Расстояние смещения. | GradientBevelFilter | ||
knockout : Boolean
Определяет, применяется ли к объекту эффект выбивки. | GradientBevelFilter | ||
quality : int
Заданное число применений фильтра. | GradientBevelFilter | ||
ratios : Array
Массив пропорций распределения цвета для соответствующих цветов в массиве colors. | GradientBevelFilter | ||
strength : Number
Степень вдавливания или нанесения. | GradientBevelFilter | ||
type : String
Местоположение эффекта «Наклон». | GradientBevelFilter |
Метод | Определено | ||
---|---|---|---|
GradientBevelFilter(distance:Number = 4.0, angle:Number = 45, colors:Array = null, alphas:Array = null, ratios:Array = null, blurX:Number = 4.0, blurY:Number = 4.0, strength:Number = 1, quality:int = 1, type:String = "inner", knockout:Boolean = false)
Инициализирует фильтр с заданными параметрами. | GradientBevelFilter | ||
[переопределить]
Возвращает копию данного объекта фильтра. | GradientBevelFilter | ||
Показывает, определено ли заданное свойство для объекта. | Object | ||
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра. | Object | ||
Показывает наличие заданного свойства и его перечисляемость. | Object | ||
Задает доступность динамического свойства для операций цикла. | Object | ||
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали. | Object | ||
Возвращает строковое представление заданного объекта. | Object | ||
Возвращает элементарное значение заданного объекта. | Object |
alphas | свойство |
alphas:Array
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Массив значений альфа-прозрачности для соответствующих цветов в массиве colors
. Действительные значения для каждого из элементов массива — от 0 до 1. Например, при 0,25 устанавливается 25-процентная прозрачность.
Свойство alphas
невозможно изменить, непосредственно поменяв его значения. Вместо этого следует внести изменения в ссылку на alphas
, а затем задать alphas
для ссылки.
Свойства colors
, alphas
и ratios
связаны между собой. Первый элемент массива colors
соответствует первому элементу массива alphas
и массива ratios
и т.д.
Реализация
public function get alphas():Array
public function set alphas(value:Array):void
Выдает
TypeError — Массив при назначении принимает значение null.
|
Связанные элементы API
angle | свойство |
angle:Number
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Угол в градусах. Действительны значения от 0 до 360. По умолчанию — 45.
Значение угла задает угол, под которым на объект падает свет из предполагаемого источника. Это значение определяет угол, под которыми цветовые градиенты прикладываются к объекту: где располагаются подсветка и тень и в какой точке отображается первый цвет массива. Затем цвета накладываются в том же порядке, в каком они заданы в массиве.
Реализация
public function get angle():Number
public function set angle(value:Number):void
Связанные элементы API
blurX | свойство |
blurX:Number
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Степень размытия по горизонтали. Действительны значения от 0 до 255. Размытие со значением 1 или менее означает, что исходное изображение копируется как есть. По умолчанию используется значение 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 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Степень размытия по вертикали. Действительны значения от 0 до 255. Размытие со значением 1 или менее означает, что исходное изображение копируется как есть. По умолчанию используется значение 4. Значения, являющиеся степенью 2 (т.е. 2, 4, 8, 16 и 32), оптимизируются и выполняются быстрее, чем остальные.
Реализация
public function get blurY():Number
public function set blurY(value:Number):void
colors | свойство |
colors:Array
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Массив шестнадцатеричных значений цвета RGB для применения в градиенте. Например, красный задается значением 0xFF0000, голубой — значением 0x0000FF и т. д.
Свойство colors
нельзя изменить, непосредственно поменяв его значения. Вместо этого следует внести изменения в ссылку на colors
, а затем задать colors
для ссылки.
Свойства colors
, alphas
и ratios
связаны между собой. Первый элемент массива colors
соответствует первому элементу массива alphas
и массива ratios
и т.д.
Реализация
public function get colors():Array
public function set colors(value:Array):void
Выдает
TypeError — Массив при назначении принимает значение null.
|
Связанные элементы API
distance | свойство |
knockout | свойство |
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 | свойство |
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
. Это даст похожий эффект, а выполнение будет происходить быстрее.
Реализация
public function get quality():int
public function set quality(value:int):void
Связанные элементы API
ratios | свойство |
ratios:Array
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Массив пропорций распределения цвета для соответствующих цветов в массиве colors
. Действительные значения для каждого из элементов массива — от 0 до 255.
Свойство ratios
нельзя изменить, непосредственно поменяв его значения. Вместо этого следует внести изменения в ссылку на ratios
, а затем задать ratios
для ссылки.
Свойства colors
, alphas
и ratios
связаны между собой. Первый элемент массива colors
соответствует первому элементу массива alphas
и массива ratios
и т.д.
Чтобы представить, как распределяются цвета в градиентном наклоне, представьте какой-нибудь цвет. Предположим что, простой наклон имеет сплошной цвет подсветки и сплошной цвет тени, а градиентный наклон имеет градиентную подсветку и градиентную тень. Представьте, что подсветка располагается в верхнем левом углу, а тень — в правом верхнем. Представьте, что одинарное использование фильтра позволяет получить четыре цвета подсветки и четыре цвета тени. В дополнение к подсветке и тени фильтр использует базовый цвет заливки, который отображается на стыке областей подсветки и тени. Таким образом, всего получается девять цветов, поэтому соответствующее число элементов в массиве пропорций тоже девять.
Представьте градиент как сочетание переходящих друг в друга полос разных цветов. Каждое значение пропорции задает положение цвета по радиусу градиента, где 0 — это самая удаленная от центра точка, а 255 — самая ближняя к центру. Как правило, среднее значение — 128, оно же является значением базовой заливки. Для получения эффекта наклона, показанного на рисунке ниже, необходимо назначить значения пропорций, как показано ниже, и использовать девятицветный пример:
- Первые четыре цвета лежат в диапазоне от 0 до 127, при этом каждое последующее значение должно быть больше предыдущего. Это подсвеченная сторона.
- Пятый цвет (средний) — это базовая заливка, его значение 128. Значение пикселя 128 задает базовую заливку, которая отображается за границами фигуры (и вокруг краев наклона), если задан внешний тип. Если же задан внутренний тип, то она отображается внутри фигуры и перекрывает собственную заливку объекта.
- Последние четыре цвета лежат в диапазоне от 129 до 255, при этом каждое последующее значение должно быть больше предыдущего. Это теневая сторона.
Если необходимо, чтобы цвета с каждой стороны распределялись ровно, рекомендуется использовать нечетное количество цветов, где средний цвет будет цветом заливки. Распределите значения цветов равномерно в диапазонах 0-127 и 129-255, затем скорректируйте значение, чтобы изменить ширину каждой из полосок градиента. Для градиентного наклона из девяти цветов возможен массив [16, 32, 64, 96, 128, 160, 192, 224, 235]. На рисунке ниже показан рассмотренный градиентный наклон.
Следует помнить, что распределение цветов в градиенте зависит от значений свойств blurX
, blurY
, strength
и quality
, а также от значений ratios
.
Реализация
public function get ratios():Array
public function set ratios(value:Array):void
Выдает
TypeError — Массив при назначении принимает значение null.
|
Связанные элементы API
strength | свойство |
strength:Number
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Степень вдавливания или нанесения. Чем выше значение, тем более насыщен цвет тени и тем сильнее контраст между наклоном и фоном. Действительны значения от 0 до 255. Значение 0 означает, что фильтр не применяется. Значением по умолчанию является 1.
Реализация
public function get strength():Number
public function set strength(value:Number):void
Связанные элементы API
type | свойство |
type:String
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Местоположение эффекта «Наклон». Возможные значения констант BitmapFilterType:
BitmapFilterType.OUTER
— наклон по внешнему краю объекта.BitmapFilterType.INNER
— наклон по внутреннему краю объекта.BitmapFilterType.FULL
— наклон по всему объекту.
Реализация
public function get type():String
public function set type(value:String):void
GradientBevelFilter | () | Конструктор |
public function GradientBevelFilter(distance:Number = 4.0, angle:Number = 45, colors:Array = null, alphas:Array = null, ratios:Array = null, 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 |
Инициализирует фильтр с заданными параметрами.
Параметрыdistance:Number (default = 4.0 ) — Расстояние смещения. Действительны значения от 0 до 8.
| |
angle:Number (default = 45 ) — Угол в градусах. Действительны значения от 0 до 360.
| |
colors:Array (default = null ) — Массив шестнадцатеричных значений цвета RGB для применения в градиенте. Например, красный задается значением 0xFF0000, голубой — значением 0x0000FF и т.д.
| |
alphas:Array (default = null ) — Массив значений альфа-прозрачности для соответствующих цветов в массиве colors . Действительные значения для каждого из элементов массива — от 0 до 1. Например, при 0,25 устанавливается 25-процентная прозрачность.
| |
ratios:Array (default = null ) — Массив значений распределения цветов; действительными являются значения от 0 до 255.
| |
blurX:Number (default = 4.0 ) — Степень размытия по горизонтали. Действительны значения от 0 до 255. Размытие со значением 1 или менее означает, что исходное изображение копируется как есть. По умолчанию используется значение 4. Значения, являющиеся степенью 2 (т.е. 2, 4, 8, 16 и 32), оптимизируются и выполняются быстрее, чем остальные.
| |
blurY:Number (default = 4.0 ) — Степень размытия по вертикали. Действительны значения от 0 до 255. Размытие со значением 1 или менее означает, что исходное изображение копируется как есть. Значения, являющиеся степенью 2 (т. е. 2, 4, 8, 16 и 32), оптимизируются и выполняются быстрее, чем остальные.
| |
strength:Number (default = 1 ) — Степень вдавливания или нанесения. Чем выше значение, тем более насыщен цвет тени и тем сильнее контраст между наклоном и фоном. Действительны значения от 0 до 255. Значение 0 означает, что фильтр не применяется.
| |
quality:int (default = 1 ) — Качество фильтра. Используйте константы BitmapFilterQuality:
Подробные сведения см. в описании свойства | |
type:String (default = "inner ") — Местоположение эффекта «Наклон». Возможные значения констант BitmapFilterType:
| |
knockout:Boolean (default = false ) — Указывает, применяется ли эффект выбивки. Значение true делает заливку объекта прозрачной и делает видимым цвет фона документа.
|
Связанные элементы API
clone | () | метод |
override public function clone():BitmapFilter
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Возвращает копию данного объекта фильтра.
ВозвращаетBitmapFilter — Новый экземпляр GradientBevelFilter с теми же свойствами, что и оригинальный экземпляр GradientBevelFilter.
|
- Импортируется требуемый класс.
- Объявляются глобальные переменные для определения квадрата и фильтра.
- Создается функция конструктора, которая выполняет следующее:
- Вызывает метод
draw()
, который использует методы класса Graphics, доступные через свойствоgraphics
спрайта для рисования серого квадрата. - Создает новый объект BitmapFilter с именем
filter
и назначает ему возвращаемое значение вызоваgetBitmapFilter()
, определяющего фильтр. - Создает массив с именем
myFilters
и добавляет к немуfilter
. - Назначает
myFilters
свойствуfilters
объекта GradientBevelFilterExample. В результате применяются все фильтры, обнаруженные вmyFilters
. В нашем случае это только один фильтрfilter
.
- Вызывает метод
package { import flash.display.Sprite; import flash.filters.BitmapFilter; import flash.filters.BitmapFilterQuality; import flash.filters.BitmapFilterType; import flash.filters.GradientBevelFilter; public class GradientBevelFilterExample extends Sprite { private var bgColor:uint = 0xCCCCCC; private var size:uint = 80; private var offset:uint = 50; private var distance:Number = 5; private var angleInDegrees:Number = 225; // opposite 45 degrees private var colors:Array = [0xFFFFFF, 0xCCCCCC, 0x000000]; private var alphas:Array = [1, 0, 1]; private var ratios:Array = [0, 128, 255]; private var blurX:Number = 8; private var blurY:Number = 8; private var strength:Number = 2; private var quality:Number = BitmapFilterQuality.HIGH private var type:String = BitmapFilterType.INNER; private var knockout:Boolean = true; public function GradientBevelFilterExample() { draw(); var filter:BitmapFilter = getBitmapFilter(); var myFilters:Array = new Array(); myFilters.push(filter); filters = myFilters; } private function getBitmapFilter():BitmapFilter { return new GradientBevelFilter(distance, angleInDegrees, colors, alphas, ratios, blurX, blurY, strength, quality, type, knockout); } private function draw():void { graphics.beginFill(bgColor); graphics.drawRect(offset, offset, size, size); graphics.endFill(); } } }
Tue Jun 12 2018, 11:34 AM Z