Пакет | flash.filters |
Класс | public final class DisplacementMapFilter |
Наследование | DisplacementMapFilter ![]() ![]() |
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Выбор фильтра зависит от объекта, к которому требуется его применить:
filters
этого объекта. При задании объекту свойства filters
сам объект не изменяется, а фильтр можно удалить через свойство filters
. 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), фильтр не масштабируется. Он масштабируется, только когда пользователь применяет увеличение к самой сцене.
См. также
Свойство | Определено | ||
---|---|---|---|
alpha : Number
Задает значение альфа-прозрачности, применяемое для замещения "вне пределов". | DisplacementMapFilter | ||
color : uint
Задает цвет, используемый при смещениях, выходящих за пределы границ. | DisplacementMapFilter | ||
componentX : uint
Указывает цветовой канал, который следует использовать в изображении карты для замещения результата x. | DisplacementMapFilter | ||
componentY : uint
Указывает цветовой канал, который следует использовать в изображении карты для замещения результата у. | DisplacementMapFilter | ||
![]() | constructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта. | Object | |
mapBitmap : BitmapData
Объект BitmapData, содержащий данные карты замещения. | DisplacementMapFilter | ||
mapPoint : Point
Значение, содержащее смещение левого верхнего угла целевого экранного объекта из левого верхнего угла изображения карты. | DisplacementMapFilter | ||
mode : String
Режим для фильтра. | DisplacementMapFilter | ||
![]() | prototype : Object [статические]
Ссылка на модель объекта класса или функции. | Object | |
scaleX : Number
Множитель, с помощью которого масштабируется результат x замещения, полученного в ходе вычисления карты. | DisplacementMapFilter | ||
scaleY : Number
Множитель, с помощью которого масштабируется результат у замещения, полученного в ходе вычисления карты. | 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 |
alpha | свойство |
alpha:Number
[чтение и запись] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Задает значение альфа-прозрачности, применяемое для замещения "вне пределов". Оно задается в виде нормализованного значения от 0,0 до 0,1. Например, при значении 0,25 устанавливается 25-процентная прозрачность. Значение по умолчанию 0. Это свойство используется, если свойство mode
принимает значение DisplacementMapFilterMode.COLOR
.
public function get alpha():Number
public function set alpha(value:Number):void
color | свойство |
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):void
componentX | свойство |
componentX:uint
[чтение и запись] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Указывает цветовой канал, который следует использовать в изображении карты для замещения результата x. Возможные значения являются константами BitmapDataChannel:
BitmapDataChannel.ALPHA
BitmapDataChannel.BLUE
BitmapDataChannel.GREEN
BitmapDataChannel.RED
public function get componentX():uint
public function set componentX(value:uint):void
См. также
componentY | свойство |
componentY:uint
[чтение и запись] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Указывает цветовой канал, который следует использовать в изображении карты для замещения результата у. Возможные значения являются константами BitmapDataChannel:
BitmapDataChannel.ALPHA
BitmapDataChannel.BLUE
BitmapDataChannel.GREEN
BitmapDataChannel.RED
public function get componentY():uint
public function set componentY(value:uint):void
См. также
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.
|
См. также
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.
|
См. также
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 — Строка режима не относится к допустимым типам.
|
См. также
scaleX | свойство |
scaleX:Number
[чтение и запись] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Множитель, с помощью которого масштабируется результат x замещения, полученного в ходе вычисления карты.
public function get scaleX():Number
public function set scaleX(value:Number):void
scaleY | свойство |
scaleY:Number
[чтение и запись] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Множитель, с помощью которого масштабируется результат y замещения, полученного в ходе вычисления карты.
public function get scaleY():Number
public function set scaleY(value:Number):void
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 |
Версия продукта: | Lite 2.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 ) — Указывает цветовой канал, который следует использовать в изображении карты для замещения результата у. Возможными значениями являются константы 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 до 0,1. Например, при значении 0,25 устанавливается 25-процентная прозрачность. Этот параметр используется, если для mode установлено значение DisplacementMapFilterMode.COLOR .
|
См. также
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); } } }