Pakiet | flash.filters |
Klasa | public final class DisplacementMapFilter |
Dziedziczenie | DisplacementMapFilter BitmapFilter Object |
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9 |
Użycie filtra jest uzależnione od obiektu, dla którego filtr ma być stosowany:
- Aby zastosować filtry dla obiektów wyświetlanych, należy użyć właściwości
filters
. Ustawienie właściwościfilters
obiektu nie powoduje modyfikacji obiektu, a filtr można usunąć, usuwając właściwośćfilters
. - Aby stosować filtry do obiektów BitmapData, należy użyć metody
BitmapData.applyFilter()
. Wywołanie metodyapplyFilter()
dla obiektu BitmapData powoduje wygenerowanie obrazu filtrowanego ze źródłowego obiektu BitmapData za pomocą obiektu filtru.
Jeśli filtr zostanie zastosowany do obiektu wyświetlanego, właściwość cacheAsBitmap
obiektu wyświetlanego zostanie ustawiona na true
. Po usunięciu wszystkich filtrów zostaje przywrócona wartość oryginalna właściwości cacheAsBitmap
.
Filtr korzysta z następującej formuły:
dstPixel[x, y] = srcPixel[x + ((componentX(x, y) - 128) * scaleX) / 256, y + ((componentY(x, y) - 128) *scaleY) / 256)
gdzie componentX(x, y)
pobiera wartość koloru właściwości componentX
z właściwości mapBitmap
w (x - mapPoint.x,y - mapPoint.y)
.
Obraz mapy używany przez filtr jest skalowany w celu zapewnienia zgodności ze skalowaniem stołu montażowego. Nie jest skalowany, gdy skalowany jest obiekt.
Filtr obsługuje skalowanie stołu montażowego. Jednak nie są obsługiwane operacje skalowania ogólnego, rotacji ani pochylenia. Jeśli skalowany jest sam obiekt (dla właściwości scaleX
i scaleY
ustawiana jest wartość inna niż 1,0), sam efekt filtra nie jest skalowany. Jest skalowany tylko wówczas, gdy użytkownik powiększy stół montażowy.
Powiązane elementy interfejsu API
flash.display.DisplayObject.filters
flash.display.DisplayObject.cacheAsBitmap
Właściwość | Zdefiniowane przez | ||
---|---|---|---|
alpha : Number
Określa wartość przezroczystości alfa, która będzie stosowana do zniekształceń na zewnątrz obiektu. | DisplacementMapFilter | ||
color : uint
Określa, jakiej wartości koloru użyć dla przemieszczeń wychodzących poza zakres. | DisplacementMapFilter | ||
componentX : uint
Określa, jakiego kanału koloru mapy należy użyć do zniekształcenia składowej x. | DisplacementMapFilter | ||
componentY : uint
Określa, jakiego kanału koloru mapy należy użyć do zniekształcenia składowej y. | DisplacementMapFilter | ||
constructor : Object
Odwołanie do obiektu klasy lub funkcji konstruktora, dotyczące danej instancji obiektu. | Object | ||
mapBitmap : BitmapData
Obiekt BitmapData zawierający dane mapy przeniesień. | DisplacementMapFilter | ||
mapPoint : Point
Wartość określająca przesunięcie lewego górnego narożnika docelowego obiektu ekranowego względem lewego górnego narożnika mapy. | DisplacementMapFilter | ||
mode : String
Tryb filtra. | DisplacementMapFilter | ||
scaleX : Number
Mnożnik skalujący składową x uzyskaną przy użyciu mapy. | DisplacementMapFilter | ||
scaleY : Number
Mnożnik skalujący składową y uzyskaną przy użyciu mapy. | DisplacementMapFilter |
Metoda | Zdefiniowane przez | ||
---|---|---|---|
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)
Inicjuje nową instancję obiektu DisplacementMapFilter z określonymi parametrami. | DisplacementMapFilter | ||
[przesłanianie]
Zwraca kopię tego obiektu typu Filter. | DisplacementMapFilter | ||
Wskazuje, czy dla obiektu zdefiniowano określoną właściwość. | Object | ||
Wskazuje, czy instancja klasy Object należy do łańcucha prototypów obiektu określonego jako parametr. | Object | ||
Wskazuje, czy określona właściwość istnieje i jest przeliczalna. | Object | ||
Ustawia dostępność właściwości dynamicznej używanej w pętlach. | Object | ||
Zwraca ciąg reprezentujący obiekt — sformatowany zgodnie z konwencjami właściwymi dla ustawień regionalnych. | Object | ||
Zwraca ciąg reprezentujący określony obiekt. | Object | ||
Zwraca pierwotną wartość dla określonego obiektu. | Object |
alpha | właściwość |
alpha:Number
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9 |
Określa wartość przezroczystości alfa, która będzie stosowana do zniekształceń na zewnątrz obiektu. Jest określona jako wartość normalizowana z zakresu od 0,0 do 1,0. Przykład: 0,25 ustawia przezroczystość równą 25%. Wartością domyślną jest 0. Należy użyć tej właściwości, jeśli dla obiektu mode
ustawiono DisplacementMapFilterMode.COLOR
.
Implementacja
public function get alpha():Number
public function set alpha(value:Number):void
color | właściwość |
color:uint
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9 |
Określa, jakiej wartości koloru użyć dla przemieszczeń wychodzących poza zakres. Poprawne przemieszczenia należą do zakresu od 0,0 do 1,0. Wartości są w formacie szesnastkowym. Wartością domyślną color
jest 0. Należy użyć tej właściwości, jeśli dla obiektu mode
ustawiono DisplacementMapFilterMode.COLOR
.
Implementacja
public function get color():uint
public function set color(value:uint):void
componentX | właściwość |
componentX:uint
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9 |
Określa kanał koloru przeznaczony do użycia na obrazie mapy w celu przemieszczenia wynikowej współrzędnej x. Możliwe wartości to stałe BitmapDataChannel:
BitmapDataChannel.ALPHA
BitmapDataChannel.BLUE
BitmapDataChannel.GREEN
BitmapDataChannel.RED
Implementacja
public function get componentX():uint
public function set componentX(value:uint):void
Powiązane elementy interfejsu API
componentY | właściwość |
componentY:uint
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9 |
Określa kanał koloru przeznaczony do użycia na obrazie mapy w celu przemieszczenia wynikowej współrzędnej y. Możliwe wartości to stałe BitmapDataChannel:
BitmapDataChannel.ALPHA
BitmapDataChannel.BLUE
BitmapDataChannel.GREEN
BitmapDataChannel.RED
Implementacja
public function get componentY():uint
public function set componentY(value:uint):void
Powiązane elementy interfejsu API
mapBitmap | właściwość |
mapBitmap:BitmapData
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9 |
Obiekt BitmapData zawierający dane mapy przeniesień.
Implementacja
public function get mapBitmap():BitmapData
public function set mapBitmap(value:BitmapData):void
Zgłasza
TypeError — Podczas ustawiania wartość BitmapData jest równa null
|
Powiązane elementy interfejsu API
mapPoint | właściwość |
mapPoint:Point
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9 |
Wartość określająca przesunięcie lewego górnego narożnika docelowego obiektu ekranowego względem lewego górnego narożnika mapy.
Implementacja
public function get mapPoint():Point
public function set mapPoint(value:Point):void
Zgłasza
TypeError — Podczas ustawiania wartość Point jest równa null
|
Powiązane elementy interfejsu API
mode | właściwość |
mode:String
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9 |
Tryb filtra. Możliwe wartości to stałe DisplacementMapFilterMode:
DisplacementMapFilterMode.WRAP
— stosuje wartość przemieszczenia do drugiej strony obrazu źródłowego.DisplacementMapFilterMode.CLAMP
— blokuje wartość przemieszczenia do krawędzi obrazu źródłowego.DisplacementMapFilterMode.IGNORE
— jeśli wartość przemieszczenia jest poza zakresem, ignoruje przemieszczenia i korzysta ze źródłowych wartości pikseli.DisplacementMapFilterMode.COLOR
— jeśli wynik przemieszczenia znajduje się poza obrazem, zastępuje wartości właściwościcolor
ialpha
.
Implementacja
public function get mode():String
public function set mode(value:String):void
Zgłasza
TypeError — Podczas ustawiania ciąg znaków ma wartość null.
| |
ArgumentError — Do poprawnych typów nie należy tryb ciągu znaków
|
Powiązane elementy interfejsu API
scaleX | właściwość |
scaleY | właściwość |
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)
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9 |
Inicjuje nowe wystąpienie obiektu DisplacementMapFilter z określonymi parametrami.
ParametrymapBitmap:BitmapData (default = null ) — Obiekt BitmapData zawierający dane mapy zniekształcenia.
| |
mapPoint:Point (default = null ) — Wartość określająca przesunięcie lewego górnego narożnika docelowego obiektu wyświetlanego względem lewego górnego narożnika mapy.
| |
componentX:uint (default = 0 ) — Określa kanał koloru przeznaczony do użycia na obrazie mapy w celu przemieszczenia wynikowej współrzędnej x. Możliwe wartości to stałe BitmapDataChannel.
| |
componentY:uint (default = 0 ) — Określa kanał koloru przeznaczony do użycia na obrazie mapy w celu przemieszczenia wynikowej współrzędnej y. Możliwe wartości to stałe BitmapDataChannel.
| |
scaleX:Number (default = 0.0 ) — Mnożnik służący do skalowania wyniku przemieszczenia x z obliczenia mapy.
| |
scaleY:Number (default = 0.0 ) — Mnożnik służący do skalowania wyniku przemieszczenia y z obliczenia mapy.
| |
mode:String (default = "wrap ") — Tryb filtru. Możliwe wartości to stałe DisplacementMapFilterMode.
| |
color:uint (default = 0 ) — Określa kolor przeznaczony dla przemieszczeń poza zakresem. Poprawne przemieszczenia należą do zakresu od 0.0 do 1.0. Należy użyć tego parametru, jeśli dla obiektu mode ustawiono DisplacementMapFilterMode.COLOR .
| |
alpha:Number (default = 0.0 ) — Określa wartość alpha, która będzie stosowana do przemieszczeń na zewnątrz obiektu. Jest określona jako wartość normalizowana z zakresu do 1.0. Przykład: 0.25 ustawia przezroczystość równą 25%. Należy użyć tego parametru, jeśli dla obiektu mode ustawiono DisplacementMapFilterMode.COLOR .
|
Powiązane elementy interfejsu API
clone | () | metoda |
override public function clone():BitmapFilter
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9 |
Zwraca kopię tego obiektu typu Filter.
ZwracaBitmapFilter — Nowa instancja DisplacementMapFilter z wszystkimi właściwościami instancji oryginalnej.
|
- Klasa definiuje zmienne dla koloru tła, etykiety pola tekstowego oraz dla rozmiaru i przesunięcia, jakie będą używane w różnych funkcjach.
- Funkcja konstruktora wywołuje metodę
draw()
, która korzysta z metod klasy Graphics w celu narysowania kwadratu z radialnym wypełnieniem gradientowym.graphics
to właściwość obiektu DisplacementMapFilterExample, który rozszerza obiekt Sprite. - Funkcja konstruktora wywołuje metodę
createLabel()
, która tworzy pole tekstowe wyświetlające wartośćlabelText
, a następnie dodaje je do listy wyświetlania. - Funkcja konstruktora wywołuje metodę
createFilter()
, której działanie jest następujące:- Tworzy zmienną o nazwie
filter
dla obiektu filtru. - Wywołuje metodę
getDisplacementMapFilter()
i przypisuje jej wartość zwracaną do zmiennejfilter
. - Przekazuje wartość
filter
do właściwościfilters
obiektu DisplacementFilterExample (klasa główna).
- Tworzy zmienną o nazwie
- Metoda
getBitmapFilter()
tworzy obiekt BitmapData o nazwiemapBitmap
i przypisuje jemu wyniki działania metodycreateBitmapData()
. ObiektmapBitmap
, wraz z innymi zmiennymi, definiuje nową klasę przemieszczania. - Metoda
createBitmapData()
tworzy nowy obiekt BitmapData, który jest definiowany na podstawie aktualnej zawartości obiektu DisplacementMapFilterExample. Tworzy nową bitmapę ma podstawiebitmapData
i dodaje bitmapę do stołu montażowego.
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, 12:06 PM Z