Pacchetto | flash.filters |
Classe | public final class DisplacementMapFilter |
Ereditarietà | DisplacementMapFilter BitmapFilter Object |
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
L'uso dei filtri dipende dall'oggetto a cui il filtro viene applicato:
- per applicare i filtri a un oggetto di visualizzazione, utilizzate la relativa proprietà
filters
. L'impostazione della proprietàfilters
di un oggetto non modifica l'oggetto ed è possibile eliminare il filtro cancellando la proprietàfilters
. - Per applicare filtri a oggetti BitmapData, utilizzate il metodo
BitmapData.applyFilter()
. Quando si chiamaapplyFilter()
su un oggetto BitmapData, vengono acquisiti l'oggetto BitmapData di origine e l'oggetto filtro e viene generata un'immagine filtrata.
Se applicate un filtro a un oggetto di visualizzazione, il valore della proprietà cacheAsBitmap
dell'oggetto viene impostato su true
. Se cancellate tutti i filtri, viene ripristinato il valore originario di cacheAsBitmap
.
Il filtro utilizza la formula seguente:
dstPixel[x, y] = srcPixel[x + ((componentX(x, y) - 128) * scaleX) / 256, y + ((componentY(x, y) - 128) *scaleY) / 256)
in cui componentX(x, y)
ricava il valore di colore della proprietà componentX
dalla proprietà mapBitmap
in (x - mapPoint.x, y - mapPoint.y)
.
La mappa dell'immagine utilizzata dal filtro viene modificata in scala in modo che corrisponda alla modifica in scala dello stage. Non viene applicata alcuna modifica in scala quando viene modificato in scala l'oggetto stesso.
Questo filtro supporta la modifica in scala sullo stage, ma non supporta operazioni generiche di modifica in scala, rotazione e inclinazione. Se l'oggetto stesso viene modificato in scala (se le proprietà scaleX
e scaleY
sono impostate su un valore diverso da 1.0) il filtro non viene modificato in scala. La modifica in scala avviene solo quando si ingrandisce lo stage.
Elementi API correlati
flash.display.DisplayObject.filters
flash.display.DisplayObject.cacheAsBitmap
Proprietà | Definito da | ||
---|---|---|---|
alpha : Number
Specifica quale valore di trasparenza alfa deve essere utilizzato per gli spostamenti fuori dei limiti. | DisplacementMapFilter | ||
color : uint
Specifica quale colore utilizzare per gli spostamenti fuori dei limiti. | DisplacementMapFilter | ||
componentX : uint
Descrive il canale di colore da utilizzare nell'immagine della mappa per spostare il risultato di x. | DisplacementMapFilter | ||
componentY : uint
Descrive il canale di colore da utilizzare nell'immagine della mappa per spostare il risultato di y. | DisplacementMapFilter | ||
constructor : Object
Un riferimento all'oggetto classe o alla funzione di costruzione per una determinata istanza di oggetto. | Object | ||
mapBitmap : BitmapData
Un oggetto BitmapData contenente i dati della mappa di spostamento. | DisplacementMapFilter | ||
mapPoint : Point
Un valore che contiene l'offset dell'angolo superiore sinistro dell'oggetto di visualizzazione di destinazione rispetto all'angolo superiore sinistro dell'immagine della mappa. | DisplacementMapFilter | ||
mode : String
La modalità del filtro. | DisplacementMapFilter | ||
scaleX : Number
Il moltiplicatore da utilizzare per modificare in scala il risultato dello spostamento di x dal calcolo della mappa. | DisplacementMapFilter | ||
scaleY : Number
Il moltiplicatore da utilizzare per modificare in scala il risultato dello spostamento di y dal calcolo della mappa. | DisplacementMapFilter |
Metodo | Definito da | ||
---|---|---|---|
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)
Inizializza una nuova istanza DisplacementMapFilter con i parametri specificati. | DisplacementMapFilter | ||
[override]
Restituisce una copia di questo oggetto filtro. | DisplacementMapFilter | ||
Indica se per un oggetto è definita una proprietà specifica. | Object | ||
Indica se un'istanza della classe Object si trova nella catena di prototipi dell'oggetto specificato come parametro. | Object | ||
Indica se la proprietà specificata esiste ed è enumerabile. | Object | ||
Imposta la disponibilità di una proprietà dinamica per le operazioni cicliche. | Object | ||
Restituisce la rappresentazione in formato stringa di questo oggetto, formattato in base alle convenzioni specifiche per le versioni localizzate. | Object | ||
Restituisce la rappresentazione in formato stringa dell'oggetto specificato. | Object | ||
Restituisce il valore di base dell'oggetto specificato. | Object |
alpha | proprietà |
alpha:Number
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Specifica quale valore di trasparenza alfa deve essere utilizzato per gli spostamenti fuori dei limiti. Il valore viene specificato sotto forma di valore normalizzato compreso tra 0,0 e 1,0. Ad esempio, 0.25 imposta un valore di trasparenza del 25%. Il valore predefinito è 0. Utilizzate questa proprietà se la proprietà mode
è impostata su DisplacementMapFilterMode.COLOR
.
Implementazione
public function get alpha():Number
public function set alpha(value:Number):void
color | proprietà |
color:uint
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Specifica quale colore utilizzare per gli spostamenti fuori dei limiti. L'intervallo valido è compreso tra 0,0 e 1,0. I valori sono espressi in formato esadecimale. Il valore predefinito di color
è 0. Utilizzate questa proprietà se la proprietà mode
è impostata su DisplacementMapFilterMode.COLOR
.
Implementazione
public function get color():uint
public function set color(value:uint):void
componentX | proprietà |
componentX:uint
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Descrive il canale di colore da utilizzare nell'immagine della mappa per spostare il risultato di x. I valori possibili sono costanti di BitmapDataChannel:
BitmapDataChannel.ALPHA
BitmapDataChannel.BLUE
BitmapDataChannel.GREEN
BitmapDataChannel.RED
Implementazione
public function get componentX():uint
public function set componentX(value:uint):void
Elementi API correlati
componentY | proprietà |
componentY:uint
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Descrive il canale di colore da utilizzare nell'immagine della mappa per spostare il risultato di y. I valori possibili sono costanti di BitmapDataChannel:
BitmapDataChannel.ALPHA
BitmapDataChannel.BLUE
BitmapDataChannel.GREEN
BitmapDataChannel.RED
Implementazione
public function get componentY():uint
public function set componentY(value:uint):void
Elementi API correlati
mapBitmap | proprietà |
mapBitmap:BitmapData
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Un oggetto BitmapData contenente i dati della mappa di spostamento.
Implementazione
public function get mapBitmap():BitmapData
public function set mapBitmap(value:BitmapData):void
Genera
TypeError — Quando viene impostato, l'oggetto BitmapData è null.
|
Elementi API correlati
mapPoint | proprietà |
mapPoint:Point
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Un valore che contiene l'offset dell'angolo superiore sinistro dell'oggetto di visualizzazione di destinazione rispetto all'angolo superiore sinistro dell'immagine della mappa.
Implementazione
public function get mapPoint():Point
public function set mapPoint(value:Point):void
Genera
TypeError — Quando viene impostato, l'oggetto Point è null.
|
Elementi API correlati
mode | proprietà |
mode:String
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
La modalità del filtro. I valori possibili sono costanti di DisplacementMapFilterMode:
DisplacementMapFilter.Mode.WRAP
- Applica il valore di spostamento all'altro lato dell'immagine di origine.DisplacementMapFilter.Mode.WRAP
- Fissa il valore di spostamento al bordo dell'immagine di origine.DisplacementMapFilter.Mode.IGNORE
- Se il valore di spostamento non è incluso nell'intervallo consentito, ignora lo spostamento e utilizza il pixel di origine.DisplacementMapFilter.Mode.COLOR
- Se il valore di spostamento si trova all'esterno dell'immagine, sostituisce i valori delle proprietàcolor
ealpha
.
Implementazione
public function get mode():String
public function set mode(value:String):void
Genera
TypeError — Quando viene impostato, l'oggetto String è null.
| |
ArgumentError — La stringa della modalità non è uno dei tipi validi.
|
Elementi API correlati
scaleX | proprietà |
scaleX:Number
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Il moltiplicatore da utilizzare per modificare in scala il risultato dello spostamento di x dal calcolo della mappa.
Implementazione
public function get scaleX():Number
public function set scaleX(value:Number):void
scaleY | proprietà |
scaleY:Number
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Il moltiplicatore da utilizzare per modificare in scala il risultato dello spostamento di y dal calcolo della mappa.
Implementazione
public function get scaleY():Number
public function set scaleY(value:Number):void
DisplacementMapFilter | () | Funzione di costruzione |
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)
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Inizializza una nuova istanza DisplacementMapFilter con i parametri specificati.
ParametrimapBitmap:BitmapData (default = null ) — Un oggetto BitmapData contenente i dati della mappa di spostamento.
| |
mapPoint:Point (default = null ) — Un valore che contiene l'offset dell'angolo superiore sinistro dell'oggetto di visualizzazione di destinazione rispetto all'angolo superiore sinistro dell'immagine della mappa.
| |
componentX:uint (default = 0 ) — Descrive il canale di colore da utilizzare nell'immagine della mappa per spostare il risultato di x. I valori possibili sono le costanti di BitmapDataChannel.
| |
componentY:uint (default = 0 ) — Descrive il canale di colore da utilizzare nell'immagine della mappa per spostare il risultato di y. I valori possibili sono le costanti di BitmapDataChannel.
| |
scaleX:Number (default = 0.0 ) — Il moltiplicatore da utilizzare per modificare in scala il risultato dello spostamento di x dal calcolo della mappa.
| |
scaleY:Number (default = 0.0 ) — Il moltiplicatore da utilizzare per modificare in scala il risultato dello spostamento di y dal calcolo della mappa.
| |
mode:String (default = "wrap ") — La modalità del filtro. I valori possibili sono le costanti di DisplacementMapFilterMode.
| |
color:uint (default = 0 ) — Specifica quale colore utilizzare per gli spostamenti fuori dei limiti. L'intervallo valido è compreso tra 0,0 e 1,0. Utilizzate questo parametro se mode è impostato su DisplacementMapFilterMode.COLOR .
| |
alpha:Number (default = 0.0 ) — Specifica quale valore alfa utilizzare per gli spostamenti fuori dei limiti. Il valore viene specificato sotto forma di valore normalizzato compreso tra 0,0 e 1,0. Ad esempio, 0.25 imposta un valore di trasparenza del 25%. Utilizzate questo parametro se mode è impostato su DisplacementMapFilterMode.COLOR .
|
Elementi API correlati
clone | () | metodo |
override public function clone():BitmapFilter
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Restituisce una copia di questo oggetto filtro.
RestituisceBitmapFilter — Una nuova istanza DisplacementMapFilter con tutte le proprietà dell'originale.
|
- La classe definisce le variabili per il colore di sfondo, per l'etichetta del campo di testo e per le dimensioni e l'offset che saranno utilizzate nelle diverse funzioni.
- La funzione di costruzione chiama il metodo
draw()
, che utilizza i metodi della classe Graphics per disegnare un quadrato con un riempimento con gradiente radiale. Notate chegraphics
è una proprietà dell'oggetto DisplacementMapFilterExample, che estende Sprite. - La funzione di costruzione chiama il metodo
createLabel()
, che crea un campo di testo per la visualizzazione del valore dilabelText
e lo aggiunge all'elenco di visualizzazione. - La funzione di costruzione chiama il metodo
createFilter()
che esegue le seguenti operazioni:- Crea una variabile denominata
filter
per l'oggetto Filter. - Chiama il metodo
getDisplacementMapFilter()
e assegna il relativo valore restituito alla variabilefilter
. - Passa
filter
alla proprietàfilters
dell'oggetto DisplacementFilterExample (la classe principale).
- Crea una variabile denominata
- Il metodo
getBitmapFilter()
crea un oggetto BitmapData denominatomapBitmap
a cui assegna i risultati del metodocreateBitmapData()
. L'oggettomapBitmap
, insieme ad altre variabili, definisce un nuovo filtro mappa di spostamento. - Il metodo
createBitmapData()
crea un nuovo oggetto BitmapData basato sul contenuto corrente dell'oggetto DisplacementMapFilterExample. Crea una nuova bitmap basata subitmapData
e la aggiunge allo stage.
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:44 PM Z