Pakket | flash.filters |
Klasse | public final class DisplacementMapFilter |
Overerving | DisplacementMapFilter BitmapFilter Object |
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9 |
Het gebruik van filters is afhankelijk van het object waarop u het filter toepast:
- Wanneer u filters wilt toepassen op een weergaveobject, gebruikt u de eigenschap
filters
van het weergaveobject. Het instellen van de eigenschapfilters
van een object wijzigt het object niet en het filter kan ongedaan worden gemaakt door de eigenschapfilters
te wissen. - Wanneer u filters wilt toepassen op objecten BitmapData, gebruikt u de methode
BitmapData.applyFilter()
. WanneerapplyFilter()
op een object BitmapData wordt aangeroepen, wordt aan de hand van het bronobject BitmapData en het filterobject een gefilterde afbeelding gegenereerd.
Wanneer u een filter toepast op een weergaveobject, wordt de waarde van de eigenschap cacheAsBitmap
van het weergaveobject op true
ingesteld. Wanneer u alle filters wist, wordt de oorspronkelijke waarde van cacheAsBitmap
hersteld.
Het filter gebruikt de volgende formule:
dstPixel[x, y] = srcPixel[x + ((componentX(x, y) - 128) * scaleX) / 256, y + ((componentY(x, y) - 128) *scaleY) / 256)
waarbij componentX(x, y)
de eigenschapskleurwaarde componentX
van de eigenschap mapBitmap
ophaalt bij (x - mapPoint.x ,y - mapPoint.y)
.
De kaartafbeelding die door het filter wordt gebruikt, is geschaald om overeen te komen met de schaal van het werkgebied. Deze wordt niet geschaald wanneer het object zelf wordt geschaald.
Dit filter ondersteunt werkgebiedschaling. Algemene schaling, rotatie en scheeftrekken worden echter niet ondersteund. Wanneer het object zelf wordt geschaald (wanneer de eigenschappen scaleX
en scaleY
worden ingesteld op een andere waarde dan 1,0), wordt het filter niet geschaald. Het wordt alleen geschaald wanneer de gebruiker op het werkgebied inzoomt.
Verwante API-elementen
flash.display.DisplayObject.filters
flash.display.DisplayObject.cacheAsBitmap
Eigenschap | Gedefinieerd door | ||
---|---|---|---|
alpha : Number
Geeft de alpha-transparantiewaarde op die voor verschuivingen buiten de grenzen moet worden gebruikt. | DisplacementMapFilter | ||
color : uint
Geeft op welke kleur voor verschuivingen buiten de grenzen moet worden gebruikt. | DisplacementMapFilter | ||
componentX : uint
Beschrijft welk kleurkanaal in de kaartafbeelding moet worden gebruikt om het x-resultaat te verschuiven. | DisplacementMapFilter | ||
componentY : uint
Beschrijft welk kleurkanaal in de kaartafbeelding moet worden gebruikt om het y-resultaat te verschuiven. | DisplacementMapFilter | ||
constructor : Object
Verwijzing naar het klasseobject of de constructorfunctie van een bepaalde objectinstantie. | Object | ||
mapBitmap : BitmapData
Een object BitmapData met verschuivingskaartgegevens. | DisplacementMapFilter | ||
mapPoint : Point
Een waarde die de verschuiving van de linkerbovenhoek van het doelweergaveobject vanaf de linkerbovenhoek van de kaartafbeelding aangeeft. | DisplacementMapFilter | ||
mode : String
De modus voor het filter. | DisplacementMapFilter | ||
scaleX : Number
De vermenigvuldiger die moet worden gebruikt om het x-verschuivingsresultaat van de verschuivingskaartberekening te schalen. | DisplacementMapFilter | ||
scaleY : Number
De vermenigvuldiger die moet worden gebruikt om het y-verschuivingsresultaat van de verschuivingskaartberekening te schalen. | DisplacementMapFilter |
Methode | Gedefinieerd door | ||
---|---|---|---|
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)
Initialiseert een instantie DisplacementMapFilter met de opgegeven parameters. | DisplacementMapFilter | ||
[overschrijven]
Retourneert een kopie van dit filterobject. | DisplacementMapFilter | ||
Geeft aan of voor een object een opgegeven eigenschap is gedefinieerd. | Object | ||
Geeft aan of een instantie van de klasse Object zich in de prototypeketen van het object bevindt dat als parameter is opgegeven. | Object | ||
Geeft aan of de opgegeven eigenschap bestaat en kan worden opgesomd. | Object | ||
Stelt de beschikbaarheid van een dynamische eigenschap voor lusbewerkingen in. | Object | ||
Geeft de tekenreeksweergave van dit object weer, geformatteerd volgens de locatiespecifieke conventies. | Object | ||
Retourneert een tekenreeksrepresentatie van het opgegeven object. | Object | ||
Retourneert de primitieve waarde van het opgegeven object. | Object |
alpha | eigenschap |
alpha:Number
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9 |
Geeft de alpha-transparantiewaarde op die voor verschuivingen buiten de grenzen moet worden gebruikt. Deze wordt als een genormaliseerde waarde van 0,0 tot en met 1,0 opgegeven. De waarde .25 stelt bijvoorbeeld een transparantiewaarde in van 25%. De standaardwaarde is 0. Gebruik deze eigenschap wanneer de eigenschap mode
opDisplacementMapFilterMode.COLOR
is ingesteld.
Implementatie
public function get alpha():Number
public function set alpha(value:Number):void
color | eigenschap |
color:uint
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9 |
Geeft op welke kleur voor verschuivingen buiten de grenzen moet worden gebruikt. De geldige reeks verschuivingen loopt van 0,0 tot en met 1,0. De waarden hebben een hexadecimale indeling. De standaardwaarde van color
is 0. Gebruik deze eigenschap wanneer de eigenschap mode
opDisplacementMapFilterMode.COLOR
is ingesteld.
Implementatie
public function get color():uint
public function set color(value:uint):void
componentX | eigenschap |
componentX:uint
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9 |
Beschrijft welk kleurkanaal in de kaartafbeelding moet worden gebruikt om het x-resultaat te verschuiven. Mogelijke waarden zijn de BitmapDataChannel-constanten:
BitmapDataChannel.ALPHA
BitmapDataChannel.BLUE
BitmapDataChannel.GREEN
BitmapDataChannel.RED
Implementatie
public function get componentX():uint
public function set componentX(value:uint):void
Verwante API-elementen
componentY | eigenschap |
componentY:uint
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9 |
Beschrijft welk kleurkanaal in de kaartafbeelding moet worden gebruikt om het y-resultaat te verschuiven. Mogelijke waarden zijn de BitmapDataChannel-constanten:
BitmapDataChannel.ALPHA
BitmapDataChannel.BLUE
BitmapDataChannel.GREEN
BitmapDataChannel.RED
Implementatie
public function get componentY():uint
public function set componentY(value:uint):void
Verwante API-elementen
mapBitmap | eigenschap |
mapBitmap:BitmapData
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9 |
Een object BitmapData met verschuivingskaartgegevens.
Implementatie
public function get mapBitmap():BitmapData
public function set mapBitmap(value:BitmapData):void
Gegenereerde uitzondering
TypeError — De BitmapData is null wanneer deze wordt ingesteld.
|
Verwante API-elementen
mapPoint | eigenschap |
mapPoint:Point
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9 |
Een waarde die de verschuiving van de linkerbovenhoek van het doelweergaveobject vanaf de linkerbovenhoek van de kaartafbeelding aangeeft.
Implementatie
public function get mapPoint():Point
public function set mapPoint(value:Point):void
Gegenereerde uitzondering
TypeError — De Point is null wanneer deze wordt ingesteld.
|
Verwante API-elementen
mode | eigenschap |
mode:String
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9 |
De modus voor het filter. Mogelijke waarden zijn de DisplacementMapFilterMode-constanten:
DisplacementMapFilterMode.WRAP
— Laat de verschuivingswaarde naar de andere kant van de bronafbeelding doorlopen.DisplacementMapFilterMode.CLAMP
— Klemt de verschuivingswaarde vast aan de rand van de bronafbeelding.DisplacementMapFilterMode.IGNORE
— Wanneer de verschuivingswaarde buiten bereik valt, wordt de verschuiving genegeerd en wordt de bronpixel gebruikt.DisplacementMapFilterMode.COLOR
— Wanneer de verschuivingswaarde buiten de afbeelding valt, worden de waarden in de eigenschappencolor
enalpha
vervangen.
Implementatie
public function get mode():String
public function set mode(value:String):void
Gegenereerde uitzondering
TypeError — De String is null wanneer deze wordt ingesteld.
| |
ArgumentError — De modustekenreeks is geen geldig type.
|
Verwante API-elementen
scaleX | eigenschap |
scaleX:Number
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9 |
De vermenigvuldiger die moet worden gebruikt om het x-verschuivingsresultaat van de verschuivingskaartberekening te schalen.
Implementatie
public function get scaleX():Number
public function set scaleX(value:Number):void
scaleY | eigenschap |
scaleY:Number
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9 |
De vermenigvuldiger die moet worden gebruikt om het y-verschuivingsresultaat van de verschuivingskaartberekening te schalen.
Implementatie
public function get scaleY():Number
public function set scaleY(value:Number):void
DisplacementMapFilter | () | Constructor |
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)
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9 |
Initialiseert een instantie DisplacementMapFilter met de opgegeven parameters.
ParametersmapBitmap:BitmapData (default = null ) — Een object BitmapData met verschuivingskaartgegevens.
| |
mapPoint:Point (default = null ) — Een waarde die de verschuiving van de linkerbovenhoek van het doelweergaveobject vanaf de linkerbovenhoek van de kaartafbeelding aangeeft.
| |
componentX:uint (default = 0 ) — Beschrijft welk kleurkanaal in de kaartafbeelding moet worden gebruikt om het x-resultaat te verschuiven. Mogelijke waarden zijn de BitmapDataChannel-constanten.
| |
componentY:uint (default = 0 ) — Beschrijft welk kleurkanaal in de kaartafbeelding moet worden gebruikt om het y-resultaat te verschuiven. Mogelijke waarden zijn de BitmapDataChannel-constanten.
| |
scaleX:Number (default = 0.0 ) — De vermenigvuldiger die moet worden gebruikt om het x-verschuivingsresultaat van de verschuivingskaartberekening te schalen.
| |
scaleY:Number (default = 0.0 ) — De vermenigvuldiger die moet worden gebruikt om het y-verschuivingsresultaat van de verschuivingskaartberekening te schalen.
| |
mode:String (default = "wrap ") — De modus van het filter Mogelijke waarden zijn de DisplacementMapFilterMode-constanten.
| |
color:uint (default = 0 ) — Geeft de kleur op voor verschuivingen buiten de grenzen. De geldige reeks verschuivingen loopt van 0,0 tot en met 1,0. Gebruik deze parameter wanneer mode opDisplacementMapFilterMode.COLOR is ingesteld.
| |
alpha:Number (default = 0.0 ) — Geeft op welke alpha moet worden gebruikt voor verschuivingen buiten de grenzen. Deze wordt als een genormaliseerde waarde van 0,0 tot en met 1,0 opgegeven. De waarde .25 stelt bijvoorbeeld een transparantiewaarde in van 25%. Gebruik deze parameter wanneer mode opDisplacementMapFilterMode.COLOR is ingesteld.
|
Verwante API-elementen
clone | () | methode |
override public function clone():BitmapFilter
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9 |
Retourneert een kopie van dit filterobject.
Geretourneerde waardeBitmapFilter — Een nieuwe instantie DisplacementMapFilter met dezelfde eigenschappen als de oorspronkelijke instantie.
|
- De klasse definieert variabelen voor de achtergrondkleur, voor het tekstveldlabel en voor de grootte en verschuiving die in verschillende functies wordt gebruikt.
- De constructorfunctie roept de methode
draw()
aan, die de methoden van de klasse Graphics gebruikt om een vierkant met radiaal verlopende vulling te tekenen.graphics
is een eigenschap van het object DisplacementMapFilterExample, dat Sprite uitbreidt. - De constructorfunctie roept de methode
createLabel()
aan, die een tekstveld maakt waarin de waarde vanlabelText
wordt weergegeven, en voegt dit toe aan het weergaveoverzicht. - De constructorfunctie roept de methode
createFilter()
aan, die het volgende doet:- Maakt een variabele met de naam
filter
voor het filterobject. - Roept de methode
getDisplacementMapFilter()
aan en wijst de geretourneerde waarde toe aan de variabelefilter
. - Geeft
filter
door aan de eigenschapfilters
van het object DisplacementFilterExample (de hoofdklasse).
- Maakt een variabele met de naam
- De methode
getBitmapFilter()
maakt een object BitmapData met de naammapBitmap
en wijst er de resultaten van de methodecreateBitmapData()
aan toe. Het objectmapBitmap
definieert, samen met andere variabelen, een nieuw verschuivingsmapfilter. - De methode
createBitmapData()
maakt een nieuw object BitmapData dat is gebaseerd op de huidige inhoud van het object DisplacementMapFilterExample. Het maakt een nieuwe bitmap op basis vanbitmapData
en voegt de bitmap toe aan het werkgebied.
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:42 AM Z