Paket | flash.filters |
Klass | public final class DisplacementMapFilter |
Arv | DisplacementMapFilter BitmapFilter Object |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Användningen av filter beror på för vilket objekt du tillämpar filtret:
- Om du vill tillämpa filter på ett visningsobjekt använder du
filters
-egenskapen i visningsobjektet. Inställningar avfilters
-egenskaper i ett objekt ändrar inte objektet. Du kan ta bort filtret genom att rensa egenskapenfilters
. - Om du vill använda filter på BitmapData-objekt använder du metoden
BitmapData.applyFilter()
. När du anroparapplyFilter()
på ett BitmapData-objekt används källobjektet BitmapData och filterobjektet för att skapa en filtrerad bild.
Om du använder ett filter för att visa ett objekt, anges värdet för cacheAsBitmap
-egenskapen till true
. Om du rensar alla filter återställs ursprungsvärdet cacheAsBitmap
.
Följande formel används i filtret:
dstPixel[x, y] = srcPixel[x + ((componentX(x, y) - 128) * scaleX) / 256, y + ((componentY(x, y) - 128) *scaleY) / 256)
där componentX(x, y)
hämtar färgvärdet för egenskapen componentX
från egenskapen mapBitmap
på (x - mapPoint.x ,y - mapPoint.y)
.
Mappningsbilden som används i filtret skalas så att det passar scenens skala. Den skalas inte om själva objektet är skalat.
Det här filtret stöder skalning på scenen. Allmän skalning, rotation och skevning stöds däremot inte. Om själva objektet skalas (om scaleX
och scaleY
har ett annat värde än 1.0) skalas inte filtereffekten. Det skalas endast om användaren zoomar in på scenen.
Relaterade API-element
flash.display.DisplayObject.filters
flash.display.DisplayObject.cacheAsBitmap
Egenskap | Definieras med | ||
---|---|---|---|
alpha : Number
Anger vilket alfagenomskinlighetsvärde som ska användas för objekt som flyttas utanför gränserna. | DisplacementMapFilter | ||
color : uint
Anger vilken färg som ska användas för objekt som flyttas utanför gränserna. | DisplacementMapFilter | ||
componentX : uint
Beskriver vilken färgkanal som ska användas för att ersätta x-resultatet i mappningsbilden. | DisplacementMapFilter | ||
componentY : uint
Beskriver vilken färgkanal som ska användas för att ersätta y-resultatet i mappningsbilden. | DisplacementMapFilter | ||
constructor : Object
En referens till klassobjektet eller konstruktorfunktionen för en given objektinstans. | Object | ||
mapBitmap : BitmapData
Ett BitmapData-objekt som innehåller schemadata för förskjutningen. | DisplacementMapFilter | ||
mapPoint : Point
Ett värde som innehåller förskjutningen för det övre vänstra hörnet av målvisningsobjektet från det övre vänstra hörnet av mappningsbilden. | DisplacementMapFilter | ||
mode : String
Filtrets läge. | DisplacementMapFilter | ||
scaleX : Number
Multiplikatorn som används för att skala x-ersättningsresultatet från mappningsberäkningen. | DisplacementMapFilter | ||
scaleY : Number
Multiplikatorn som används för att skala y-ersättningsresultatet från mappningsberäkningen. | DisplacementMapFilter |
Metod | Definieras med | ||
---|---|---|---|
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)
Initierar en ny DisplacementMapFilter-instans med de angivna parametrarna. | DisplacementMapFilter | ||
[åsidosätt]
Returnerar en kopia av det här filterobjektet. | DisplacementMapFilter | ||
Anger om det finns en egenskap angiven för ett objekt. | Object | ||
Anger om en instans av klassen Object finns i prototypkedjan för objektet som anges som parameter. | Object | ||
Anger om den angivna egenskapen finns och är uppräkningsbar. | Object | ||
Anger tillgänglighet för en dynamisk egenskap för slingåtgärder. | Object | ||
Returnerar det här objektets strängrepresentation, formaterad i enlighet med språkspecifika konventioner. | Object | ||
Returnerar det angivna objektets strängbeteckning. | Object | ||
Returnerar det angivna objektets primitiva värde. | Object |
alpha | egenskap |
alpha:Number
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Anger vilket alfagenomskinlighetsvärde som ska användas för objekt som flyttas utanför gränserna. Detta anges som ett normaliserat värde från 0,0 till 1,0. 0,25 innebär till exempel att genomskinlighetsvärdet är 25 %. Standardvärdet är 0. Använd den här egenskapen om mode
är inställt på DisplacementMapFilterMode.COLOR
.
Implementering
public function get alpha():Number
public function set alpha(value:Number):void
color | egenskap |
color:uint
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Anger vilken färg som ska användas för objekt som flyttas utanför gränserna. Det giltiga intervallet för förskjutningar är 0,0 till 1,0. Värdena är i hexadecimalt format. Standardvärdet för color
är 0. Använd den här egenskapen om mode
är inställt på DisplacementMapFilterMode.COLOR
.
Implementering
public function get color():uint
public function set color(value:uint):void
componentX | egenskap |
componentX:uint
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Beskriver vilken färgkanal som ska användas för att förskjuta x-resultatet i mappningsbilden. Möjliga värden är BitmapDataChannel-konstanterna:
BitmapDataChannel.ALPHA
BitmapDataChannel.BLUE
BitmapDataChannel.GREEN
BitmapDataChannel.RED
Implementering
public function get componentX():uint
public function set componentX(value:uint):void
Relaterade API-element
componentY | egenskap |
componentY:uint
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Beskriver vilken färgkanal som ska användas för att förskjuta y-resultatet i mappningsbilden. Möjliga värden är BitmapDataChannel-konstanterna:
BitmapDataChannel.ALPHA
BitmapDataChannel.BLUE
BitmapDataChannel.GREEN
BitmapDataChannel.RED
Implementering
public function get componentY():uint
public function set componentY(value:uint):void
Relaterade API-element
mapBitmap | egenskap |
mapBitmap:BitmapData
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Ett BitmapData-objekt som innehåller schemadata för förskjutningen.
Implementering
public function get mapBitmap():BitmapData
public function set mapBitmap(value:BitmapData):void
Utlöser
TypeError — BitmapData är null när den ställs in
|
Relaterade API-element
mapPoint | egenskap |
mapPoint:Point
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Ett värde som innehåller förskjutningen för det övre vänstra hörnet av målvisningsobjektet från det övre vänstra hörnet av mappningsbilden.
Implementering
public function get mapPoint():Point
public function set mapPoint(value:Point):void
Utlöser
TypeError — Punkten är null när den ställs in
|
Relaterade API-element
mode | egenskap |
mode:String
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Filtrets läge. Möjliga värden är DisplacementMapFilterMode-konstanterna:
DisplacementMapFilterMode.WRAP
– flyttar över förskjutningsvärdet till andra sidan av källbilden.DisplacementMapFilterMode.CLAMP
– klämmer ihop förskjutningsvärdet till källbildens kant.DisplacementMapFilterMode.IGNORE
– ignorerar förskjutningen och använder källpixeln om förskjutningsvärdet är utanför området.DisplacementMapFilterMode.COLOR
– om förskjutningsvärdet är utanför bilden ersätts värdena icolor
- ochalpha
-egenskaperna.
Implementering
public function get mode():String
public function set mode(value:String):void
Utlöser
TypeError — Strängen är null när den ställs in
| |
ArgumentError — Lägessträngen är inte en av de giltiga typerna
|
Relaterade API-element
scaleX | egenskap |
scaleY | egenskap |
DisplacementMapFilter | () | Konstruktor |
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)
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Initierar en ny DisplacementMapFilter-instans med de angivna parametrarna.
ParametrarmapBitmap:BitmapData (default = null ) — Ett BitmapData-objekt som innehåller schemadata för förskjutningen.
| |
mapPoint:Point (default = null ) — Ett värde som innehåller förskjutningen för det övre vänstra hörnet av målvisningsobjektet från det övre vänstra hörnet av mappningsbilden.
| |
componentX:uint (default = 0 ) — Beskriver vilken färgkanal som ska användas för att förskjuta x-resultatet i mappningsbilden. Möjliga värden är BitmapDataChannel-konstanterna.
| |
componentY:uint (default = 0 ) — Beskriver vilken färgkanal som ska användas för att förskjuta y-resultatet i mappningsbilden. Möjliga värden är BitmapDataChannel-konstanterna.
| |
scaleX:Number (default = 0.0 ) — Multiplikatorn som används för att skala x-förskjutningsresultatet från mappningsberäkningen.
| |
scaleY:Number (default = 0.0 ) — Multiplikatorn som används för att skala y-förskjutningsresultatet från mappningsberäkningen.
| |
mode:String (default = "wrap ") — Filtrets läge. Möjliga värden är DisplacementMapFilterMode-konstanterna.
| |
color:uint (default = 0 ) — Anger vilken färg som ska användas för objekt som flyttas utanför gränserna. Det giltiga intervallet för förskjutningar är 0,0 till 1,0. Använd den här parametern om mode är inställt på DisplacementMapFilterMode.COLOR .
| |
alpha:Number (default = 0.0 ) — Anger vilket alfavärde som ska användas för objekt som flyttas utanför gränserna. Detta anges som ett normaliserat värde från 0,0 till 1,0. 0,25 innebär till exempel att genomskinlighetsvärdet är 25 %. Använd den här parametern om mode är inställt på DisplacementMapFilterMode.COLOR .
|
Relaterade API-element
clone | () | metod |
override public function clone():BitmapFilter
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Returnerar en kopia av det här filterobjektet.
ReturnerarBitmapFilter — En ny instans av DisplacementMapFilter med samma egenskaper som den ursprungliga instansen.
|
- Klassen definierar variabler för bakgrundsfärgen, för textfältetiketten och för den storlek och förskjutning som ska användas i olika funktioner.
- Konstruktorfunktionen anropar
draw()
-metoden som använder metoderna för Graphics-klassen för att rita en fyrkant med en radiell övertoningsfyllning. Observera attgraphics
är en egenskap i DisplacementMapFilterExample-objektet som utökar Sprite. - Konstruktorfunktionen anropar metoden
createLabel()
som skapar ett textfält som visar värdet förlabelText
och lägger till det i visningslistan. - Konstruktorfunktionen anropar metoden
createFilter()
som utför följande:- Skapar en variabel men namnet
filter
för filterobjektet. - Anropar metoden
getDisplacementMapFilter()
och kopplar det returnerade värdet till variabelnfilter
. - Skickar
filter
tillfilters
-egenskapen i DisplacementFilterExample-objektet (huvudklassen).
- Skapar en variabel men namnet
- Metoden
getBitmapFilter()
skapar ett BitmapData-objekt med namnetmapBitmap
och kopplar det till resultatet avcreateBitmapData()
-metoden. ObjektetmapBitmap
, tillsammans med andra variabler, definierar ett nytt förskjutningsfilter. - Metoden
createBitmapData()
skapar ett nytt BitmapData-objekt som baseras på det aktuella innehållet i DisplacementMapFilterExample-objektet. Det skapar en ny bitmapp baserat påbitmapData
och lägger till bitmappsbilden i scenen.
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, 01:40 PM Z