Pacote | flash.filters |
Classe | public final class DisplacementMapFilter |
Herança | DisplacementMapFilter BitmapFilter Object |
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
O uso dos filtros depende do objeto ao qual você vai aplicar o filtro:
- Para aplicar os filtros a um objeto de exibição, use a propriedade
filters
do objeto de exibição. Definir a propriedadefilters
de um objeto não modifica o objeto e você pode remover o filtro limpando a propriedadefilters
. - Para aplicar os filtros aos objetos BitmapData, use o método
BitmapData.applyFilter()
. A ação de chamar oapplyFilter()
em um objeto BitmapData usa o objeto BitmapData de origem e o objeto do filtro e cria uma imagem filtrada.
Se você aplicar um filtro a um objeto de exibição, o valor da propriedade cacheAsBitmap
do objeto de exibição é definido como true
. Se você limpar todos os filtros, o valor original de cacheAsBitmap
é restaurado.
O filtro usa a seguinte fórmula:
dstPixel[x, y] = srcPixel[x + ((componentX(x, y) - 128) * scaleX) / 256, y + ((componentY(x, y) - 128) *scaleY) / 256)
onde componentX(x, y)
obtém o valor de cor da propriedade componentX
da propriedade mapBitmap
em (x - mapPoint.x ,y - mapPoint.y)
.
A imagem do mapa usada pelo filtro é dimensionada para corresponder ao dimensionamento do Palco. Ela não é dimensionada quando o próprio objeto é dimensionado.
Esse filtro suporta dimensionamento do Palco. Entretanto, o dimensionamento geral, a rotação e a inclinação não são suportados. Se o próprio objeto for dimensionado (se as propriedades scaleX
e scaleY
forem definidas para um valor diferente de 1,0), o efeito do filtro não será dimensionado. Ele será dimensionado somente quando o usuário aumentar o zoom no Palco.
Elementos da API relacionados
flash.display.DisplayObject.filters
flash.display.DisplayObject.cacheAsBitmap
Propriedade | Definido por | ||
---|---|---|---|
alpha : Number
Especifica o valor da transparência alfa a ser usado para deslocamentos fora dos limites. | DisplacementMapFilter | ||
color : uint
Especifica a cor a ser usada para deslocamentos fora dos limites. | DisplacementMapFilter | ||
componentX : uint
Descreve o canal de cor a ser usado na imagem de mapa para deslocar o resultado x. | DisplacementMapFilter | ||
componentY : uint
Descreve o canal de cor a ser usado na imagem de mapa para deslocar o resultado y. | DisplacementMapFilter | ||
constructor : Object
Uma referência ao objeto de classe ou à função de construtor de uma determinada ocorrência de objeto. | Object | ||
mapBitmap : BitmapData
Objeto BitmapData contendo os dados do mapa de deslocamento. | DisplacementMapFilter | ||
mapPoint : Point
Valor que contém o deslocamento do canto superior esquerdo do objeto de exibição de destino a partir do canto superior esquerdo da imagem de mapa. | DisplacementMapFilter | ||
mode : String
Modo do filtro. | DisplacementMapFilter | ||
scaleX : Number
O multiplicador a ser usado para dimensionar o resultado do deslocamento x a partir do cálculo do mapa. | DisplacementMapFilter | ||
scaleY : Number
O multiplicador a ser usado para dimensionar o resultado do deslocamento y a partir do cálculo do 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 uma ocorrência DisplacementMapFilter com os parâmetros especificados. | DisplacementMapFilter | ||
[substituir]
Retorna uma cópia deste objeto de filtro. | DisplacementMapFilter | ||
Indica se um objeto tem uma propriedade especificada definida. | Object | ||
Indica se uma ocorrência da classe Object está na cadeia de protótipos do objeto especificado como o parâmetro. | Object | ||
Indica se a propriedade especificada existe e é enumerável. | Object | ||
Define a disponibilidade de uma propriedade dinâmica para operações de repetição. | Object | ||
Retorna a representação da string deste objeto, formatado segundo as convenções específicas para a localidade. | Object | ||
Retorna a representação de string do objeto especificado. | Object | ||
Retorna o valor primitivo do objeto especificado. | Object |
alpha | propriedade |
alpha:Number
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
Especifica o valor da transparência alfa a ser usado para deslocamentos fora dos limites. Ele é especificado como um valor normalizado de 0,0 a 1,0. Por exemplo, ,25 define um valor de transparência de 25%. O valor padrão é 0. Use esta propriedade se a propriedade mode
estiver definida como DisplacementMapFilterMode.COLOR
.
Implementação
public function get alpha():Number
public function set alpha(value:Number):void
color | propriedade |
color:uint
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
Especifica a cor a ser usada para deslocamentos fora dos limites. A faixa válida de deslocamentos é de 0,0 a 1,0. Os valores estão no formato hexadecimal. O valor padrão para color
é 0. Use esta propriedade se a propriedade mode
estiver definida como DisplacementMapFilterMode.COLOR
.
Implementação
public function get color():uint
public function set color(value:uint):void
componentX | propriedade |
componentX:uint
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
Descreve o canal de cor a ser usado na imagem de mapa para deslocar o resultado x. Os possíveis valores são as constantes BitmapDataChannel:
BitmapDataChannel.ALPHA
BitmapDataChannel.BLUE
BitmapDataChannel.GREEN
BitmapDataChannel.RED
Implementação
public function get componentX():uint
public function set componentX(value:uint):void
Elementos da API relacionados
componentY | propriedade |
componentY:uint
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
Descreve o canal de cor a ser usado na imagem de mapa para deslocar o resultado y. Os possíveis valores são as constantes BitmapDataChannel:
BitmapDataChannel.ALPHA
BitmapDataChannel.BLUE
BitmapDataChannel.GREEN
BitmapDataChannel.RED
Implementação
public function get componentY():uint
public function set componentY(value:uint):void
Elementos da API relacionados
mapBitmap | propriedade |
mapBitmap:BitmapData
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
Objeto BitmapData contendo os dados do mapa de deslocamento.
Implementação
public function get mapBitmap():BitmapData
public function set mapBitmap(value:BitmapData):void
Lança
TypeError — O BitmapData fica nulo quando está sendo definido
|
Elementos da API relacionados
mapPoint | propriedade |
mapPoint:Point
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
Valor que contém o deslocamento do canto superior esquerdo do objeto de exibição de destino a partir do canto superior esquerdo da imagem de mapa.
Implementação
public function get mapPoint():Point
public function set mapPoint(value:Point):void
Lança
TypeError — O Ponto fica nulo quando está sendo definido
|
Elementos da API relacionados
mode | propriedade |
mode:String
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
Modo do filtro. Os possíveis valores são as constantes DisplacementMapFilterMode:
DisplacementMapFilterMode.WRAP
— Preenche o valor de deslocamento no outro lado da imagem de origem.DisplacementMapFilterMode.CLAMP
— Fixa o valor de deslocamento para a borda da imagem de origem.DisplacementMapFilterMode.IGNORE
— Se o valor de deslocamento estiver fora da faixa, ignorará o deslocamento e usará o pixel de origem.DisplacementMapFilterMode.COLOR
— Se o valor de deslocamento estiver fora da imagem, substituirá os valores nas propriedadescolor
ealpha
.
Implementação
public function get mode():String
public function set mode(value:String):void
Lança
TypeError — A String fica nula quando está sendo definida
| |
ArgumentError — A string de modo não pertence a um dos tipos válidos
|
Elementos da API relacionados
scaleX | propriedade |
scaleY | propriedade |
DisplacementMapFilter | () | Construtor |
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)
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
Inicializa uma ocorrência DisplacementMapFilter com os parâmetros especificados.
ParâmetrosmapBitmap:BitmapData (default = null ) — Objeto BitmapData contendo os dados do mapa de deslocamento.
| |
mapPoint:Point (default = null ) — Valor que contém o deslocamento do canto superior esquerdo do objeto de exibição de destino a partir do canto superior esquerdo da imagem de mapa.
| |
componentX:uint (default = 0 ) — Descreve o canal de cor a ser usado na imagem de mapa para deslocar o resultado x. Os possíveis valores são as constantes BitmapDataChannel.
| |
componentY:uint (default = 0 ) — Descreve o canal de cor a ser usado na imagem de mapa para deslocar o resultado y. Os possíveis valores são as constantes BitmapDataChannel.
| |
scaleX:Number (default = 0.0 ) — Multiplicador a ser usado para dimensionar o resultado do deslocamento x a partir do cálculo do mapa.
| |
scaleY:Number (default = 0.0 ) — Multiplicador a ser usado para dimensionar o resultado do deslocamento y a partir do cálculo do mapa.
| |
mode:String (default = "wrap ") — Modo do filtro. Os possíveis valores são as constantes DisplacementMapFilterMode.
| |
color:uint (default = 0 ) — Especifica a cor a ser usada para deslocamentos fora dos limites. A faixa válida de deslocamentos é de 0,0 a 1,0. Use este parâmetro se mode estiver definido como DisplacementMapFilterMode.COLOR .
| |
alpha:Number (default = 0.0 ) — Especifica o valor alfa a ser usado para deslocamentos fora dos limites. Ele é especificado como um valor normalizado de 0,0 a 1,0. Por exemplo, ,25 define um valor de transparência de 25%. Use este parâmetro se mode estiver definido como DisplacementMapFilterMode.COLOR .
|
Elementos da API relacionados
clone | () | método |
override public function clone():BitmapFilter
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
Retorna uma cópia deste objeto de filtro.
RetornaBitmapFilter — Uma nova ocorrência DisplacementMapFilter com todas as mesmas propriedades que a original.
|
- A classe define as variáveis para a cor do plano de fundo, para o rótulo do campo de texto e para o tamanho e o deslocamento que serão usados em várias funções.
- A função de construtor chamada o método
draw()
, que usa os métodos da classe Graphics para desenhar um quadrado com um preenchimento de gradiente radial. Note quegraphics
é a propriedade do objeto DisplacementMapFilterExample, que estende o Sprite. - A função de construtor chama o método
createLabel()
, que cria um valor de exibição do campo de texto delabelText
e o adiciona à lista de exibição. - A função de construtor chamada o método
createFilter()
, que faz o seguinte:- Cria uma variável chamada
filter
para o objeto de filtro. - Chamada o método
getDisplacementMapFilter()
e atribui seu valor de retorno à variávelfilter
. - Transmite
filter
à propriedadefilters
do objeto DisplacementFilterExample (classe principal).
- Cria uma variável chamada
- O método
getBitmapFilter()
cria um objeto BitmapData chamadomapBitmap
e atribui a ele os resultados do métodocreateBitmapData()
. O objetomapBitmap
, juntamente com outras variáveis, define um novo filtro de mapa de deslocamento. - O método
createBitmapData()
cria um novo objeto BitmapData que é baseado no conteúdo atual do objeto DisplacementMapFilterExample. Ele cria um novo bitmap baseado nobitmapData
e adiciona o bitmap ao Palco.
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); } } }
Wed Jun 13 2018, 11:10 AM Z