Kompresowanie danych bitmap

Flash Player 11.3 i nowsze wersje, AIR 3.3 i nowsze wersje

Metoda flash.display.BitmapData.encode() oferuje natywną kompresję danych bitmap. Pozwala użyć jednego z następujących formatów kompresji obrazów:

  • PNG . Używana jest kompresja PNG, opcjonalnie w wersji szybkiej. W tym przypadku priorytetem jest szybkość kompresji, a nie redukcja rozmiaru pliku. Aby użyć kompresji PNG, przekaż nowy obiekt flash.display.PNGEncoderOptions jako drugi parametr metody BitmapData.encode() .

  • JPEG . Używana jest kompresja JPEG. Opcjonalnie można określić jakość obrazu. Aby użyć kompresji JPEG, przekaż nowy obiekt flash.display.JPEGEncoderOptions jako drugi parametr metody BitmapData.encode() .

  • JPEGXR . Używana jest kompresja JPEG Extended Range (XR). Opcjonalnie można określić kanał kolorów, wybrać wersję stratną i podać ustawienia entropii. Aby użyć kompresji JPEGXR, przekaż nowy obiekt flash.display.JPEGXREncoderOptions jako drugi parametr metody BitmapData.encode() .

Ta funkcja może być używana do przetwarzania obrazów w ramach obiegu pracy wysyłania na serwer lub pobierania z serwera.

Poniższy przykładowy kod kompresuje obiekt BitmapData przy użyciu obiektu JPEGEncoderOptions .

// Compress a BitmapData object as a JPEG file. 
var bitmapData:BitmapData = new BitmapData(640,480,false,0x00FF00); 
var byteArray:ByteArray = new ByteArray(); 
bitmapData.encode(new Rectangle(0,0,640,480), new flash.display.JPEGEncoderOptions(), byteArray);