15.10.2012 Views

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

ACTIONSCRIPT 3.0 ENTWICKLERHANDBUCH<br />

Anwenden von Filtern auf Anzeigeobjekte<br />

Farbmatrix-Filter<br />

Flash Player 9 und höher, Adobe AIR 1.0 und höher<br />

Die ColorMatrixFilter-Klasse dient zum Ändern der Farb- und Alphawerte des gefilterten Objekts. Dies ermöglicht<br />

Ihnen Änderungen der Sättigung, Farbtonrotation (Verschieben einer Palette von einem Farbbereich zu einem<br />

anderen), Änderungen bei den Luminanz-Alpha-Werten sowie andere Farbänderungseffekte, bei denen Werte eines<br />

Farbkanals und potenziell auf andere Farbkanäle angewendet werden.<br />

Im Prinzip durchläuft der Filter nacheinander die Pixel im Quellbild und trennt jedes Pixel in dessen Rot-, Grün-,<br />

Blau- und Alpha-Komponenten. Dann multipliziert der Filter jeden dieser Werte mit in einer Farbmatrix<br />

bereitgestellten Werten und addiert die Ergebnisse, um den resultierenden Farbwert zu berechnen, der für dieses Pixel<br />

auf dem Bildschirm angezeigt wird. Die matrix-Eigenschaft des Filters ist ein Array von 20 Ziffern, die zur<br />

Berechnung der Ergebnisfarbe verwendet werden. Einzelheiten zu dem Algorithmus, mit dem die Farbwerte<br />

berechnet werden, finden Sie im Eintrag zur matrix-Eigenschaft der ColorMatrixFilter-Klasse im ActionScript 3.0-<br />

Referenzhandbuch für die Adobe Flash-Plattform.<br />

Convolution-Filter<br />

Flash Player 9 und höher, Adobe AIR 1.0 und höher<br />

Mit der ConvolutionFilter-Klasse können Sie zahlreiche Bildtransformationen auf Anzeigeobjekte oder BitmapData-<br />

Objekte anwenden, wie beispielsweise Weichzeichnen, Kantenerkennung, Scharfstellen, Prägen und Schliff.<br />

Im Prinzip durchläuft in der Convolution-Filter nacheinander jedes Pixel im Quellbild und berechnet die<br />

Ergebnisfarbe des Pixels aus dem Wert des Pixels und seiner umgebenden Pixel. Eine Matrix, die ein Array aus<br />

numerischen Werten darstellt, gibt an, in welchem Umfang sich der Wert eines bestimmten benachbarten Pixels auf<br />

den Ergebniswert auswirkt.<br />

Betrachten Sie den am häufigsten verwendeten Matrixtyp, eine 3 x 3-Matrix. Diese Matrix enthält neun Werte:<br />

N N N<br />

N P N<br />

N N N<br />

Wenn der Convolution-Filter auf ein bestimmtes Pixel angewendet wird, werden der Farbwert des Pixels selbst (in<br />

diesem Beispiel „P“) sowie die Werte der umgebenden Pixel (in diesem Beispiel „N“) untersucht. Durch Einstellen der<br />

Werte in der Matrix können Sie jedoch festlegen, welche Priorität bestimmte Pixel bei den Auswirkungen auf das<br />

Ergebnisbild haben.<br />

Beispielsweise lässt die folgende Matrix, wenn sie mit einem Convolution-Filter angewendet wird, das Bild<br />

vollkommen unverändert:<br />

0 0 0<br />

0 1 0<br />

0 0 0<br />

Das Bild bleibt unverändert, da der ursprüngliche Pixelwert bei der Berechnung der Ergebnispixelfarbe die relative<br />

Stärke 1 aufweist, während die Werte der umgebenden Pixel die relative Stärke 0 aufweisen, d. h., ihre Farben wirken<br />

sich nicht auf das Ergebnisbild aus.<br />

Entsprechend führt die folgende Matrix dazu, dass die Pixel des Bilds um ein Pixel nach links verschoben werden:<br />

0 0 0<br />

0 0 1<br />

0 0 0<br />

Letzte Aktualisierung 27.6.2012<br />

302

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!