15.10.2012 Views

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

ACTIONSCRIPT 3.0 ENTWICKLERHANDBUCH<br />

Verwenden von Bitmaps<br />

Erstellen eines Bitmapbilds durch Festlegen von Pixelwerten<br />

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

Ein wichtiger Aspekt beim Anwenden von Verschiebungsmatrixfiltern ist, dass eigentlich zwei Bilder verwendet<br />

werden. Das eine Bild (das Quellbild) wird tatsächlich durch den Filter verändert. In diesem Beispiel ist das Quellbild<br />

die Bitmap-Instanz mit dem Namen sphere. Das andere vom Filter verwendete Bild wird als Matrixbild bezeichnet.<br />

Das Matrixbild wird nicht auf dem Bildschirm angezeigt. Stattdessen werden die Farben der einzelnen Pixel als<br />

Eingabe der Verschiebungsfunktion verwendet. Die Farbe des Pixels an einer bestimmten (x, y)-Koordinate im<br />

Matrixbild legt fest, welche Verschiebung (der physischen Position) auf das entsprechende Pixel an dieser (x, y)-<br />

Koordinate im Quellbild angewendet wird.<br />

Daher wird für dieses Beispiel ein geeignetes Matrixbild benötigt, um mit dem Verschiebungsmatrixfilter einen<br />

Kugeleffekt zu erzeugen. Dieses Matrixbild hat einen grauen Hintergrund und stellt einen Kreis dar, der mit dem<br />

horizontalen Farbverlauf einer einzigen Farbe (Rot, von dunkel zu hell) gefüllt ist, wie im Folgenden abgebildet:<br />

Da in diesem Beispiel nur ein Matrixbild und ein Filter eingesetzt werden, wird das Matrixbild nur einmal (in der<br />

imageLoadComplete()-Methode, d. h. nach Abschluss des Ladevorgangs des externen Bilds) erzeugt. Das Matrixbild<br />

mit dem Namen fisheyeLens wird durch Aufrufen der createFisheyeMap()-Methode der MoonSphere-Klasse<br />

erstellt:<br />

var fisheyeLens:BitmapData = createFisheyeMap(radius);<br />

Innerhalb der createFisheyeMap()-Methode wird das Matrixbild Pixel für Pixel mithilfe der setPixel()-Methode<br />

der BitmapData-Klasse gezeichnet. Der vollständige Code der createFisheyeMap()-Methode ist im Folgenden<br />

aufgeführt. Im Anschluss daran finden Sie eine schrittweise Erläuterung der Funktionsweise.<br />

Letzte Aktualisierung 27.6.2012<br />

278

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

Saved successfully!

Ooh no, something went wrong!