Pacchetto | flash.display |
Classe | public class Bitmap |
Ereditarietà | Bitmap DisplayObject EventDispatcher Object |
Sottoclassi | FlexBitmap |
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bitmap()
.
La funzione di costruzione Bitmap()
consente di creare un oggetto Bitmap che contiene un riferimento a un oggetto BitmapData. Dopo aver creato un oggetto Bitmap, utilizzate il metodo addChild()
o addChildAt()
dell'istanza DisplayObjectContainer principale per inserire la bitmap nell'elenco di visualizzazione.
Un oggetto Bitmap può condividere il proprio riferimento BitmapData con vari altri oggetti Bitmap, indipendentemente dalle proprietà di traslazione o rotazione. Poiché è possibile creare più oggetti Bitmap che fanno riferimento allo stesso oggetto BitmapData, più oggetti di visualizzazione possono utilizzare lo stesso oggetto BitmapData complesso senza appesantire il carico di memoria di un oggetto BitmapData per ogni istanza di oggetto di visualizzazione.
Un oggetto BitmapData può essere disegnato sullo schermo mediante un oggetto Bitmap in due modi: utilizzando il renderer di vettori come forma di riempimento delle bitmap oppure mediante una più veloce routine di copiatura dei pixel. La routine di copiatura pixel è notevolmente più veloce del renderer di vettori, ma l'oggetto Bitmap deve soddisfare determinate condizioni:
- Nessuna operazione di allungamento, rotazione o inclinazione può essere applicata all'oggetto Bitmap.
- Nessuna trasformazione di colore può essere applicata all'oggetto Bitmap.
- Nessun metodo di fusione può essere applicato all'oggetto Bitmap.
- Nessun troncamento può essere eseguito mediante livelli maschera o metodi
setMask()
. - L'immagine stessa non può essere una maschera.
- Le coordinate di destinazione devono trovarsi su un limite di pixel intero.
Se caricate un oggetto Bitmap da un dominio diverso da quello dell'oggetto Loader utilizzato per caricare l'immagine e non esiste un file di criteri degli URL che consenta l'accesso al dominio dell'oggetto Loader, uno script di quel dominio non può accedere all'oggetto Bitmap o alle proprietà e ai metodi corrispondenti. Per ulteriori informazioni, vedete l'argomento sulla sicurezza nel Centro per sviluppatori di Flash Player .
Nota: la classe Bitmap non è una sottoclasse di InteractiveObject, quindi non può inviare eventi del mouse. Tuttavia, potete chiamare il metodo addEventListener()
del contenitore dell'oggetto di visualizzazione principale che contiene l'oggetto Bitmap.
Altri esempi
Copia dei dati bitmap
Creazione di texture mediante le funzioni di disturbo
Scorrimento delle bitmap
Esempio di bitmap: animazione di rotazione della luna
Altre informazioni
Elementi fondamentali della programmazione degli elementi visivi
Classi di visualizzazione di base
Scelta di una sottoclasse DisplayObject
Operazioni con le bitmap
Nozioni fondamentali sulle operazioni con le bitmap
Classi Bitmap e BitmapData
Decodifica asincrona delle immagini bitmap
Elementi API correlati
Proprietà | Definito da | ||
---|---|---|---|
accessibilityProperties : AccessibilityProperties
Le opzioni di accessibilità correnti di questo oggetto di visualizzazione. | DisplayObject | ||
alpha : Number
Indica il valore della trasparenza alfa dell'oggetto specificato. | DisplayObject | ||
bitmapData : BitmapData
L'oggetto BitmapData al quale viene fatto riferimento. | Bitmap | ||
blendMode : String
Un valore della classe BlendMode che specifica il metodo di fusione da utilizzare. | DisplayObject | ||
blendShader : Shader [sola scrittura]
Imposta uno shader utilizzato per la fusione dei colori di primo piano e sfondo. | DisplayObject | ||
cacheAsBitmap : Boolean
Se è impostata su true, nella cache dei runtime Flash viene memorizzata una rappresentazione bitmap interna dell'oggetto di visualizzazione. | DisplayObject | ||
cacheAsBitmapMatrix : Matrix
Se il valore è diverso da null, questo oggetto Matrix definisce il modo in cui viene eseguito il rendering di un oggetto di visualizzazione quando cacheAsBitmap è impostato su true. | DisplayObject | ||
constructor : Object
Un riferimento all'oggetto classe o alla funzione di costruzione per una determinata istanza di oggetto. | Object | ||
filters : Array
Un array indicizzato che contiene ogni oggetto filtro attualmente associato all'oggetto di visualizzazione. | DisplayObject | ||
height : Number
Indica l'altezza dell'oggetto di visualizzazione espressa in pixel. | DisplayObject | ||
loaderInfo : LoaderInfo [sola lettura]
Restituisce un oggetto LoaderInfo contenente informazioni sul caricamento del file al quale questo oggetto di visualizzazione appartiene. | DisplayObject | ||
mask : DisplayObject
L'oggetto di visualizzazione chiamante viene mascherato dall'oggetto mask specificato. | DisplayObject | ||
metaData : Object
Ottiene l’oggetto di metadati dell’istanza DisplayObject se i metadati sono stati memorizzati insieme all’istanza di questo DisplayObject nel file SWF mediante un tag PlaceObject4. | DisplayObject | ||
mouseX : Number [sola lettura]
Indica la coordinata x del mouse o la posizione del dispositivo di input dell'utente, espressa in pixel. | DisplayObject | ||
mouseY : Number [sola lettura]
Indica la coordinata y del mouse o la posizione del dispositivo di input dell'utente, espressa in pixel. | DisplayObject | ||
name : String
Indica il nome dell'istanza dell'oggetto DisplayObject. | DisplayObject | ||
opaqueBackground : Object
Specifica se l'oggetto di visualizzazione è opaco con un determinato colore di sfondo. | DisplayObject | ||
parent : DisplayObjectContainer [sola lettura]
Indica l'oggetto DisplayObjectContainer che contiene questo oggetto di visualizzazione. | DisplayObject | ||
pixelSnapping : String
Determina se l'oggetto Bitmap viene agganciato o meno al pixel più vicino. | Bitmap | ||
root : DisplayObject [sola lettura]
Nel caso di un oggetto di visualizzazione all'interno di un file SWF caricato, la proprietà principale è l'oggetto di visualizzazione più in alto nella porzione della struttura dell'elenco di visualizzazione rappresentata da quel file SWF. | DisplayObject | ||
rotation : Number
Indica la rotazione dell'istanza DisplayObject, espressa in gradi, rispetto alla posizione originale. | DisplayObject | ||
rotationX : Number
Indica la rotazione dell'asse x dell'istanza DisplayObject, espressa in gradi, rispetto all'orientamento originale relativo al contenitore principale 3D. | DisplayObject | ||
rotationY : Number
Indica la rotazione dell'asse y dell'istanza DisplayObject, espressa in gradi, rispetto all'orientamento originale relativo al contenitore principale 3D. | DisplayObject | ||
rotationZ : Number
Indica la rotazione dell'asse z dell'istanza DisplayObject, espressa in gradi, rispetto all'orientamento originale relativo al contenitore principale 3D. | DisplayObject | ||
scale9Grid : Rectangle
La griglia di modifica in scala attualmente attiva. | DisplayObject | ||
scaleX : Number
Indica la scala orizzontale (percentuale) dell'oggetto applicata dal punto di registrazione. | DisplayObject | ||
scaleY : Number
Indica la scala verticale (percentuale) di un oggetto applicata dal punto di registrazione dell'oggetto. | DisplayObject | ||
scaleZ : Number
Indica la scala di profondità (percentuale) di un oggetto applicata dal punto di registrazione dell'oggetto. | DisplayObject | ||
scrollRect : Rectangle
I limiti del rettangolo di scorrimento dell'oggetto di visualizzazione. | DisplayObject | ||
smoothing : Boolean
Determina se la bitmap viene smussata durante la modifica in scala. | Bitmap | ||
stage : Stage [sola lettura]
Lo stage dell'oggetto di visualizzazione. | DisplayObject | ||
transform : flash.geom:Transform
Un oggetto con proprietà relative alla matrice, alla trasformazione del colore e ai limiti di pixel di un oggetto di visualizzazione. | DisplayObject | ||
visible : Boolean
Determina se l'oggetto di visualizzazione è visibile o meno. | DisplayObject | ||
width : Number
Indica la larghezza dell'oggetto di visualizzazione espressa in pixel. | DisplayObject | ||
x : Number
Indica la coordinata x dell'istanza DisplayObject relativa alle coordinate locali del DisplayObjectContainer principale. | DisplayObject | ||
y : Number
Indica la coordinata y dell'istanza DisplayObject relativa alle coordinate locali del DisplayObjectContainer principale. | DisplayObject | ||
z : Number
Indica la posizione della coordinata z lungo l'asse z dell'istanza DisplayObject relativa al contenitore principale 3D. | DisplayObject |
Metodo | Definito da | ||
---|---|---|---|
Inizializza un oggetto Bitmap in modo che faccia riferimento all'oggetto BitmapData specificato. | Bitmap | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registra un oggetto listener di eventi con un oggetto EventDispatcher, in modo che il listener riceva la notifica di un evento. | EventDispatcher | ||
Invia un evento nel flusso di eventi. | EventDispatcher | ||
Restituisce un rettangolo che definisce l'area dell'oggetto di visualizzazione relativa al sistema di coordinate dell'oggetto targetCoordinateSpace. | DisplayObject | ||
Restituisce un rettangolo che definisce i bordi dell'oggetto di visualizzazione in base al sistema di coordinate definito dal parametro targetCoordinateSpace, esclusi gli eventuali tratti presenti sulle forme. | DisplayObject | ||
Converte le coordinate dello stage (globali) in quelle (locali) dell'oggetto di visualizzazione per l'oggetto Point. | DisplayObject | ||
Converte un punto bidimensionale dalle coordinate dello stage (globali) in quelle (locali) di un oggetto di visualizzazione tridimensionale. | DisplayObject | ||
Verifica se per l'oggetto EventDispatcher sono presenti listener registrati per un tipo specifico di evento. | EventDispatcher | ||
Indica se per un oggetto è definita una proprietà specifica. | Object | ||
Valuta il riquadro di delimitazione dell'oggetto di visualizzazione per verificare se si sovrappone o si interseca con il riquadro di delimitazione dell'oggetto di visualizzazione obj. | DisplayObject | ||
Valuta l'oggetto di visualizzazione per stabilire se si sovrappone o si interseca con il punto specificato dai parametri x e y. | DisplayObject | ||
Indica se un'istanza della classe Object si trova nella catena di prototipi dell'oggetto specificato come parametro. | Object | ||
Converte un punto tridimensionale delle coordinate (locali) dell'oggetto di visualizzazione tridimensionale in un punto bidimensionale nelle coordinate dello stage (globali). | DisplayObject | ||
Converte le coordinate dell'oggetto di visualizzazione (locali) in quelle dello stage (globali) per l'oggetto Point. | DisplayObject | ||
Indica se la proprietà specificata esiste ed è enumerabile. | Object | ||
Rimuove un listener dall'oggetto EventDispatcher. | EventDispatcher | ||
Imposta la disponibilità di una proprietà dinamica per le operazioni cicliche. | Object | ||
Restituisce la rappresentazione in formato stringa di questo oggetto, formattato in base alle convenzioni specifiche per le versioni localizzate. | Object | ||
Restituisce la rappresentazione in formato stringa dell'oggetto specificato. | Object | ||
Restituisce il valore di base dell'oggetto specificato. | Object | ||
Verifica se un listener di eventi è registrato con questo oggetto EventDispatcher o qualsiasi suo antenato per il tipo di evento specificato. | EventDispatcher |
bitmapData | proprietà |
bitmapData:BitmapData
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
L'oggetto BitmapData al quale viene fatto riferimento.
Implementazione
public function get bitmapData():BitmapData
public function set bitmapData(value:BitmapData):void
pixelSnapping | proprietà |
pixelSnapping:String
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Determina se l'oggetto Bitmap viene agganciato o meno al pixel più vicino. La classe PixelSnapping include i seguenti valori possibili:
PixelSnapping.NEVER
- L'aggancio ai pixel non viene eseguito.PixelSnapping.ALWAYS
- L'immagine viene sempre agganciata al pixel più vicino, indipendentemente dalla trasformazione.PixelSnapping.AUTO
- L'immagine bitmap viene agganciata al pixel più vicino se è disegnata senza alcuna rotazione o inclinazione e con un fattore di scala compreso tra 99,9% e 100,1%. Se queste condizioni sono soddisfatte, l'immagine bitmap viene disegnata con un fattore di scala del 100% e agganciata al pixel più vicino. Internamente, questo valore consente di disegnare l'immagine con la massima velocità possibile utilizzando il renderer dei vettori.
Implementazione
public function get pixelSnapping():String
public function set pixelSnapping(value:String):void
smoothing | proprietà |
smoothing:Boolean
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Determina se la bitmap viene smussata durante la modifica in scala. Se è true
, la bitmap viene smussata durante la modifica in scala. Se è false
, la bitmap non viene smussata.
Implementazione
public function get smoothing():Boolean
public function set smoothing(value:Boolean):void
Bitmap | () | Funzione di costruzione |
public function Bitmap(bitmapData:BitmapData = null, pixelSnapping:String = "auto", smoothing:Boolean = false)
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Inizializza un oggetto Bitmap in modo che faccia riferimento all'oggetto BitmapData specificato.
ParametribitmapData:BitmapData (default = null ) — L'oggetto BitmapData al quale viene fatto riferimento.
| |||
pixelSnapping:String (default = "auto ") — Indica se l'oggetto Bitmap viene agganciato o meno al pixel più vicino.
| |||
smoothing:Boolean (default = false ) — Indica se la bitmap viene smussata durante la modifica in scala. Ad esempio, gli esempi seguenti mostrano la stessa bitmap modificata in scala in base a un fattore 3, con smoothing impostato su false (sinistra) e su true (destra):
|
Esempio ( Come utilizzare questo esempio )
const IMAGE_URL:String = "http://www.helpexamples.com/flash/images/logo.png"; var ldr:Loader = new Loader(); ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, ldr_complete); ldr.load(new URLRequest(IMAGE_URL)); var bitmap1:Bitmap; var bitmap2:Bitmap; var bitmap3:Bitmap; var bitmap4:Bitmap; function ldr_complete(evt:Event):void { var bmp:Bitmap = ldr.content as Bitmap; bitmap1 = new Bitmap(bmp.bitmapData); bitmap1.x = 100; bitmap1.y = 100; bitmap1.rotation = 0; addChild(bitmap1); bitmap2 = new Bitmap(bmp.bitmapData); bitmap2.x = 200; bitmap2.y = 100; bitmap2.rotation = 90; addChild(bitmap2); bitmap3 = new Bitmap(bmp.bitmapData); bitmap3.x = 300; bitmap3.y = 100; bitmap3.rotation = 180; addChild(bitmap3); bitmap4 = new Bitmap(bmp.bitmapData); bitmap4.x = 400; bitmap4.y = 100; bitmap4.rotation = 270; addChild(bitmap4); }
threshold()
. Questa operazione viene eseguita mediante la procedura seguente:
- Viene creata una proprietà
url
, che corrisponde alla posizione e al nome del file di immagine. - La funzione di costruzione della classe chiama il metodo
configureAssets()
, il quale a propria volta chiama il metodocompleteHandler()
. configureAssets()
crea un oggetto Loader che crea un'istanza di un listener di eventi che viene inviata quando il metodocompleteHandler()
completa la manipolazione delle immagini.- A questo punto, il metodo
buildChild()
crea una nuova istanza di un oggetto URLRequest,request
, passandourl
in modo che il nome e la posizione del file siano noti. - L'oggetto
request
viene quindi passato al metodoloader.load()
, che carica l'immagine in memoria utilizzando un oggetto di visualizzazione. - L'immagine viene quindi posizionata nell'elenco di visualizzazione, che visualizza immediatamente l'immagine sullo schermo in corrispondenza delle coordinate x = 0, y = 0.
- Il metodo
completeHandler()
esegue quindi le seguenti operazioni:- Crea un secondo oggetto Loader, insieme a un oggetto Bitmap, il quale viene inizializzato con l'oggetto Loader.
- Crea un secondo oggetto Bitmap,
duplicate
, che a propria volta chiama il metododuplicateImage()
, che crea un duplicato dell'immagine originale. - Crea un nuovo oggetto BitmapData che viene assegnato all'oggetto BitmapData dell'oggetto
duplicate
. - Crea un nuovo oggetto Rectangle inizializzato con le stesse coordinate e gli stessi valori di larghezza e altezza dell'immagine originale.
- Crea un nuovo oggetto Point, che ha come valore predefinito x = 0, y = 0.
- Crea le variabili seguenti:
operation
: applica il nuovo colore quando il valore di soglia è superiore o uguale all'originale.threshold
: il valore rispetto al quale viene confrontato ogni pixel viene impostato sul grigio chiaro con un'impostazione alfa pari a 0xCC.color
: il colore su cui saranno impostati i pixel per passare la prova della soglia (in questo caso, giallo uniforme).mask
: imposta l'esatto opposto del colore (blu trasparente).copySource
: impostato su false, che indica che i valori dei pixel non vengono copiati se il valore di soglia non passa. Questo valore non ha alcun significato poiché l'immagine viene duplicata e vengono modificati solo i pixel che passano la prova della soglia.
- Chiama il metodo
threshold()
mediante le variabili che lo precedono. L'equazione della soglia risultante è la seguente:if (current pixel Value & 0x000000FF) >= (0xCCCCCCCC & 0x000000FF) then set pixel to 0xFFFFFF00
.
Note:
- È necessario compilare il file SWF con "Sicurezza riproduzione locale" impostato su "Accedi solo ai file locali".
- Questo esempio richiede che un file di nome Image.gif venga collocato nella stessa directory del file SWF.
- Si consiglia di utilizzare un'immagine con una larghezza massima di circa 80 pixel.
package { import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.Loader; import flash.display.Sprite; import flash.events.*; import flash.geom.Point; import flash.geom.Rectangle; import flash.net.URLRequest; public class BitmapExample extends Sprite { private var url:String = "Image.gif"; private var size:uint = 80; public function BitmapExample() { configureAssets(); } private function configureAssets():void { var loader:Loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler); loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); var request:URLRequest = new URLRequest(url); loader.x = size * numChildren; loader.load(request); addChild(loader); } private function duplicateImage(original:Bitmap):Bitmap { var image:Bitmap = new Bitmap(original.bitmapData.clone()); image.x = size * numChildren; addChild(image); return image; } private function completeHandler(event:Event):void { var loader:Loader = Loader(event.target.loader); var image:Bitmap = Bitmap(loader.content); var duplicate:Bitmap = duplicateImage(image); var bitmapData:BitmapData = duplicate.bitmapData; var sourceRect:Rectangle = new Rectangle(0, 0, bitmapData.width, bitmapData.height); var destPoint:Point = new Point(); var operation:String = ">="; var threshold:uint = 0xCCCCCCCC; var color:uint = 0xFFFFFF00; var mask:uint = 0x000000FF; var copySource:Boolean = true; bitmapData.threshold(bitmapData, sourceRect, destPoint, operation, threshold, color, mask, copySource); } private function ioErrorHandler(event:IOErrorEvent):void { trace("Unable to load image: " + url); } } }
Tue Jun 12 2018, 02:44 PM Z