Paket | flash.filters |
Klass | public final class BlurFilter |
Arv | BlurFilter BitmapFilter Object |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
quality
för det här filtret är inställt på låg, blir resultatet en lätt ofokuserad bild. Om egenskapen quality
är inställt på hög, liknar effekten ett gaussiskt oskärpefilter. Du kan använda filtret på alla visningsobjekt (det vill säga objekt som ärver klassen DisplayObject), till exempel MovieClip-, SimpleButton-, TextField- och Video-objekt samt BitmapData-objekt.
Om du vill skapa ett nytt filter använder du konstruktorn new BlurFilter()
. 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 använder ett filter för att visa ett objekt, anges cacheAsBitmap
-egenskapen i visningsobjektet till 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
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.
Relaterade API-element
flash.display.DisplayObject.cacheAsBitmap
flash.display.BitmapData.applyFilter()
Egenskap | Definieras med | ||
---|---|---|---|
blurX : Number
Mängden vågrät oskärpa. | BlurFilter | ||
blurY : Number
Mängden lodrät oskärpa. | BlurFilter | ||
constructor : Object
En referens till klassobjektet eller konstruktorfunktionen för en given objektinstans. | Object | ||
quality : int
Hur många gånger oskärpan ska utföras. | BlurFilter |
Metod | Definieras med | ||
---|---|---|---|
Initierar filtret med de angivna parametrarna. | BlurFilter | ||
[åsidosätt]
Returnerar en kopia av det här filterobjektet. | BlurFilter | ||
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 |
blurX | egenskap |
blurX:Number
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Mängden vågrät oskärpa. Giltiga värden är 0 till 255 (flyttal). Standardvärdet är 4. Värden som är 2-potenser (till exempel 2, 4, 8, 16 och 32) är optimerade för snabbare rendering än andra värden.
Implementering
public function get blurX():Number
public function set blurX(value:Number):void
blurY | egenskap |
blurY:Number
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Mängden lodrät oskärpa. Giltiga värden är 0 till 255 (flyttal). Standardvärdet är 4. Värden som är 2-potenser (till exempel 2, 4, 8, 16 och 32) är optimerade för snabbare rendering än andra värden.
Implementering
public function get blurY():Number
public function set blurY(value:Number):void
quality | egenskap |
quality:int
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Hur många gånger oskärpan ska utföras. Standardvärdet är BitmapFilterQuality.LOW
, vilket motsvarar en tillämpning av filtret. Värdet BitmapFilterQuality.MEDIUM
används två gånger på filtret. Värdet BitmapFilterQuality.HIGH
används tre gånger och är ungefär detsamma som gaussisk oskärpa. Filter med lägre värden renderas snabbare.
För de flesta program är ett quality
-värde på låg, medel eller hög tillräckligt. Du kan använda ytterligare numeriska värden upp till 15 för att öka antalet gånger som oskärpa används, men högre värden tar längre tid att rendera. I stället för att öka quality
-värdet kan du ofta få en liknande effekt och snabbare rendering genom att bara öka värdena för blurX
och blurY
.
Du kan använda följande BitmapFilterQuality-konstanter för att ange värden för quality
-egenskapen:
BitmapFilterQuality.LOW
BitmapFilterQuality.MEDIUM
BitmapFilterQuality.HIGH
Implementering
public function get quality():int
public function set quality(value:int):void
BlurFilter | () | Konstruktor |
public function BlurFilter(blurX:Number = 4.0, blurY:Number = 4.0, quality:int = 1)
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Initierar filtret med de angivna parametrarna. Standardvärdena ger en mjuk, ofokuserad bild.
ParametrarblurX:Number (default = 4.0 ) — Mängd oskärpa vågrätt. Giltiga värden är 0 till 255,0 (flyttalsvärde).
| |
blurY:Number (default = 4.0 ) — Mängd oskärpa lodrätt. Giltiga värden är 0 till 255,0 (flyttalsvärde).
| |
quality:int (default = 1 ) — Hur många gånger filtret ska tillämpas. Du kan ange kvaliteten med hjälp av BitmapFilterQuality-konstanterna:
Hög kvalitet är ungefär detsamma som gaussisk oskärpa. I de flesta program räcker det med dessa tre värden. Du kan använda ytterligare numeriska värden upp till 15 för att få olika effekter, men tänk på att högre värden tar längre tid att rendera. |
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 BlurFilter-instans med samma egenskaper som den ursprungliga BlurFilter-instansen.
|
- Importera de nödvändiga klasserna.
- Deklarera tre egenskaper som används i funktionen
draw()
som ritar det objekt som oskärpefiltret ska användas på. - Skapa
BlurFilterExample()
-konstruktorfunktionen som gör följande:- Anropar funktionen
draw()
, som beskrivs senare. - Deklarerar en
filter
-variabel som ett BitmapFilter-objekt och kopplar det till det returnerade värdet från ett anrop avgetBitmapFilter()
. - Skapar ett nytt Array-objekt
myFilters
och lägger tillfilter
i arrayen, och kopplarmyFilters
tillfilters
-egenskapen i BlurFilterExample-objektet. Då tillämpas alla filter som finns imyFilters
vilket i det här fallet bara ärfilter
.
- Anropar funktionen
- Skapa
getBitmapFilter()
-funktionen och skapa och ange egenskaper för filtret. - Skapa
draw()
-funktionen. Den här funktionen använder metoder i Graphics-klassen, som du får åtkomst till viagraphics
-egenskapen i Sprite-klassen, för att rita fyrkanten.
package { import flash.display.Sprite; import flash.filters.BitmapFilter; import flash.filters.BitmapFilterQuality; import flash.filters.BlurFilter; public class BlurFilterExample extends Sprite { private var bgColor:uint = 0xFFCC00; private var size:uint = 80; private var offset:uint = 50; public function BlurFilterExample() { draw(); var filter:BitmapFilter = getBitmapFilter(); var myFilters:Array = new Array(); myFilters.push(filter); filters = myFilters; } private function getBitmapFilter():BitmapFilter { var blurX:Number = 30; var blurY:Number = 30; return new BlurFilter(blurX, blurY, BitmapFilterQuality.HIGH); } private function draw():void { graphics.beginFill(bgColor); graphics.drawRect(offset, offset, size, size); graphics.endFill(); } } }
Tue Jun 12 2018, 01:40 PM Z