Paquete | flash.filters |
Clase | public final class DisplacementMapFilter |
Herencia | DisplacementMapFilter BitmapFilter Object |
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
El uso de filtros depende del objeto al que se aplique el filtro:
- Para aplicar filtros a un objeto de visualización, utilice la propiedad
filters
del objeto de visualización. La propiedadfilters
de un objeto no lo modifica y se puede quitar el filtro borrando la propiedadfilters
. - Para aplicar filtros a objetos BitmapData, utilice el método
BitmapData.applyFilter()
. La llamada aapplyFilter()
en un objeto BitmapData toma el objeto BitmapData de origen y objeto de filtro y genera una imagen filtrada.
Si aplica un filtro a un objeto de visualización, el valor de la propiedad cacheAsBitmap
del objeto de visualización se establece en true
. Si borra todos los filtros, se restaurará el valor original de cacheAsBitmap
.
El filtro utiliza la fórmula siguiente:
dstPixel[x, y] = srcPixel[x + ((componentX(x, y) - 128) * scaleX) / 256, y + ((componentY(x, y) - 128) *scaleY) / 256)
donde componentX(x, y)
obtiene el valor de color de la propiedad componentX
de la propiedad mapBitmap
en (x - mapPoint.x ,y - mapPoint.y)
.
La imagen del mapa que utiliza el filtro se modifica para coincidir con el ajuste de escala del escenario. No se modifica cuando el propio objeto está a escala.
Este filtro admite la aplicación de escala en el escenario. Sin embargo, no se puede ajustar la escala, rotación y sesgo general. Si el objeto está a escala (si las propiedades scaleX
y scaleY
se establecen en un valor distinto de 1.0), no se escala el filtro. Sólo se escalará cuando el usuario acerque el escenario.
Elementos de API relacionados
flash.display.DisplayObject.filters
flash.display.DisplayObject.cacheAsBitmap
Propiedad | Definido por | ||
---|---|---|---|
alpha : Number
Especifica el valor de transparencia alfa que debe utilizarse para desplazamientos fuera de los límites. | DisplacementMapFilter | ||
color : uint
Especifica el color que debe utilizarse para desplazamientos fuera de los límites. | DisplacementMapFilter | ||
componentX : uint
Describe qué canal de color se utilizará en la imagen del mapa para desplazar el resultado x. | DisplacementMapFilter | ||
componentY : uint
Describe qué canal de color se utilizará en la imagen del mapa para desplazar el resultado y. | DisplacementMapFilter | ||
constructor : Object
Una referencia a la clase de objeto o función constructora para una instancia de objeto determinada. | Object | ||
mapBitmap : BitmapData
Objeto BitmapData que contiene los datos del mapa de desplazamiento. | DisplacementMapFilter | ||
mapPoint : Point
Un valor que contiene el desplazamiento de la esquina superior izquierda del objeto de visualización de destino desde la esquina superior izquierda de la imagen del mapa. | DisplacementMapFilter | ||
mode : String
Modo del filtro. | DisplacementMapFilter | ||
scaleX : Number
Multiplicador que debe utilizarse para ajustar el tamaño del resultado del desplazamiento de x con respecto al cálculo del mapa. | DisplacementMapFilter | ||
scaleY : Number
Multiplicador que debe utilizarse para ajustar el tamaño del resultado del desplazamiento de y con respecto al cálculo del mapa. | DisplacementMapFilter |
Método | Definido por | ||
---|---|---|---|
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)
Inicializa una instancia DisplacementMapFilter con los parámetros especificados. | DisplacementMapFilter | ||
[override]
Devuelve una copia de este objeto de filtro. | DisplacementMapFilter | ||
Indica si un objeto tiene definida una propiedad especificada. | Object | ||
Indica si hay una instancia de la clase Object en la cadena de prototipo del objeto especificado como parámetro. | Object | ||
Indica si existe la propiedad especificada y si es enumerable. | Object | ||
Establece la disponibilidad de una propiedad dinámica para operaciones de bucle. | Object | ||
Devuelve la representación de cadena de este objeto, con formato según las convenciones específicas de configuración regional. | Object | ||
Devuelve la representación de cadena del objeto especificado. | Object | ||
Devuelve el valor simple del objeto especificado. | Object |
alpha | propiedad |
alpha:Number
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Especifica el valor de transparencia alfa que debe utilizarse para desplazamientos fuera de los límites. Se especifica como un valor normalizado de 0,0 a 1,0. Por ejemplo, 0,25 establece un valor de transparencia del 25%. El valor predeterminado es 0. Utilice esta propiedad si mode
se define como DisplacementMapFilterMode.COLOR
.
Implementación
public function get alpha():Number
public function set alpha(value:Number):void
color | propiedad |
color:uint
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Especifica el color que debe utilizarse para desplazamientos fuera de los límites. El rango de desplazamiento válido va de 0,0 a 1,0. Los valores tienen formato hexadecimal. El valor predeterminado de color
es 0. Utilice esta propiedad si mode
se define como DisplacementMapFilterMode.COLOR
.
Implementación
public function get color():uint
public function set color(value:uint):void
componentX | propiedad |
componentX:uint
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Describe qué canal de color se utilizará en la imagen del mapa para desplazar el resultado x. Los valores posibles son constantes BitmapDataChannel:
BitmapDataChannel.ALPHA
BitmapDataChannel.BLUE
BitmapDataChannel.GREEN
BitmapDataChannel.RED
Implementación
public function get componentX():uint
public function set componentX(value:uint):void
Elementos de API relacionados
componentY | propiedad |
componentY:uint
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Describe qué canal de color se utilizará en la imagen del mapa para desplazar el resultado y. Los valores posibles son constantes BitmapDataChannel:
BitmapDataChannel.ALPHA
BitmapDataChannel.BLUE
BitmapDataChannel.GREEN
BitmapDataChannel.RED
Implementación
public function get componentY():uint
public function set componentY(value:uint):void
Elementos de API relacionados
mapBitmap | propiedad |
mapBitmap:BitmapData
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Objeto BitmapData que contiene los datos del mapa de desplazamiento.
Implementación
public function get mapBitmap():BitmapData
public function set mapBitmap(value:BitmapData):void
Emite
TypeError — El objeto BitmapData es null cuando se define
|
Elementos de API relacionados
mapPoint | propiedad |
mapPoint:Point
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Un valor que contiene el desplazamiento de la esquina superior izquierda del objeto de visualización de destino desde la esquina superior izquierda de la imagen del mapa.
Implementación
public function get mapPoint():Point
public function set mapPoint(value:Point):void
Emite
TypeError — El objeto Point es null cuando se define
|
Elementos de API relacionados
mode | propiedad |
mode:String
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Modo del filtro. Los valores posibles son constantes DisplacementMapFilterMode:
DisplacementMapFilterMode.WRAP
: ajusta el valor de desplazamiento al otro lado de la imagen de origen.DisplacementMapFilterMode.CLAMP
: fija el valor de desplazamiento en el borde de la imagen de origen.DisplacementMapFilterMode.IGNORE
: si el valor de desplazamiento está fuera de rango, omite el desplazamiento y utiliza el píxel de origen.DisplacementMapFilterMode.COLOR
: si el valor de desplazamiento está fuera de rango, sustituye los valores de las propiedadescolor
yalpha
.
Implementación
public function get mode():String
public function set mode(value:String):void
Emite
TypeError — La cadena es null cuando se define
| |
ArgumentError — La cadena de modo no pertenece a los tipos válidos
|
Elementos de API relacionados
scaleX | propiedad |
scaleX:Number
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Multiplicador que debe utilizarse para ajustar el tamaño del resultado del desplazamiento de x con respecto al cálculo del mapa.
Implementación
public function get scaleX():Number
public function set scaleX(value:Number):void
scaleY | propiedad |
scaleY:Number
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Multiplicador que debe utilizarse para ajustar el tamaño del resultado del desplazamiento de y con respecto al cálculo del mapa.
Implementación
public function get scaleY():Number
public function set scaleY(value:Number):void
DisplacementMapFilter | () | Información sobre |
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)
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Inicializa una instancia DisplacementMapFilter con los parámetros especificados.
ParámetrosmapBitmap:BitmapData (default = null ) — Objeto BitmapData que contiene los datos del mapa de desplazamiento.
| |
mapPoint:Point (default = null ) — Un valor que contiene el desplazamiento de la esquina superior izquierda del objeto de visualización de destino desde la esquina superior izquierda de la imagen del mapa.
| |
componentX:uint (default = 0 ) — Describe qué canal de color se utilizará en la imagen del mapa para desplazar el resultado x. Los valores posibles son las constantes BitmapDataChannel.
| |
componentY:uint (default = 0 ) — Describe qué canal de color se utilizará en la imagen del mapa para desplazar el resultado y. Los valores posibles son las constantes BitmapDataChannel.
| |
scaleX:Number (default = 0.0 ) — Multiplicador que debe utilizarse para ajustar el tamaño del resultado del desplazamiento de x con respecto al cálculo del mapa.
| |
scaleY:Number (default = 0.0 ) — Multiplicador que debe utilizarse para ajustar el tamaño del resultado del desplazamiento de y con respecto al cálculo del mapa.
| |
mode:String (default = "wrap ") — Modo del filtro. Los valores posibles son las constantes DisplacementMapFilterMode.
| |
color:uint (default = 0 ) — Especifica el color que debe utilizarse para desplazamientos fuera de los límites. El rango de desplazamiento válido va de 0,0 a 1,0. Utilice este parámetro si mode se define como DisplacementMapFilterMode.COLOR .
| |
alpha:Number (default = 0.0 ) — Especifica el valor alfa que debe utilizarse para desplazamientos fuera de los límites. Se especifica como un valor normalizado de 0,0 a 1,0. Por ejemplo, 0,25 establece un valor de transparencia del 25%. Utilice este parámetro si mode se define como DisplacementMapFilterMode.COLOR .
|
Elementos de API relacionados
clone | () | método |
override public function clone():BitmapFilter
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Devuelve una copia de este objeto de filtro.
Valor devueltoBitmapFilter — Una nueva instancia de DisplacementMapFilter con las mismas propiedades que la original.
|
- La clase define variables para el color de fondo, para la etiqueta del campo de texto y para el tamaño y el desplazamiento que se utilizarán en diversas funciones.
- La función constructora llama al método
draw()
, que utiliza los métodos de la clase Graphics para dibujar un cuadrado con relleno degradado radial. Observe quegraphics
es una propiedad del objeto DisplacementMapFilterExample que amplía Sprite. - La función constructora llama al método
createLabel()
, que crea un campo de texto con el valor delabelText
y lo añade a la lista de visualización. - La función constructora llama al método
createFilter()
, que hace lo siguiente:- Crea una variable llamada
filter
para el objeto filter. - Llama al método
getDisplacementMapFilter()
y asigna su valor devuelto a la variablefilter
. - Transfiere
filter
a la propiedadfilters
del objeto DisplacementFilterExample (clase principal).
- Crea una variable llamada
- El método
getBitmapFilter()
crea un objeto BitmapData llamadomapBitmap
y le asigna los resultados del métodocreateBitmapData()
. El objetomapBitmap
, junto con otras variables, define un nuevo filtro de mapa de desplazamiento. - El método
createBitmapData()
crea un nuevo objeto BitmapData basado en el contenido actual del objeto DisplacementMapFilterExample. Crea un nuevo mapa de bits basado enbitmapData
y lo añade al escenario.
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, 02:12 PM Z