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.