Paket | flash.filters |
Klass | public class ShaderFilter |
Arv | ShaderFilter BitmapFilter Object |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5 |
Om du vill skapa ett nytt filter använder du konstruktorn new ShaderFilter()
. Användningen av filter beror på för vilket objekt du tillämpar filtret:
- Om du vill använda filter på filmklipp, textfält, knappar och video använder du
filters
-egenskapen (ärvs från DisplayObject). 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()
. OmapplyFilter()
anropas för ett BitmapData-objekt används BitmapData-källobjektet och filterobjektet för att generera en filtrerad bild som resultat.
Om du tillämpar ett filter på ett visningsobjekt, får cacheAsBitmap
-egenskapen värdet true. Om du tar bort alla filter återställs ursprungsvärdet cacheAsBitmap
.
Det här filtret stöder skalning på scenen. Det stöder däremot inte allmän skalning, rotering och skevning. Om själva objektet skalas (om scaleX
- och scaleY
-egenskaperna inte är 100 %) skalas inte filtret. Det skalas endast om användaren zoomar in på scenen.
Inget filter används om resultatbilden överskrider maxdimensionerna. I AIR 1.5 och Flash Player 10 är maxstorleken 8 191 pixlar i bredd eller höjd, och det totala antalet pixlar får inte överskrida 16 777 215 pixlar. (Om en bild är 8 191 pixlar bred kan den därför bara vara 2 048 pixlar hög.) I Flash Player 9 och tidigare och i AIR 1.1 och tidigare är begränsningen 2 880 pixlar i höjd och 2 880 pixlar i bredd. Om du till exempel zoomar in på ett stort filmklipp med ett filter, inaktiveras filtret om den resulterande bilden överskrider maxdimensionerna.
Om du vill ange Shader-instansen som ska användas med filtret, skickar du Shader-instansen som ett argument till konstruktorn ShaderFilter()
, eller anger den som ett värde för shader
-egenskapen.
Om du vill tillåta att skuggningsutdata sträcker sig utanför det filtrerade objektets gränser, använder du egenskaperna leftExtension
, rightExtension
, topExtension
och bottomExtension
.
Relaterade API-element
flash.display.DisplayObject.cacheAsBitmap
flash.display.BitmapData.applyFilter()
flash.display.Shader
Egenskap | Definieras med | ||
---|---|---|---|
bottomExtension : int
Storleksökningen i antal pixlar på målobjektets undersida. | ShaderFilter | ||
constructor : Object
En referens till klassobjektet eller konstruktorfunktionen för en given objektinstans. | Object | ||
leftExtension : int
Storleksökningen i antal pixlar till vänster om målobjektet. | ShaderFilter | ||
rightExtension : int
Storleksökningen i antal pixlar till höger om målobjektet. | ShaderFilter | ||
shader : Shader
Skuggningen som ska användas för filtret. | ShaderFilter | ||
topExtension : int
Storleksökningen i antal pixlar på målobjektets ovansida. | ShaderFilter |
Metod | Definieras med | ||
---|---|---|---|
ShaderFilter(shader:Shader = null)
Skapar ett nytt skuggningsfilter. | ShaderFilter | ||
Returnerar ett BitmapFilter-objekt som är en exakt kopia av det ursprungliga BitmapFilter-objektet. | BitmapFilter | ||
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 |
bottomExtension | egenskap |
bottomExtension:int
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5 |
Storleksökningen i antal pixlar på målobjektets undersida.
Storleksökningen sträcker sig utanför gränsvärdena för det målobjekt som skickas till skuggningen under körningen. Vid körningen beräknar Flash Player de normala gränsvärdena för ett filmklipp och utökar gränserna baserat på värdena för leftExtension
, rightExtension
, topExtension
och bottomExtension
.
Standardvärdet är 0.
Implementering
public function get bottomExtension():int
public function set bottomExtension(value:int):void
leftExtension | egenskap |
leftExtension:int
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5 |
Storleksökningen i antal pixlar till vänster om målobjektet.
Storleksökningen sträcker sig utanför gränsvärdena för det målobjekt som skickas till skuggningen under körningen. Vid körningen beräknar Flash Player de normala gränsvärdena för ett filmklipp och utökar gränserna baserat på värdena för leftExtension
, rightExtension
, topExtension
och bottomExtension
.
Standardvärdet är 0.
Implementering
public function get leftExtension():int
public function set leftExtension(value:int):void
rightExtension | egenskap |
rightExtension:int
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5 |
Storleksökningen i antal pixlar till höger om målobjektet.
Storleksökningen sträcker sig utanför gränsvärdena för det målobjekt som skickas till skuggningen under körningen. Vid körningen beräknar Flash Player de normala gränsvärdena för ett filmklipp och utökar gränserna baserat på värdena för leftExtension
, rightExtension
, topExtension
och bottomExtension
.
Standardvärdet är 0.
Implementering
public function get rightExtension():int
public function set rightExtension(value:int):void
shader | egenskap |
shader:Shader
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5 |
Skuggningen som ska användas för filtret.
Shadern som har tilldelats shader
-egenskapen måste ange minst ett image4
-indatavärde. Indatavärdet behöver inte anges i kod med det associerade ShaderInput-objektets input
-egenskap. I stället används automatiskt objektet som filtret tillämpas på som första indatavärde (indata med index
0). Du kan ange flera indata när du använder en skuggning som filter. I så fall måste du specificera ytterligare indata genom att ange ShaderInput-instansens input
-egenskap.
När du tilldelar en Shader-instans till den här egenskapen kopieras skuggningen internt och filteråtgärden använder sedan den interna kopian, inte en referens till den ursprungliga skuggningen. Alla ändringar som görs i skuggningen, till exempel ändringar av ett parametervärde, indata eller bytekod, tillämpas inte på den kopierade skuggningen som används för filtret. Om du vill att ändringar i skuggningen ska inkluderas i filterutdata måste du tilldela Shader-instansen på nytt till shader
-egenskapen. Som med alla filter måste du också tilldela om ShaderFilter-instansen till visningsobjektets filters
-egenskap för att kunna tillämpa filterändringarna.
Implementering
public function get shader():Shader
public function set shader(value:Shader):void
topExtension | egenskap |
topExtension:int
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5 |
Storleksökningen i antal pixlar på målobjektets ovansida.
Storleksökningen sträcker sig utanför gränsvärdena för det målobjekt som skickas till skuggningen under körningen. Vid körningen beräknar Flash Player de normala gränsvärdena för ett filmklipp och utökar gränserna baserat på värdena för leftExtension
, rightExtension
, topExtension
och bottomExtension
.
Standardvärdet är 0.
Implementering
public function get topExtension():int
public function set topExtension(value:int):void
ShaderFilter | () | Konstruktor |
public function ShaderFilter(shader:Shader = null)
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5 |
Skapar ett nytt skuggningsfilter.
Parametrarshader:Shader (default = null ) — Skuggningen som ska användas för filtret. Mer information och krav som skuggningen måste uppfylla finns i beskrivningen av shader -egenskapen.
|
Relaterade API-element
shader
-egenskap för ett ShaderFilter. Koden ritar en cirkel i en Sprite-instans och lägger till den på scenen. När skuggningen läses in tillämpas skuggningsfiltret på Spriten.
Observera att exemplet utgår från att det finns en skuggningsbytekodfil som heter ”gradient.pbj” i samma katalog som programmets utdatakatalog.
// // Source code for the shader: // <languageVersion : 1.0;> kernel RedGradientFilter < namespace: "Adobe::Example"; vendor: "Adobe examples"; version: 1; description: "Applies a gradient across the red channel of the input image."; > { input image4 src; output pixel4 dst; parameter float width < description: "The width of the image to which the shader is applied."; minValue: 0.0; >; void evaluatePixel() { pixel4 temp = sampleNearest(src, outCoord()); temp.r = 1.0 - (outCoord().x * (1.0 / width)); dst = temp; } } // // ActionScript source code: // package { import flash.display.Shader; import flash.display.Sprite; import flash.events.Event; import flash.filters.ShaderFilter; import flash.net.URLLoader; import flash.net.URLLoaderDataFormat; import flash.net.URLRequest; public class ShaderFilterExample extends Sprite { private var loader:URLLoader; private var s:Sprite; public function ShaderFilterExample() { loader = new URLLoader(); loader.dataFormat = URLLoaderDataFormat.BINARY; loader.addEventListener(Event.COMPLETE, loadCompleteHandler); loader.load(new URLRequest("gradient.pbj")); s = new Sprite(); s.graphics.beginFill(0x009900); s.graphics.drawCircle(100, 100, 100); addChild(s); } private function loadCompleteHandler(event:Event):void { var shader:Shader = new Shader(loader.data); shader.data.width.value = [s.width]; var gradientFilter:ShaderFilter = new ShaderFilter(shader); s.filters = [gradientFilter]; } } }
Tue Jun 12 2018, 01:40 PM Z