Transformationsmatrizes zwischengespeicherter Bitmaps in AIR

Legen Sie die cacheAsBitmapMatrix -Eigenschaft fest, wenn Sie zwischengespeicherte Bitmaps in mobilen AIR-Anwendungen verwenden.

Im Mobil-AIR-Profil können Sie der cacheAsBitmapMatrix -Eigenschaft eines Anzeigeobjekts ein Matrix-Objekt zuweisen. Wenn Sie diese Eigenschaft festlegen, können Sie eine beliebige zweidimensionale Transformation auf das Objekt anwenden, ohne dass die zwischengespeicherte Bitmap neu generiert werden muss. Sie können auch die alpha-Eigenschaft ändern, ohne eine Neugenerierung der zwischengespeicherten Bitmap auszulösen. Die cacheAsBitmap -Eigenschaft muss ebenfalls den Wert true haben, und für das Objekt dürfen keine 3D-Eigenschaften festgelegt sein.

Das Festlegen der cacheAsBitmapMatrix -Eigenschaft generiert die zwischengespeicherte Bitmap, selbst wenn sich das Anzeigeobjekt außerhalb des Bildschirms befindet, verdeckt wird oder eine visible -Eigenschaft mit dem Wert false aufweist. Das Zurücksetzen der cacheAsBitmapMatrix -Eigenschaft durch ein Matrix-Objekt, das eine andere Transformation enthält, generiert die zwischengespeicherte Bitmap ebenfalls neu.

Die Matrix-Transformation, die Sie auf die cacheAsBitmapMatrix -Eigenschaft anwenden, wird auf das Anzeigeobjekt angewendet, wenn es in den Bitpmapcache gerendert wird. Somit ist das Bitmaprendering doppelt so groß wie das Vektorrendering, wenn die Transformation eine Zweifachskalierung enthält. Der Renderer wendet diese umgekehrte Transformation auf die zwischengespeicherte Bitmap an, sodass die endgültige Anzeige genauso aussieht. Sie können die zwischengespeicherte Bitmap auf eine kleinere Größe skalieren, um weniger Arbeitsspeicher zu benötigen; dies geht vermutlich auf Kosten der Renderinggenauigkeit. Unter Umständen möchten Sie die Bitmap auch größer skalieren, um die Renderingqualität zu verbessern, was dann mehr Arbeitsspeicher benötigt. Im Allgemeinen sollten Sie jedoch eine Identitätsmatrix verwenden, also eine Matrix, die keine Transformationen anwendet, um Änderungen am Erscheinungsbild zu vermeiden, wie im folgenden Beispiel dargestellt:

displayObject.cacheAsBitMap = true; 
displayObject.cacheAsBitmapMatrix = new Matrix();

Nachdem Sie die cacheAsBitmapMatrix -Eigenschaft festgelegt haben, können Sie das Objekt skalieren, neigen, drehen und versetzen, ohne die erneute Generierung der Bitmap auszulösen.

Sie können auch den Alphawert im Bereich 0 bis 1 ändern. Wenn Sie den Alphawert über die transform.colorTransform -Eigenschaft mit einer Farbtransformation ändern, muss der im Transformationsobjekt verwendete Alphawert zwischen 0 und 255 liegen. Wenn Sie die Farbtransformation auf andere Weise ändern, wird die zwischengespeicherte Bitmap neu generiert.

Legen Sie immer die cacheAsBitmapMatrix -Eigenschaft fest, wenn Sie cacheAsBitmap in Inhalten, der für Mobilgeräte erstellt wird, auf true einstellen. Bedenken Sie jedoch die folgende mögliche Beeinträchtigung. Nachdem ein Objekt gedreht, skaliert oder geneigt wurde, können anders als beim normalen Vektorrendering beim endgültigen Rendering Bitmapskalierungs- oder Aliasing-Artefakte auftreten.