Macierze przekształceń buforowanych bitmap w środowisku AIR

W przypadku używania buforowanych bitmap w aplikacjach AIR dla urządzeń przenośnych należy ustawić właściwość cacheAsBitmapMatrix .

W profilu AIR urządzeń przenośnych można przypisać obiekt Matrix do właściwości cacheAsBitmapMatrix obiektu wyświetlanego. Po ustawieniu tej właściwości można zastosować do obiektu dowolne przekształcenie dwuwymiarowe, nie powodując ponownego wygenerowania buforowanej bitmapy. Również zmiany właściwości alfa nie powodują ponownego wygenerowania buforowanej bitmapy. Właściwość cacheAsBitmap musi mieć wartość true , a dla obiektu nie mogą być ustawione żadne właściwości 3D.

Ustawienie właściwości cacheAsBitmapMatrix powoduje wygenerowanie buforowanej bitmapy nawet wtedy, gdy obiekt wyświetlany znajduje się poza ekranem (nie jest widoczny) lub ustawiono jego właściwość visible na false . Wyzerowanie właściwości cacheAsBitmapMatrix przy użyciu obiektu macierzy zawierającego inne przekształcenie także powoduje ponowne wygenerowanie buforowanej bitmapy.

Macierz przekształcenia zastosowana do właściwości cacheAsBitmapMatrix jest stosowana do obiektu wyświetlanego podczas jego renderowania do bufora bitmap. Oznacza to, że jeśli przekształcenie zawiera skalowanie oznaczające dwukrotne powiększenie, renderowana bitmapa jest dwa razy większa niż renderowany obraz wektorowy. Mechanizm renderujący stosuje do buforowanej bitmapy przekształcenie odwrotne, dzięki czemu obraz wynikowy wygląda tak samo. Buforowaną bitmapę można skalować w celu zmniejszenia rozmiaru i ograniczenia użycia pamięci, może to jednak pogorszyć jakość renderowanego obrazu. Skalowania bitmapy można także użyć w celu powiększenia jej rozmiaru. Niekiedy pozwala to poprawić jakość renderowanego obrazu, wymaga jednak większej ilości pamięci. Zazwyczaj należy używać macierzy jednostkowej (oznaczającej brak przekształcenia) w celu uniknięcia zmian wyglądu, tak jak to przedstawiono na poniższym przykładzie.

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

Po ustawieniu właściwości cacheAsBitmapMatrix można skalować, pochylać, obracać i przekształcać obiekt, nie wywołując ponownego generowania bitmapy.

Można również ustawić wartość alfa w zakresie od 0 do 1. W przypadku zmiany wartości alfa za pośrednictwem właściwości transform.colorTransform z przekształceniem koloru wartość alfa użyta w przekształceniu musi należeć do zakresu od 0 do 255. Każda inna zmiana przekształcenia koloru spowoduje ponowne wygenerowanie buforowanej bitmapy.

Zawsze należy ustawić właściwość cacheAsBitmapMatrix w przypadku ustawienia właściwości cacheAsBitmap na true w zawartości utworzonej dla urządzeń przenośnych. Należy wziąć pod uwagę następującą sytuację, w której to rozwiązanie może być niekorzystne. Po obróceniu, przeskalowaniu lub pochyleniu obiektu obraz uzyskany przez renderowanie może zawierać artefakty związane ze skalowaniem lub wygładzaniem, których nie będzie w przypadku normalnego renderowania wektorowego.