Paket | flash.filters |
Klasse | public final class GradientGlowFilter |
Vererbung | GradientGlowFilter BitmapFilter Object |
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9 |
Die Verwendung von Filtern hängt davon ab, auf welches Objekt sie jeweils angewendet werden:
- Um Filter auf Anzeigeobjekte anzuwenden, verwenden Sie die
filters
-Eigenschaft. Durch die Einstellung derfilters
-Eigenschaft wird das betroffene Objekt selbst nicht verändert, und Sie können den Filter wieder entfernen, indem Sie diefilters
-Eigenschaft löschen. - Um Filter auf BitmapData-Objekte anzuwenden, verwenden Sie die
BitmapData.applyFilter()
-Methode. Durch den Aufruf vonapplyFilter()
bei einem BitmapData-Objekt wird das gefilterte Bild aus dem BitmapData-Quellobjekt und dem Filterobjekt generiert.
Wenn Sie einen Filter auf ein Anzeigeobjekt anwenden, wird die cacheAsBitmap
-Eigenschaft des Anzeigeobjekts auf true
gesetzt. Wenn Sie alle Filter entfernen, wird der ursprüngliche Wert von cacheAsBitmap
wiederhergestellt.
Dieser Filter unterstützt Bühnenskalierung. Allgemeine Skalierung, Drehung und Neigung werden dagegen nicht unterstützt. Wenn das Objekt selbst skaliert wird (also scaleX
und scaleY
ungleich 1,0 sind), wird der Filtereffekt nicht skaliert. Er wird nur dann skaliert, wenn die Bühne vergrößert dargestellt wird.
Ein Filter wird nicht angewendet, wenn das Ergebnisbild die maximalen Abmessungen überschreitet. In AIR 1.5 und Flash Player 10 beträgt die maximale Höhe oder Breite 8.191 Pixel; die gesamte Pixelzahl darf 16.777.215 nicht übersteigen. (Wenn ein Bild also 8.191 Pixel breit ist, darf es nur 2.048 Pixel hoch sein.) In Flash Player 9 und niedriger und AIR 1.1 und niedriger liegt die Grenze bei je 2.880 Pixel Höhe und Breite. Wenn Sie beispielsweise einen großen Movieclip mit aktiviertem Filter vergrößert darstellen, wird der Filter deaktiviert, sobald das Ergebnisbild die maximalen Abmessungen überschreitet.
Verwandte API-Elemente
flash.display.BitmapData.applyFilter()
flash.display.DisplayObject.cacheAsBitmap
flash.display.DisplayObject.filters
GlowFilter-Klasse
Eigenschaft | Definiert von | ||
---|---|---|---|
alphas : Array
Ein Array mit Alphatransparenzwerten für die entsprechenden Farben im colors-Array. | GradientGlowFilter | ||
angle : Number
Der Winkel in Grad. | GradientGlowFilter | ||
blurX : Number
Der Grad der horizontalen Weichzeichnung. | GradientGlowFilter | ||
blurY : Number
Der Grad der vertikalen Weichzeichnung. | GradientGlowFilter | ||
colors : Array
Ein Array von Farben, das einen Farbverlauf definiert. | GradientGlowFilter | ||
constructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz. | Object | ||
distance : Number
Der Offset des Glühen-Effekts. | GradientGlowFilter | ||
knockout : Boolean
Gibt an, ob für das Objekt ein Aussparungseffekt definiert wurde. | GradientGlowFilter | ||
quality : int
Gibt an, wie oft der Filter angewendet werden soll. | GradientGlowFilter | ||
ratios : Array
Ein Array mit Farbverteilungsverhältnissen für die entsprechenden Farben im colors-Array. | GradientGlowFilter | ||
strength : Number
Die Stärke des Abdrucks oder Auftragens. | GradientGlowFilter | ||
type : String
Die Platzierung des Filtereffekts. | GradientGlowFilter |
Methode | Definiert von | ||
---|---|---|---|
GradientGlowFilter(distance:Number = 4.0, angle:Number = 45, colors:Array = null, alphas:Array = null, ratios:Array = null, blurX:Number = 4.0, blurY:Number = 4.0, strength:Number = 1, quality:int = 1, type:String = "inner", knockout:Boolean = false)
Initialisiert den Filter mit den angegebenen Parametern. | GradientGlowFilter | ||
[override]
Gibt eine Kopie dieses Filterobjekts zurück. | GradientGlowFilter | ||
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde. | Object | ||
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde. | Object | ||
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann. | Object | ||
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest. | Object | ||
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas. | Object | ||
Gibt das angegebene Objekt als String zurück. | Object | ||
Gibt den Grundwert des angegebenen Objekts zurück. | Object |
alphas | Eigenschaft |
alphas:Array
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9 |
Ein Array mit Alphatransparenzwerten für die entsprechenden Farben im colors
-Array. Die zulässigen Werte der einzelnen Elemente des Arrays liegen zwischen 0 und 1. Mit dem Wert 0,25 wird beispielsweise ein Alphatransparenzwert von 25 % festgelegt.
Die alphas
-Eigenschaft kann nicht unmittelbar durch Änderung ihrer Werte geändert werden. Sie müssen vielmehr einen Verweis auf alphas
erstellen, dort die Änderungen vornehmen und dann alphas
auf den Verweis setzen.
Die Eigenschaften colors
, alphas
und ratios
stehen miteinander in Zusammenhang. Das erste Element im colors
-Array entspricht dem jeweils ersten Element im alphas
- und im ratios
-Array usw.
Implementierung
public function get alphas():Array
public function set alphas(value:Array):void
Auslöser
TypeError — Das Array ist leer, wenn gesetzt.
|
Verwandte API-Elemente
angle | Eigenschaft |
angle:Number
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9 |
Der Winkel in Grad. Die zulässigen Werte liegen zwischen 0 und 360. Der Standardwert ist 45.
Dieser Wert stellt den Winkel einer imaginären, das Objekt beleuchtenden Lichtquelle dar und bestimmt die Position des Effekts relativ zu diesem Objekt. Falls distance
auf 0 (null) gesetzt wird, ist der Versatz des Effekts gleich null und die angle
-Eigenschaft hat keine Auswirkungen.
Implementierung
public function get angle():Number
public function set angle(value:Number):void
blurX | Eigenschaft |
blurX:Number
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9 |
Der Grad der horizontalen Weichzeichnung. Die zulässigen Werte liegen zwischen 0 und 255. Eine Weichzeichnung mit einer Stärke von 1 oder weniger bedeutet, dass das Originalbild kopiert wird. Der Standardwert ist 4. Zweierpotenzen (z. B. 2, 4, 8, 16 und 32) sind optimiert und ergeben eine schnellere Anzeige als andere Werte.
Implementierung
public function get blurX():Number
public function set blurX(value:Number):void
blurY | Eigenschaft |
blurY:Number
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9 |
Der Grad der vertikalen Weichzeichnung. Die zulässigen Werte liegen zwischen 0 und 255. Eine Weichzeichnung mit einer Stärke von 1 oder weniger bedeutet, dass das Originalbild kopiert wird. Der Standardwert ist 4. Zweierpotenzen (z. B. 2, 4, 8, 16 und 32) sind optimiert und ergeben eine schnellere Anzeige als andere Werte.
Implementierung
public function get blurY():Number
public function set blurY(value:Number):void
colors | Eigenschaft |
colors:Array
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9 |
Ein Array von Farben, das einen Farbverlauf definiert. Rot beispielsweise hat den Wert 0xFF0000, Blau den Wert 0x0000FF usw.
Die colors
-Eigenschaft kann nicht direkt durch Bearbeiten der entsprechenden Werte geändert werden. Sie müssen vielmehr einen Verweis auf colors
erstellen, dort die Änderungen vornehmen und dann colors
auf den Verweis setzen.
Die Eigenschaften colors
, alphas
und ratios
stehen miteinander in Zusammenhang. Das erste Element im colors
-Array entspricht dem jeweils ersten Element im alphas
- und im ratios
-Array usw.
Implementierung
public function get colors():Array
public function set colors(value:Array):void
Auslöser
TypeError — Das Array ist leer, wenn gesetzt.
|
Verwandte API-Elemente
distance | Eigenschaft |
knockout | Eigenschaft |
knockout:Boolean
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9 |
Gibt an, ob für das Objekt ein Aussparungseffekt definiert wurde. Mit einem Aussparungseffekt wird eine transparente Füllung des Objekts definiert, die Hintergrundfarbe des Dokuments wird sichtbar. Der Wert true
gibt an, dass ein Aussparungseffekt angewendet werden soll. Der Standardwert lautet false
(kein Aussparungseffekt).
Implementierung
public function get knockout():Boolean
public function set knockout(value:Boolean):void
quality | Eigenschaft |
quality:int
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9 |
Gibt an, wie oft der Filter angewendet werden soll. Der Standardwert lautet BitmapFilterQuality.LOW
, was einer einmaligen Anwendung des Filters entspricht. Mit dem Wert BitmapFilterQuality.MEDIUM
wird der Filter zweimal angewendet und mit dem Wert BitmapFilterQuality.HIGH
dreimal. Filter mit niedrigen Werten werden schneller dargestellt.
Bei den meisten Anwendungen genügt die Angabe der niedrigen, mittleren oder hohen Qualität für quality
. Sie können zwar Werte bis 15 angeben, um unterschiedliche Effekte zu erzielen, höhere Werte führen jedoch auch zu einer langsameren Darstellung. Anstatt also den Wert von quality
zu erhöhen, können Sie einen ähnlichen Effekt mit gleichzeitig schnellerer Darstellung erzielen, indem Sie einfach die Eigenschaftswerte von blurX
und blurY
erhöhen.
Implementierung
public function get quality():int
public function set quality(value:int):void
Verwandte API-Elemente
ratios | Eigenschaft |
ratios:Array
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9 |
Ein Array mit Farbverteilungsverhältnissen für die entsprechenden Farben im colors
-Array. Die zulässigen Werte liegen zwischen 0 und 255.
Die ratios
-Eigenschaft kann nicht unmittelbar durch Bearbeitung ihrer Werte geändert werden. Sie müssen vielmehr einen Verweis auf ratios
erstellen, dort die Änderungen vornehmen und dann ratios
auf den Verweis setzen.
Die Eigenschaften colors
, alphas
und ratios
stehen miteinander in Zusammenhang. Das erste Element im colors
-Array entspricht dem jeweils ersten Element im alphas
- und im ratios
-Array usw.
Stellen Sie sich einen Glühen-Filter mit Farbverlauf als ein Glühen vor, das vom Zentrum eines Objekts ausgeht (sofern der Wert distance
auf 0 (null) gesetzt wurde) und als in einander verlaufende Farbbänder angezeigt wird. Die erste Farbe des colors
-Arrays ist die äußerste Farbe des Glühens. Die letzte Farbe stellt die innerste Farbe des Glühens dar.
Jeder Wert des ratios
-Arrays legt die Position der entsprechenden Farbe im Bereich des Farbverlaufs fest. Dabei gibt 0 den äußersten Punkt und 255 den innersten Punkt des Farbverlaufs an. Die Verhältniswerte können zwischen 0 und 255 Pixel liegen und steigen dem Wert nach an, z. B. [0, 64, 128, 200, 255]. Werte zwischen 0 und 128 werden am äußeren Rand des Glühens angezeigt, während Werte zwischen 129 und 255 am inneren Rand des Glühens dargestellt werden. In Abhängigkeit von den Verhältniswerten der Farben und dem type
-Wert des Filters werden die Filterfarben unter Umständen von dem Objekt überdeckt, auf das der Filter angewendet wird.
Im folgenden Code und Bild wird ein Filter auf einen Movieclip mit einem schwarzen Kreis angewendet. Der Typ ist dabei auf "full"
gesetzt. Aus Gründen der Nachvollziehbarkeit hat der erste Farbwert im colors
-Array (Rosa) den alpha
-Wert 1, sodass sich das Objekt gegen den weißen Hintergrund abhebt. (In einer realen Anwendung ist es eher unwahrscheinlich, dass die erste Farbe auf diese Weise angezeigt werden soll.) Die letzte Farbe des Arrays, Gelb, überdeckt den schwarzen Kreis, auf den der Filter angewendet wird:
var colors:Array = [0xFFCCFF, 0x0000FF, 0x9900FF, 0xFF0000, 0xFFFF00]; var alphas:Array = [1, 1, 1, 1, 1]; var ratios:Array = [0, 32, 64, 128, 225]; var myGGF:GradientGlowFilter = new GradientGlowFilter(0, 0, colors, alphas, ratios, 50, 50, 1, 2, "full", false);
Wenn Sie bei einem type
-Wert von "outer"
oder "full"
einen nahtlosen Übergang vom Hintergrund des Dokuments erzielen möchten, setzen Sie die erste Farbe des Arrays auf die Farbe des Dokumenthintergrunds oder setzen Sie den Alphtransparenzwert der ersten Farbe auf 0. In beiden Fällen wird der Filter an die Hintergrundfarbe angeglichen.
Wenn Sie an diesem Code zwei kleine Änderungen vornehmen, wird der Glühen-Effekt völlig anders dargestellt, auch wenn die ratios
- und colors
-Arrays unverändert belassen werden. Setzen Sie den Alphawert der ersten Farbe des Arrays auf 0 (null), damit der Filter an den weißen Dokumenthintergrund angeglichen wird, und die Eigenschaft type
auf "outer"
oder "inner"
. Sehen Sie sich die Ergebnisse an. Diese sind in den folgenden Abbildungen dargestellt.
Beachten Sie hierbei, dass die Farben im Farbverlauf anhand der Werte der Eigenschaften blurX
, blurY
, strength
und quality
sowie der ratios
-Werte verteilt werden.
Implementierung
public function get ratios():Array
public function set ratios(value:Array):void
Auslöser
TypeError — Das Array ist leer, wenn gesetzt.
|
Verwandte API-Elemente
strength | Eigenschaft |
strength:Number
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9 |
Die Stärke des Abdrucks oder Auftragens. Je höher der Wert, desto mehr Farbe wird aufgetragen und desto stärker ist der Kontrast zwischen dem Glühen und dem Hintergrund. Die zulässigen Werte liegen zwischen 0 und 255. Der Wert 0 bedeutet, dass der Filter nicht angewendet wird. Der Standardwert ist 1.
Implementierung
public function get strength():Number
public function set strength(value:Number):void
type | Eigenschaft |
type:String
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9 |
Die Platzierung des Filtereffekts. Mögliche Werte sind die „flash.filters.BitmapFilterType“-Konstanten:
BitmapFilterType.OUTER
– Glühen-Effekt am äußeren Rand des ObjektsBitmapFilterType.INNER
– Glühen-Effekt am inneren Rand des Objekts (die Standardeinstellung)BitmapFilterType.FULL
– Glühen-Effekt über dem Objekt
Implementierung
public function get type():String
public function set type(value:String):void
Auslöser
TypeError — Der String ist leer, wenn gesetzt.
|
GradientGlowFilter | () | Konstruktor |
public function GradientGlowFilter(distance:Number = 4.0, angle:Number = 45, colors:Array = null, alphas:Array = null, ratios:Array = null, blurX:Number = 4.0, blurY:Number = 4.0, strength:Number = 1, quality:int = 1, type:String = "inner", knockout:Boolean = false)
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9 |
Initialisiert den Filter mit den angegebenen Parametern.
Parameterdistance:Number (default = 4.0 ) — Der Offset des Glühen-Effekts.
| |
angle:Number (default = 45 ) — Der Winkel in Grad. Die zulässigen Werte liegen zwischen 0 und 360.
| |
colors:Array (default = null ) — Ein Array von Farben, das einen Farbverlauf definiert. Rot beispielsweise hat den Wert 0xFF0000, Blau den Wert 0x0000FF usw.
| |
alphas:Array (default = null ) — Ein Array mit Alphatransparenzwerten für die entsprechenden Farben im colors -Array. Die zulässigen Werte der einzelnen Elemente des Arrays liegen zwischen 0 und 1. Mit dem Wert 0,25 wird die Alphatransparenz beispielsweise auf 25 % gesetzt.
| |
ratios:Array (default = null ) — Ein Array von Farbverteilungsverhältnissen. Die zulässigen Werte liegen zwischen 0 und 255. Dieser Wert gibt den Breitenanteil an, in dem die Farbe mit 100 % gesampelt wird.
| |
blurX:Number (default = 4.0 ) — Der Grad der horizontalen Weichzeichnung. Die zulässigen Werte liegen zwischen 0 und 255. Eine Weichzeichnung mit einer Stärke von 1 oder weniger bedeutet, dass das Originalbild kopiert wird. Zweierpotenzen (z. B. 2, 4, 8, 16 und 32) sind optimiert und ergeben eine schnellere Anzeige als andere Werte.
| |
blurY:Number (default = 4.0 ) — Der Grad der vertikalen Weichzeichnung. Die zulässigen Werte liegen zwischen 0 und 255. Eine Weichzeichnung mit einer Stärke von 1 oder weniger bedeutet, dass das Originalbild kopiert wird. Zweierpotenzen (z. B. 2, 4, 8, 16 und 32) sind optimiert und ergeben eine schnellere Anzeige als andere Werte.
| |
strength:Number (default = 1 ) — Die Stärke des Abdrucks oder Auftragens. Je höher der Wert, desto mehr Farbe wird aufgetragen und desto stärker ist der Kontrast zwischen dem Glühen und dem Hintergrund. Die zulässigen Werte liegen zwischen 0 und 255. Je höher der Wert, desto mehr Farbe wird aufgedruckt. Der Wert 0 bedeutet, dass der Filter nicht angewendet wird.
| |
quality:int (default = 1 ) — Gibt an, wie oft der Filter angewendet werden soll. Verwenden Sie die BitmapFilterQuality-Konstanten:
Weitere Informationen finden Sie in der Beschreibung der | |
type:String (default = "inner ") — Die Platzierung des Filtereffekts. Mögliche Werte sind die flash.filters.BitmapFilterType-Konstanten:
| |
knockout:Boolean (default = false ) — Gibt an, ob für das Objekt ein Aussparungseffekt definiert wurde. Mit einem Aussparungseffekt wird eine transparente Füllung des Objekts definiert, die Hintergrundfarbe des Dokuments wird sichtbar. Der Wert true gibt an, dass ein Aussparungseffekt angewendet werden soll. Der Standardwert lautet false (kein Aussparungseffekt).
|
clone | () | Methode |
override public function clone():BitmapFilter
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9 |
Gibt eine Kopie dieses Filterobjekts zurück.
RückgabewerteBitmapFilter — Eine neue GradientGlowFilter-Instanz mit allen Eigenschaften der ursprünglichen GradientGlowFilter-Instanz.
|
- Importieren Sie die erforderlichen Klassen.
- Deklarieren Sie die globalen Variablen, mit denen das Quadrat und der Filter definiert werden.
- Erstellen Sie die Konstruktorfunktion, die Folgendes bewirkt:
- Ruft die
draw()
-Methode auf. Diese Methode verwendet Methoden der Graphics-Klasse, auf die über die Eigenschaftgraphics
der Sprite-Klasse zugegriffen wird, um ein Quadrat zu zeichnen. - Erstellt ein BitmapFilter-Objekt mit dem Namen
filter
und weist ihm den Wert zu, der sich aus dem Aufruf vongetBitmapFilter()
ergibt, mit dem der Filter erstellt wird. - Erstellt ein neues Array mit dem Namen
myFilters
und fügtfilter
hinzu. - Weist
myFilters
derfilters
-Eigenschaft des GradientGlowFilterExample-Objekts zu. Dadurch werden alle inmyFilters
vorgefundenen Filter angewendet; in diesem Fall nurfilter
.
- Ruft die
package { import flash.filters.BitmapFilter; import flash.filters.BitmapFilterQuality; import flash.filters.BitmapFilterType; import flash.filters.GradientGlowFilter; import flash.display.Sprite; public class GradientGlowFilterExample extends Sprite { private var bgColor:uint = 0xCCCCCC; private var size:uint = 80; private var offset:uint = 50; private var distance:Number = 0; private var angleInDegrees:Number = 45; private var colors:Array = [0xFFFFFF, 0xFF0000, 0xFFFF00, 0x00CCFF]; private var alphas:Array = [0, 1, 1, 1]; private var ratios:Array = [0, 63, 126, 255]; private var blurX:Number = 50; private var blurY:Number = 50; private var strength:Number = 2.5; private var quality:Number = BitmapFilterQuality.HIGH; private var type:String = BitmapFilterType.OUTER; private var knockout:Boolean = false; public function GradientGlowFilterExample() { draw(); var filter:BitmapFilter = getBitmapFilter(); var myFilters:Array = new Array(); myFilters.push(filter); filters = myFilters; } private function getBitmapFilter():BitmapFilter { return new GradientGlowFilter(distance, angleInDegrees, colors, alphas, ratios, blurX, blurY, strength, quality, type, knockout); } private function draw():void { graphics.beginFill(bgColor); graphics.drawRect(offset, offset, size, size); graphics.endFill(); } } }
Tue Jun 12 2018, 10:04 AM Z