Classi Bitmap e BitmapDataFlash Player 9 e versioni successive, Adobe AIR 1.0 e versioni successive Le classi ActionScript 3.0 principali per l'utilizzo di immagini bitmap sono la classe Bitmap, utilizzata per visualizzare le immagini bitmap sullo schermo, e la classe BitmapData, utilizzata per accedere e manipolare i dati immagine originari di una bitmap. Nozioni fondamentali sulla classe BitmapIn quanto sottoclasse della classe DisplayObject, la classe Bitmap è la classe principale di ActionScript 3.0 per la visualizzazione delle immagini bitmap. Queste immagini possono essere state caricate tramite la classe flash.display.Loader o create dinamicamente utilizzando il costruttore Bitmap(). Quando si carica un'immagine da un'origine esterna, un oggetto Bitmap può utilizzare solo immagini in formato GIF, JPEG o PNG. Una volta creata, l'istanza Bitmap può essere considerata come un wrapper di un oggetto BitmapData di cui è necessario effettuare il rendering sullo stage. Dal momento che un'istanza Bitmap è un oggetto di visualizzazione, per manipolarla è possibile utilizzare tutte le caratteristiche e le funzionalità degli oggetti di visualizzazione. Per ulteriori informazioni sulle operazioni con gli oggetti di visualizzazione, vedete Programmazione degli elementi visivi. Aggancio ai pixel e attenuazioneOltre alle funzionalità comuni a tutti gli oggetti di visualizzazione, la classe Bitmap fornisce alcune caratteristiche aggiuntive specifiche delle immagini bitmap. La proprietà pixelSnapping della classe Bitmap determina se un oggetto Bitmap si aggancia o meno al pixel più vicino. Questa proprietà accetta una delle tre costanti definite nella classe PixelSnapping: ALWAYS, AUTO e NEVER. La sintassi per applicare l'aggancio ai pixel è la seguente: myBitmap.pixelSnapping = PixelSnapping.ALWAYS; Spesso, quando le immagini bitmap vengono modificate in scala, diventano sfocate e distorte. Per ridurre questa distorsione, utilizzate la proprietà smoothing della classe BitmapData. Questa proprietà booleana, se impostata su true, attenua (mediante antialiasing) i pixel all'interno dell'immagine quando quest'ultima viene modificata in scala. In questo modo, l'aspetto dell'immagine risulta più chiaro e naturale. Nozioni fondamentali sulla classe BitmapDataLa classe BitmapData, che si trova nel pacchetto flash.display, può essere paragonata a una fotografia istantanea dei pixel contenuti in un'immagine bitmap caricata o creata dinamicamente. Questa istantanea è rappresentata da un array di dati pixel all'interno dell'oggetto. La classe BitmapData contiene anche una serie di metodi incorporati utili per la creazione e la manipolazione dei dati pixel. Per creare un'istanza di un oggetto BitmapData, utilizzate il codice seguente: var myBitmap:BitmapData = new BitmapData(width:Number, height:Number, transparent:Boolean, fillColor:uinit); I parametri width e height specificano la dimensione della bitmap. In AIR 1.5 e Flash Player 10, la dimensione massima di un oggetto BitmapData è di 8.191 pixel in larghezza o altezza, mentre il numero totale di pixel non può essere superiore a 16.777.215. (Quindi, se un oggetto BitmapData ha una larghezza di 8.191 pixel, può avere solo una lunghezza di 2.048 pixel.) In Flash Player 9 e versioni precedenti e in AIR 1.1 e versioni precedenti, la limitazione è di 2.880 pixel in altezza e 2.880 pixel in larghezza. Il parametro transparent specifica se i dati bitmap includono un canale alfa (true) o meno (false). Il parametro fillColor è un valore di colore a 32 bit che specifica il colore di sfondo, oltre che il valore della trasparenza (se è stato impostato su true). Nell'esempio seguente viene creato un oggetto BitmapData con uno sfondo arancione trasparente per il 50%. var myBitmap:BitmapData = new BitmapData(150, 150, true, 0x80FF3300); Per effettuare il rendering di un oggetto BitmapData appena creato sullo schermo, assegnatelo o racchiudetelo in un'istanza Bitmap. A tale scopo, passate l'oggetto BitmapData come parametro della funzione di costruzione dell'oggetto Bitmap oppure assegnatelo alla proprietà bitmapData di un'istanza Bitmap esistente. Aggiungete, inoltre, l'istanza Bitmap all'elenco di visualizzazione chiamando i metodi addChild() o addChildAt() del contenitore dell'oggetto di visualizzazione che deve contenere l'istanza. Per ulteriori informazioni sulle operazioni con l'elenco di visualizzazione, vedete Aggiunta di oggetti di visualizzazione all'elenco di visualizzazione. Nell'esempio seguente viene creato un oggetto BitmapData con un riempimento rosso e viene visualizzato in un'istanza Bitmap: var myBitmapDataObject:BitmapData = new BitmapData(150, 150, false, 0xFF0000); var myImage:Bitmap = new Bitmap(myBitmapDataObject); addChild(myImage); |
|