| 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):voidcolor | 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):voidcomponentX | 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.ALPHABitmapDataChannel.BLUEBitmapDataChannel.GREENBitmapDataChannel.RED
Implementering
public function get componentX():uint public function set componentX(value:uint):voidRelaterade 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.ALPHABitmapDataChannel.BLUEBitmapDataChannel.GREENBitmapDataChannel.RED
Implementering
public function get componentY():uint public function set componentY(value:uint):voidRelaterade 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):voidUtlö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):voidUtlö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):voidUtlö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örlabelTextoch lägger till det i visningslistan. - Konstruktorfunktionen anropar metoden
createFilter()som utför följande:- Skapar en variabel men namnet
filterför filterobjektet. - Anropar metoden
getDisplacementMapFilter()och kopplar det returnerade värdet till variabelnfilter. - Skickar
filtertillfilters-egenskapen i DisplacementFilterExample-objektet (huvudklassen).
- Skapar en variabel men namnet
- Metoden
getBitmapFilter()skapar ett BitmapData-objekt med namnetmapBitmapoch 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åbitmapDataoch 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
Dölj ärvda publika egenskaper
Visa ärvda publika egenskaper