| 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ścifiltersobiektu 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):voidcolor | 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):voidcomponentX | 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.ALPHABitmapDataChannel.BLUEBitmapDataChannel.GREENBitmapDataChannel.RED
Implementacja
public function get componentX():uint public function set componentX(value:uint):voidPowią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.ALPHABitmapDataChannel.BLUEBitmapDataChannel.GREENBitmapDataChannel.RED
Implementacja
public function get componentY():uint public function set componentY(value:uint):voidPowią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):voidZgł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):voidZgł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ścicolorialpha.
Implementacja
public function get mode():String public function set mode(value:String):voidZgł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.graphicsto 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
filterdla obiektu filtru. - Wywołuje metodę
getDisplacementMapFilter()i przypisuje jej wartość zwracaną do zmiennejfilter. - Przekazuje wartość
filterdo właściwościfiltersobiektu DisplacementFilterExample (klasa główna).
- Tworzy zmienną o nazwie
- Metoda
getBitmapFilter()tworzy obiekt BitmapData o nazwiemapBitmapi 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 podstawiebitmapDatai 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
Ukryj dziedziczone właściwości publiczne
Pokaż dziedziczone właściwości publiczne