Paquete | flash.display |
Clase | public class Bitmap |
Herencia | Bitmap DisplayObject EventDispatcher Object |
Subclases | FlexBitmap |
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bitmap()
.
El constructor Bitmap()
permite crear un objeto Bitmap que contiene una referencia a un objeto BitmapData. Tras crear un objeto Bitmap, utilice el método addChild()
o addChildAt()
de la instancia DisplayObjectContainer principal para situar el mapa de bits en la lista de visualización.
Un objeto Bitmap puede compartir su referencia a BitmapData con varios objetos Bitmap, con independencia de las propiedades de traslación o rotación. Dado que puede crear varios objetos Bitmap que hagan referencia al mismo objeto BitmapData, varios objetos de visualización pueden utilizar el mismo objeto BitmapData complejo sin sobrecargar el uso de la memoria de un objeto BitmapData por cada instancia de objeto de visualización.
Un objeto Bitmap puede dibujar en pantalla un objeto BitmapData de dos formas: con el procesador de vectores como figura de relleno de mapa de bits o con una rutina de copia de píxeles más rápida. La rutina de copia de píxeles es considerablemente más rápida que el procesador de vectores, pero el objeto Bitmap debe cumplir determinadas condiciones para utilizarla:
- No se puede aplicar expansión, rotación ni sesgo al objeto Bitmap.
- No se puede aplicar transformación de color al objeto Bitmap.
- No se puede aplicar modo de mezcla al objeto Bitmap.
- No se puede realizar ningún recorte a través de capas de máscara o métodos
setMask()
. - La imagen en sí misma no puede ser una máscara.
- Las coordenadas de destino deben estar en un límite de un píxel completo.
Si carga un objeto Bitmap de un dominio que no sea el del objeto Loader empleado para cargar la imagen y no hay ningún archivo de política de URL que permita el acceso al dominio del objeto Loader, un script de dicho dominio no podrá obtener acceso al objeto Bitmap ni a sus propiedades y métodos. Para obtener más información, consulte el tema del Centro de desarrollo de Flash Player Seguridad.
Nota: la clase Bitmap no es una subclase de la clase InteractiveObject, por lo que no puede distribuir eventos de ratón. Sin embargo, puede utilizar el método addEventListener()
del contenedor del objeto de visualización que contiene el objeto Bitmap.
Elementos de API relacionados
Propiedad | Definido por | ||
---|---|---|---|
accessibilityProperties : AccessibilityProperties
Las opciones de accesibilidad actuales para este objeto de visualización. | DisplayObject | ||
alpha : Number
Indica el valor de transparencia alfa del objeto especificado. | DisplayObject | ||
bitmapData : BitmapData
El objeto BitmapData al que se hace referencia. | Bitmap | ||
blendMode : String
Un valor de la clase BlendMode que especifica el modo de mezcla que debe utilizarse. | DisplayObject | ||
blendShader : Shader [solo escritura]
Define un sombreado para utilizarlo en la mezcla del primer plano y del fondo. | DisplayObject | ||
cacheAsBitmap : Boolean
Si se define como true, los motores de ejecución de Flash dejan en caché una representación interna de mapa de bits del objeto de visualización. | DisplayObject | ||
cacheAsBitmapMatrix : Matrix
Si su valor no es null, este objeto Matrix define cómo un objeto de visualización se procesa cuando cacheAsBitmap se define como true. | DisplayObject | ||
constructor : Object
Una referencia a la clase de objeto o función constructora para una instancia de objeto determinada. | Object | ||
filters : Array
Conjunto indexado que contiene todos los objetos de filtro actualmente asociados con el objeto de visualización. | DisplayObject | ||
height : Number
Indica la altura del objeto de visualización, expresada en píxeles. | DisplayObject | ||
loaderInfo : LoaderInfo [solo lectura]
Devuelve un objeto LoaderInfo que contiene información sobre la carga del archivo al que pertenece este objeto de visualización. | DisplayObject | ||
mask : DisplayObject
El objeto de visualización que origina la llamada se enmascara mediante el objeto mask especificado. | DisplayObject | ||
metaData : Object
Obtiene el objeto de metadatos de la instancia de DisplayObject si los metadatos se almacenaron con la instancia de este objeto DisplayObject en el archivo SWF a través de una etiqueta PlaceObject4. | DisplayObject | ||
mouseX : Number [solo lectura]
Indica la coordenada x de la posición del ratón o del dispositivo de entrada del usuario, en píxeles. | DisplayObject | ||
mouseY : Number [solo lectura]
Indica la coordenada y de la posición del ratón o del dispositivo de entrada del usuario, en píxeles. | DisplayObject | ||
name : String
Indica el nombre de instancia de DisplayObject. | DisplayObject | ||
opaqueBackground : Object
Especifica si el objeto de visualización es opaco con un determinado color de fondo. | DisplayObject | ||
parent : DisplayObjectContainer [solo lectura]
Indica el objeto DisplayObjectContainer que contiene este objeto de visualización. | DisplayObject | ||
pixelSnapping : String
Controla si el objeto Bitmap se ajusta al píxel más cercano. | Bitmap | ||
root : DisplayObject [solo lectura]
Para un objeto de visualización en un archivo SWF cargado, la propiedad root es el objeto de visualización de nivel más alto en la parte de la estructura de árbol de la lista de visualización representada por dicho archivo SWF. | DisplayObject | ||
rotation : Number
Indica el giro de la instancia de DisplayObject, expresado en grados, con respecto a su orientación original. | DisplayObject | ||
rotationX : Number
Indica la rotación del eje x de la instancia de DisplayObject, en grados, desde su orientación original relativa al contenedor principal 3D. | DisplayObject | ||
rotationY : Number
Indica la rotación del eje y de la instancia de DisplayObject, en grados, desde su orientación original relativa al contenedor principal 3D. | DisplayObject | ||
rotationZ : Number
Indica la rotación del eje z de la instancia de DisplayObject, en grados, desde su orientación original relativa al contenedor principal 3D. | DisplayObject | ||
scale9Grid : Rectangle
La cuadrícula de escala aplicada actualmente. | DisplayObject | ||
scaleX : Number
Indica la escala horizontal (percentage) del objeto aplicada desde el punto de registro. | DisplayObject | ||
scaleY : Number
Indica la escala vertical (percentage) de un objeto aplicada desde el punto de registro del objeto. | DisplayObject | ||
scaleZ : Number
Indica la escala de profundidad (porcentaje) de un objeto aplicada desde el punto de registro del objeto. | DisplayObject | ||
scrollRect : Rectangle
Los límites del rectángulo de desplazamiento del objeto de visualización. | DisplayObject | ||
smoothing : Boolean
Controla si el mapa de bits se suaviza al aplicársele escala. | Bitmap | ||
stage : Stage [solo lectura]
El escenario del objeto de visualización. | DisplayObject | ||
transform : flash.geom:Transform
Objeto con propiedades pertenecientes a una matriz, transformación de color y límites de píxel de un objeto de visualización. | DisplayObject | ||
visible : Boolean
Indica si el objeto de visualización es visible. | DisplayObject | ||
width : Number
Indica la anchura del objeto de visualización, expresada en píxeles. | DisplayObject | ||
x : Number
Indica la coordenada x de la instancia de DisplayObject en relación a las coordenadas locales del DisplayObjectContainer principal. | DisplayObject | ||
y : Number
Indica la coordenada y de la instancia de DisplayObject en relación a las coordenadas locales del DisplayObjectContainer principal. | DisplayObject | ||
z : Number
Indica la posición de la coordenada z en el eje z de la instancia de DisplayObject relativa al contenedor principal 3D. | DisplayObject |
Método | Definido por | ||
---|---|---|---|
Inicializa un objeto Bitmap para hacer referencia al objeto BitmapData especificado. | Bitmap | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registra un objeto de detector de eventos con un objeto EventDispatcher, de modo que el detector reciba la notificación de un evento. | EventDispatcher | ||
Distribuye un evento en el flujo del evento. | EventDispatcher | ||
Devuelve un rectángulo que define el área del objeto de visualización relativo al sistema de coordenadas del objeto targetCoordinateSpace. | DisplayObject | ||
Devuelve un rectángulo que define el límite del objeto de visualización, basado en el sistema de coordenadas definido por el parámetro targetCoordinateSpace, excluyendo los trazos en las formas. | DisplayObject | ||
Convierte el objeto point de las coordenadas del escenario (globales) en las coordenadas del objeto de visualización (locales). | DisplayObject | ||
Convierte un punto bidimensional de las coordenadas (globales) del escenario en coordenadas (locales) de un objeto tridimensional. | DisplayObject | ||
Comprueba si el objeto EventDispatcher tiene detectores registrados para un tipo concreto de evento. | EventDispatcher | ||
Indica si un objeto tiene definida una propiedad especificada. | Object | ||
Calcula el cuadro delimitador del objeto de visualización para ver si se solapa o corta con el cuadro delimitador del objeto de visualización obj. | DisplayObject | ||
Evalúa el objeto de visualización para comprobar si se solapa o presenta un punto de intersección con el punto especificado por los parámetros x e y. | DisplayObject | ||
Indica si hay una instancia de la clase Object en la cadena de prototipo del objeto especificado como parámetro. | Object | ||
Convierte un punto tridimensional de las coordenadas (locales) del objeto de visualización tridimensional en un punto bidimensional en las coordenadas (globales) del escenario. | DisplayObject | ||
Convierte el objeto point de coordenadas del objeto de visualización (locales) en coordenadas del escenario (globales). | DisplayObject | ||
Indica si existe la propiedad especificada y si es enumerable. | Object | ||
Elimina un detector del objeto EventDispatcher. | EventDispatcher | ||
Establece la disponibilidad de una propiedad dinámica para operaciones de bucle. | Object | ||
Devuelve la representación de cadena de este objeto, con formato según las convenciones específicas de configuración regional. | Object | ||
Devuelve la representación de cadena del objeto especificado. | Object | ||
Devuelve el valor simple del objeto especificado. | Object | ||
Comprueba si hay registrado un detector de eventos con este objeto EventDispatcher o con cualquiera de sus ascendientes para el tipo de evento concreto. | EventDispatcher |
bitmapData | propiedad |
bitmapData:BitmapData
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
El objeto BitmapData al que se hace referencia.
Implementación
public function get bitmapData():BitmapData
public function set bitmapData(value:BitmapData):void
pixelSnapping | propiedad |
pixelSnapping:String
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Controla si el objeto Bitmap se ajusta al píxel más cercano. La clase PixelSnapping incluye valores posibles:
PixelSnapping.NEVER
: no se produce ajuste en píxeles.PixelSnapping.ALWAYS
: la imagen siempre se ajusta al píxel más cercano, con independencia de la transformación.PixelSnapping.AUTO
: la imagen de mapa de bits se ajusta al píxel más cercano si ésta se dibuja sin rotación ni sesgo y se dibuja con un factor de escala del 99,9% al 100,1%. Si se cumplen estas condiciones, la imagen de mapa de bits se dibuja al 100% de escala y se ajusta al píxel más cercano. Internamente, este valor permite que la imagen se dibuje lo antes posible mediante el procesador de vectores.
Implementación
public function get pixelSnapping():String
public function set pixelSnapping(value:String):void
smoothing | propiedad |
smoothing:Boolean
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Controla si el mapa de bits se suaviza al aplicársele escala. Si el valor es true
, el mapa de bits se suaviza al aplicársele escala. Si el valor es false
, el mapa de bits no se suaviza al aplicársele escala.
Implementación
public function get smoothing():Boolean
public function set smoothing(value:Boolean):void
Bitmap | () | Información sobre |
public function Bitmap(bitmapData:BitmapData = null, pixelSnapping:String = "auto", smoothing:Boolean = false)
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Inicializa un objeto Bitmap para hacer referencia al objeto BitmapData especificado.
ParámetrosbitmapData:BitmapData (default = null ) — El objeto BitmapData al que se hace referencia.
| |||
pixelSnapping:String (default = "auto ") — Especifica si el objeto Bitmap se ajusta al píxel más cercano.
| |||
smoothing:Boolean (default = false ) — Indica si el mapa de bits se suaviza al aplicársele escala. Los siguientes ejemplos muestran el mismo mapa de bits al que se la ha aplicado una escala de factor 3, con smoothing definido con el valor false (izquierda) y true (derecha):
|
Ejemplo ( Cómo utilizar este ejemplo )
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()
. Esta tarea se consigue con los pasos siguientes:
- Se crea una propiedad
url
, que es la ubicación y el nombre del archivo de imagen. - El constructor de la clase llama al método
configureAssets()
que, a su vez, llama al métodocompleteHandler()
. configureAssets()
crea un objeto Loader que, a su vez, crea la instancia de un detector de eventos que se distribuye cuando el métodocompleteHandler()
finaliza la manipulación de la imagen.- A continuación, el método
buildChild()
crea una nueva instancia de un objeto URLRequest,request
, conurl
para que se conozcan el nombre del archivo y la ubicación. - El objeto
request
se transfiere posteriormente al métodoloader.load()
, que carga la imagen en la memoria mediante un objeto de visualización. - La imagen se incluye entonces en la lista de visualización, que muestra inmediatamente la imagen en la pantalla con las coordenadas x = 0, y = 0.
- El método
completeHandler()
realiza las siguientes tareas:- Crea un segundo objeto Loader, junto con un objeto Bitmap, que se inicializa con el objeto Loader.
- Crea un segundo objeto Bitmap,
duplicate
, que a su vez llama al métododuplicateImage()
, que crea un duplicado de la imagen original. - Crea un objeto BitmapData que se asigna al objeto BitmapData del objeto
duplicate
. - Crea un nuevo objeto Rectangle inicializado con las mismas coordenadas, anchura y altura que la imagen original.
- Crea un nuevo objeto Point, que se establece de forma predeterminada en x = 0, y = 0.
- Crea las siguientes variables:
operation
: aplica el nuevo color cuando el valor del umbral es mayor o igual que el original.threshold
: el valor con el que se compara cada píxel se define en gris claro con un alfa de 0xCC.color
: el color con el que se definirán los píxeles que superen la prueba de umbral, que en este caso es amarillo sólido.mask
: definido como lo contrario exacto del color (azul transparente).copySource
: definido como false, lo que indica que los valores de píxel no se copian si no pasa el valor de umbral. Este valor no significa nada porque la imagen está duplicada y sólo se modifican los píxeles que superan la prueba de umbral.
- Llama al método
threshold()
mediante las variables anteriores. La ecuación del umbral resultante es la siguiente:if (current pixel Value & 0x000000FF) >= (0xCCCCCCCC & 0x000000FF) then set pixel to 0xFFFFFF00
.
Notas:
- Necesitará compilar el archivo SWF con la opción "Seguridad de reproducción local" establecida como "Acceder sólo a archivos locales".
- Este ejemplo requiere la colocación de un archivo llamado Image.gif en el mismo directorio que el archivo SWF.
- Se recomienda utilizar una imagen de 80 píxeles de anchura como máximo.
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:12 PM Z