| Пакет | flash.filters |
| Класс | public final class DisplacementMapFilter |
| Наследование | DisplacementMapFilter BitmapFilter Object |
| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Выбор фильтра зависит от объекта, к которому требуется его применить:
- Применить фильтры к экранному объекту можно с помощью свойства
filtersэтого объекта. При задании объекту свойстваfiltersсам объект не изменяется, а фильтр можно удалить через свойствоfilters. - Для применения фильтров к объектам BitmapData следует пользоваться методом
BitmapData.applyFilter(). При вызовеapplyFilter()для объекта BitmapData из исходного объекта BitmapData и объекта filter формируется изображение с применением фильтра.
При применении фильтра к экранному объекту свойство cacheAsBitmap этого объекта принимает значение true. Если удалить все фильтры, будет восстановлено исходное значение cacheAsBitmap.
В фильтре используется следующая формула:
dstPixel[x, y] = srcPixel[x + ((componentX(x, y) - 128) * scaleX) / 256, y + ((componentY(x, y) - 128) *scaleY) / 256)
где componentX(x, y) получает значение цвета свойства componentX от свойства mapBitmap при (x — mapPoint.x ,y — mapPoint.y).
Изображение карты, используемое фильтром, масштабируется по размеру сцены. Оно не масштабируется при масштабировании самого объекта.
Этот фильтр поддерживает масштабирование сцены. Тем не менее, общее масштабирование, повороты и искажение не поддерживаются. Если сам объект увеличен или уменьшен (т. е. если свойства scaleX и scaleY принимают значение, отличное от 1,0), фильтр не масштабируется. Он масштабируется, только когда пользователь применяет увеличение к самой сцене.
Связанные элементы API
flash.display.DisplayObject.filters
flash.display.DisplayObject.cacheAsBitmap
| Свойство | Определено | ||
|---|---|---|---|
| alpha : Number
Задает значение альфа-прозрачности, применяемое для замещения «вне пределов». | DisplacementMapFilter | ||
| color : uint
Задает цвет, используемый при смещениях, выходящих за пределы границ. | DisplacementMapFilter | ||
| componentX : uint
Указывает цветовой канал, который следует использовать в изображении карты для замещения результата x. | DisplacementMapFilter | ||
| componentY : uint
Указывает цветовой канал, который следует использовать в изображении карты для замещения результата y. | DisplacementMapFilter | ||
![]() | constructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта. | Object | |
| mapBitmap : BitmapData
Объект BitmapData, содержащий данные карты замещения. | DisplacementMapFilter | ||
| mapPoint : Point
Значение, содержащее смещение левого верхнего угла целевого экранного объекта из левого верхнего угла изображения карты. | DisplacementMapFilter | ||
| mode : String
Режим для фильтра. | DisplacementMapFilter | ||
| scaleX : Number
Множитель, с помощью которого масштабируется результат x замещения, полученного в ходе вычисления карты. | DisplacementMapFilter | ||
| scaleY : Number
Множитель, с помощью которого масштабируется результат y замещения, полученного в ходе вычисления карты. | DisplacementMapFilter | ||
| Метод | Определено | ||
|---|---|---|---|
DisplacementMapFilter(mapBitmap:BitmapData = null, mapPoint:Point = null, componentX:uint = 0, componentY:uint = 0, scaleX:Number = 0.0, scaleY:Number = 0.0, mode:String = "wrap", color:uint = 0, alpha:Number = 0.0)
Инициализирует экземпляр DisplacementMapFilter с заданными параметрами. | DisplacementMapFilter | ||
[переопределить]
Возвращает копию данного объекта фильтра. | DisplacementMapFilter | ||
![]() |
Показывает, определено ли заданное свойство для объекта. | Object | |
![]() |
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра. | Object | |
![]() |
Показывает наличие заданного свойства и его перечисляемость. | Object | |
![]() |
Задает доступность динамического свойства для операций цикла. | Object | |
![]() |
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали. | Object | |
![]() |
Возвращает строковое представление заданного объекта. | Object | |
![]() |
Возвращает элементарное значение заданного объекта. | Object | |
alpha | свойство |
alpha:Number| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Задает значение альфа-прозрачности, применяемое для замещения «вне пределов». Указывается в виде нормализованного значения от 0,0 до 1,0. Например, при 0,25 устанавливается 25-процентная прозрачность. Значением по умолчанию является 0. Это свойство используется, если свойство mode принимает значение DisplacementMapFilterMode.COLOR.
Реализация
public function get alpha():Number public function set alpha(value:Number):voidcolor | свойство |
color:uint| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Задает цвет, используемый при смещениях, выходящих за пределы границ. Допустимый диапазон смещений – от 0,0 до 1,0. Значения приводятся в шестнадцатеричном формате. Значение color по умолчанию равно 0. Это свойство используется, если свойство mode принимает значение DisplacementMapFilterMode.COLOR.
Реализация
public function get color():uint public function set color(value:uint):voidcomponentX | свойство |
componentX:uint| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Указывает цветовой канал, который следует использовать в изображении карты для замещения результата x. Возможные значения являются константами BitmapDataChannel:
BitmapDataChannel.ALPHABitmapDataChannel.BLUEBitmapDataChannel.GREENBitmapDataChannel.RED
Реализация
public function get componentX():uint public function set componentX(value:uint):voidСвязанные элементы API
componentY | свойство |
componentY:uint| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Указывает цветовой канал, который следует использовать в изображении схемы для замещения результата y. Возможные значения являются константами BitmapDataChannel:
BitmapDataChannel.ALPHABitmapDataChannel.BLUEBitmapDataChannel.GREENBitmapDataChannel.RED
Реализация
public function get componentY():uint public function set componentY(value:uint):voidСвязанные элементы API
mapBitmap | свойство |
mapBitmap:BitmapData| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Объект BitmapData, содержащий данные карты замещения.
Реализация
public function get mapBitmap():BitmapData public function set mapBitmap(value:BitmapData):voidВыдает
TypeError — BitmapData при назначении принимает значение null.
|
Связанные элементы API
mapPoint | свойство |
mapPoint:Point| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Значение, содержащее смещение левого верхнего угла целевого экранного объекта из левого верхнего угла изображения карты.
Реализация
public function get mapPoint():Point public function set mapPoint(value:Point):voidВыдает
TypeError — Точка при назначении принимает значение null.
|
Связанные элементы API
mode | свойство |
mode:String| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Режим для фильтра. Возможные значения являются константами DisplacementMapFilterMode:
DisplacementMapFilterMode.WRAP— переносит значение замещения на другую сторону исходного изображения.DisplacementMapFilterMode.CLAMP— фиксирует значение замещения по краю исходного изображения.DisplacementMapFilterMode.IGNORE— если значение замещения находится вне диапазона, игнорирует замещение и использует исходный пиксель.DisplacementMapFilterMode.COLOR— если значение замещения находится вне изображения, заменяет значения свойствcolorиalpha.
Реализация
public function get mode():String public function set mode(value:String):voidВыдает
TypeError — Строка при назначении принимает значение null.
| |
ArgumentError — Строка режима не относится к допустимым типам.
|
Связанные элементы API
scaleX | свойство |
scaleY | свойство |
DisplacementMapFilter | () | Конструктор |
public function DisplacementMapFilter(mapBitmap:BitmapData = null, mapPoint:Point = null, componentX:uint = 0, componentY:uint = 0, scaleX:Number = 0.0, scaleY:Number = 0.0, mode:String = "wrap", color:uint = 0, alpha:Number = 0.0)| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Инициализирует экземпляр DisplacementMapFilter с заданными параметрами.
ПараметрыmapBitmap:BitmapData (default = null) — Объект BitmapData, содержащий данные карты замещения.
| |
mapPoint:Point (default = null) — Значение, содержащее смещение левого верхнего угла целевого экранного объекта из левого верхнего угла изображения карты.
| |
componentX:uint (default = 0) — Указывает цветовой канал, который следует использовать в изображении карты для замещения результата x. Возможными значениями являются константы BitmapDataChannel:
| |
componentY:uint (default = 0) — Указывает цветовой канал, который следует использовать в изображении схемы для замещения результата y. Возможными значениями являются константы BitmapDataChannel:
| |
scaleX:Number (default = 0.0) — Множитель, с помощью которого масштабируется результат замещения x, полученного в ходе вычисления схемы.
| |
scaleY:Number (default = 0.0) — Множитель, с помощью которого масштабируется результат y замещения, полученного в ходе вычисления карты.
| |
mode:String (default = "wrap") — Режим фильтра. Возможными значениями являются константы DisplacementMapFilterMode:
| |
color:uint (default = 0) — Задает цвет, используемый при смещениях, выходящих за пределы границ. Допустимый диапазон смещений — от 0,0 до 1,0. Этот параметр используется, если для mode установлено значение DisplacementMapFilterMode.COLOR.
| |
alpha:Number (default = 0.0) — Задает альфа-значение, используемое при смещениях, выходящих за пределы границ. Указывается в виде нормализованного значения от 0,0 до 1,0. Например, при 0,25 устанавливается 25-процентная прозрачность. Этот параметр используется, если для mode установлено значение DisplacementMapFilterMode.COLOR.
|
Связанные элементы API
clone | () | метод |
override public function clone():BitmapFilter| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Возвращает копию данного объекта фильтра.
ВозвращаетBitmapFilter — Новый экземпляр DisplacementMapFilter с теми же свойствами, что и оригинальный экземпляр.
|
- Класс определяет переменные цвета фона, отметки текстового поля, размера и смещения, которые будут использоваться в различных функциях.
- Функция конструктора вызывает метод
draw(), использующий класс Graphics для отрисовки квадрата с радиальной градиентной заливкой. Следует помнить, чтоgraphics— это свойство объекта DisplacementMapFilterExample, являющегося расширением класса Sprite. - Функция конструктора вызывает метод
createLabel(), который создает текстовое поле со значениемlabelTextи добавляет его к списку отображения. - Функция конструктора вызывает метод
createFilter(), который выполняет следующие действия:- Создает переменную с именем
filterдля объекта filter. - Вызывает метод
getDisplacementMapFilter()и назначает возвращаемое им значение переменнойfilter. - Передает
filterсвойствуfiltersобъекта DisplacementFilterExample (основной класс).
- Создает переменную с именем
- Метод
getBitmapFilter()создает объект BitmapData с именемmapBitmapи назначает его результатам методаcreateBitmapData(). ОбъектmapBitmap, как и другие переменные, определяет новый фильтр смещения изображения карты. - Метод
createBitmapData()создает новый объект BitmapData, основанный на текущем содержимом объекта DisplacementMapFilterExample. Он создает новое растровое изображение на основеbitmapDataи добавляет его к сцене.
package {
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.BitmapDataChannel;
import flash.display.GradientType;
import flash.display.SpreadMethod;
import flash.display.Sprite;
import flash.filters.BitmapFilter;
import flash.filters.DisplacementMapFilter;
import flash.filters.DisplacementMapFilterMode;
import flash.geom.Matrix;
import flash.geom.Point;
import flash.text.TextField;
public class DisplacementMapFilterExample extends Sprite {
private var bgColor:uint = 0xFFCC00;
private var size:uint = 200;
private var offset:uint = 90;
private var labelText:String = "Watch the text bend with the displacement map";
public function DisplacementMapFilterExample() {
draw();
createLabel();
createFilter();
}
private function createFilter():void {
var filter:BitmapFilter = getBitmapFilter();
filters = new Array(filter);
}
private function getBitmapFilter():BitmapFilter {
var mapBitmap:BitmapData = createBitmapData();
var mapPoint:Point = new Point(0, 0);
var channels:uint = BitmapDataChannel.RED;
var componentX:uint = channels;
var componentY:uint = channels;
var scaleX:Number = 0.5;
var scaleY:Number = -30;
var mode:String = DisplacementMapFilterMode.CLAMP;
var color:uint = 0;
var alpha:Number = 0;
return new DisplacementMapFilter(mapBitmap,
mapPoint,
componentX,
componentY,
scaleX,
scaleY,
mode,
color,
alpha);
}
private function draw():void {
var matrix:Matrix = new Matrix();
matrix.createGradientBox(size, size);
graphics.beginGradientFill(GradientType.RADIAL,
[0xFF0000, 0x0000FF],
[100, 100],
[55, 200],
matrix,
SpreadMethod.PAD);
graphics.drawRect(0, 0, size, size);
}
private function createBitmapData():BitmapData {
var bitmapData:BitmapData = new BitmapData(size, size, true, bgColor);
bitmapData.draw(this, new Matrix());
var bitmap:Bitmap = new Bitmap(bitmapData);
bitmap.x = size;
addChild(bitmap);
return bitmapData;
}
private function createLabel():void {
var tf:TextField = new TextField();
tf.text = labelText;
tf.y = offset;
tf.width = size;
addChild(tf);
}
}
}
Tue Jun 12 2018, 11:34 AM Z
Скрыть унаследованные общедоступные свойства
Показать унаследованные общедоступные свойства