Paqueteflash.display
Clasepublic class BitmapData
HerenciaBitmapData Inheritance Object
Implementa IBitmapDrawable

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

La clase BitmapData le permite trabajar con los datos (píxeles) de un objeto Bitmap. Puede utilizar los métodos de la clase BitmapData para crear imágenes de mapa de bits transparentes u opacas de tamaño arbitrario y manipularlas de distintas formas en tiempo de ejecución. También puede obtener acceso al BitmapData correspondiente a una imagen de mapa de bits que ha cargado con la clase flash.display.Loader.

Esta clase permite separar operaciones de representación de mapa de bits de la rutinas internas de actualización de la visualización de Flash Player. Con la manipulación directa de un objeto BitmapData es posible crear imágenes complejas sin recargar cada fotograma al redibujar constantemente el contenido de datos vectoriales.

Los métodos de la clase BitmapData admiten efectos que no están disponibles a través de los filtros disponibles para los objetos de visualización que no sean mapas de bits.

Un objeto BitmapData contiene una matriz de datos de píxeles. Estos datos pueden representar un mapa de bits completamente opaco o un mapa de bits transparente que contiene datos del canal alfa. Ambos tipos de objetos BitmapData se almacenan como búfer de enteros de 32 bits. Cada entero de 32 bits determina las propiedades de un píxel único del mapa de bits.

Cada entero de 32 bits es una combinación de cuatro valores de canal de 8 bits (de cero a 255) que describen los valores de transparencia alfa, y rojo, verde y azul (ARGB) del píxel. (En el caso de valores ARGB, el byte más significativo representa el valor del canal alfa, seguido del rojo, el verde y el azul.)

Los cuatro canales (alfa, rojo, verde y azul) se representan como números cuando se utilizan con el método BitmapData.copyChannel() o las propiedades DisplacementMapFilter.componentX y DisplacementMapFilter.componentY, y estos números se representan mediante las siguientes constantes en la clase BitmapDataChannel:

Puede asociar objetos BitmapData a un objeto Bitmap empleando la propiedad bitmapData del objeto Bitmap.

Se puede utilizar un objeto BitmapData para rellenar un objeto Graphics mediante el método Graphics.beginBitmapFill().

Un objeto BitmapData puede tener una altura y una anchura máximas de 2.880 píxeles.

Las llamadas a cualquier método o propiedad de un objeto BitmapData emiten un error ArgumentError si el objeto BitmapData no es válido (por ejemplo, si tiene height == 0 y width == 0) o se ha eliminado mediante dispose().

Ver los ejemplos

Véase también

flash.display.Bitmap.bitmapData
flash.display.Graphics.beginBitmapFill()
flash.display.Loader


Propiedades públicas
 PropiedadDefinido por
 Inheritedconstructor : Object
Una referencia a la clase de objeto o función constructora para una instancia de objeto determinada.
Object
  height : int
[read-only] Altura de la imagen de mapa de bits, expresada en píxeles.
BitmapData
 Inheritedprototype : Object
[static] Una referencia al objeto prototipo de una clase u objeto de función.
Object
  rect : Rectangle
[read-only] Rectángulo que define el tamaño y la ubicación de la imagen de mapa de bits.
BitmapData
  transparent : Boolean
[read-only] Define si la imagen de mapa de bits admite transparencia por píxel.
BitmapData
  width : int
[read-only] Anchura de la imagen de mapa de bits, expresada en píxeles.
BitmapData
Métodos públicos
 MétodoDefinido por
  
BitmapData(width:int, height:int, transparent:Boolean = true, fillColor:uint = 0xFFFFFFFF)
Crea un nuevo objeto BitmapData con una determinada anchura y altura.
BitmapData
  
applyFilter(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, filter:BitmapFilter):void
Toma una imagen de origen y un objeto de filtro y genera la imagen filtrada.
BitmapData
  
Devuelve un objeto BitmapData nuevo que es un clon de la instancia original con una copia exacta del mapa de bits contenido.
BitmapData
  
Ajusta los valores de color en una determinada área de una imagen de mapa de bits mediante un objeto ColorTransform.
BitmapData
  
compare(otherBitmapData:BitmapData):Object
Compara dos objetos BitmapData.
BitmapData
  
copyChannel(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, sourceChannel:uint, destChannel:uint):void
Transfiere datos de un canal de otro objeto BitmapData o del objeto BitmapData actual a un canal del objeto BitmapData actual.
BitmapData
  
copyPixels(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, alphaBitmapData:BitmapData = null, alphaPoint:Point = null, mergeAlpha:Boolean = false):void
Proporciona una rutina rápida para la manipulación de píxeles entre imágenes sin efectos de color, rotación ni expansión.
BitmapData
  
Libera memoria que se utiliza para almacenar el objeto BitmapData.
BitmapData
  
draw(source:IBitmapDrawable, matrix:Matrix = null, colorTransform:ColorTransform = null, blendMode:String = null, clipRect:Rectangle = null, smoothing:Boolean = false):void
Dibuja el objeto de visualización de origen en la imagen de mapa de bits mediante el procesador de vectores de Flash Player.
BitmapData
  
fillRect(rect:Rectangle, color:uint):void
Rellena un área rectangular de píxeles con un determinado color ARGB.
BitmapData
  
floodFill(x:int, y:int, color:uint):void
Realiza una operación de relleno en una imagen empezando por una coordenada (x, y) y rellenando con un determinado color.
BitmapData
  
Determina el rectángulo de destino al que afecta la llamada al método applyFilter(), dados un objeto BitmapData, un rectángulo de origen y un objeto de filtro.
BitmapData
  
getColorBoundsRect(mask:uint, color:uint, findColor:Boolean = true):Rectangle
Determina una zona rectangular que encierra totalmente todos los píxeles de un color determinado dentro de la imagen de mapa de bits (si el parámetro findColor se establece como true) o encierra totalmente todos los píxeles que no incluyen el color especificado (si el parámetro findColor se establece como false).
BitmapData
  
Devuelve un entero que representa un valor de píxel RGB de un objeto BitmapData en un punto específico (x, y).
BitmapData
  
Devuelve un valor de color ARGB que contiene datos del canal alfa y datos de RGB.
BitmapData
  
Genera una matriz de bytes de una zona rectangular de datos de píxeles.
BitmapData
 Inherited
Indica si un objeto tiene definida una propiedad especificada.
Object
  
hitTest(firstPoint:Point, firstAlphaThreshold:uint, secondObject:Object, secondBitmapDataPoint:Point = null, secondAlphaThreshold:uint = 1):Boolean
Detecta la zona activa a nivel de píxeles entre una imagen de mapa de bits y un punto, un rectángulo u otra imagen de mapa de bits.
BitmapData
 Inherited
Indica si hay una instancia de la clase Object en la cadena de prototipo del objeto especificado como parámetro.
Object
  
Bloquea una imagen de manera que los objetos que hacen referencia al objeto BitmapData como, por ejemplo, los objetos Bitmap, no se actualicen cuando cambia este objeto BitmapData.
BitmapData
  
merge(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, redMultiplier:uint, greenMultiplier:uint, blueMultiplier:uint, alphaMultiplier:uint):void
Realiza una mezcla por canal de una imagen de origen a una imagen de destino.
BitmapData
  
noise(randomSeed:int, low:uint = 0, high:uint = 255, channelOptions:uint = 7, grayScale:Boolean = false):void
Rellena una imagen con píxeles que representan ruido aleatorio.
BitmapData
  
paletteMap(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, redArray:Array = null, greenArray:Array = null, blueArray:Array = null, alphaArray:Array = null):void
Reasigna los valores del canal de color en una imagen proporcionada a cuatro conjuntos de datos de la paleta de colores, una por cada canal.
BitmapData
  
perlinNoise(baseX:Number, baseY:Number, numOctaves:uint, randomSeed:int, stitch:Boolean, fractalNoise:Boolean, channelOptions:uint = 7, grayScale:Boolean = false, offsets:Array = null):void
Genera una imagen de ruido Perlin.
BitmapData
  
pixelDissolve(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, randomSeed:int = 0, numPixels:int = 0, fillColor:uint = 0):int
Realiza una disolución de píxeles de una imagen de origen a una imagen de destino o utilizando la misma imagen.
BitmapData
 Inherited
Indica si existe la propiedad especificada y si es enumerable.
Object
  
scroll(x:int, y:int):void
Desplaza una imagen una determinada cantidad de píxeles (x, y).
BitmapData
  
setPixel(x:int, y:int, color:uint):void
Establece un solo píxel de un objeto BitmapData.
BitmapData
  
setPixel32(x:int, y:int, color:uint):void
Establece los valores de color y transparencia alfa de un solo píxel de un objeto BitmapData.
BitmapData
  
setPixels(rect:Rectangle, inputByteArray:ByteArray):void
Convierte una matriz de bytes en una zona rectangular de datos de píxeles.
BitmapData
 Inherited
Establece la disponibilidad de una propiedad dinámica para operaciones de bucle.
Object
  
threshold(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, operation:String, threshold:uint, color:uint = 0, mask:uint = 0xFFFFFFFF, copySource:Boolean = false):uint
Prueba valores de píxel en una imagen con un umbral especificado y define los píxeles que se pasan para probar los valores del nuevo color.
BitmapData
 Inherited
Devuelve la representación de cadena del objeto especificado.
Object
  
unlock(changeRect:Rectangle = null):void
Desbloquea una imagen de manera que los objetos que hacen referencia al objeto BitmapData como, por ejemplo, los objetos Bitmap, se actualicen cuando cambia este objeto BitmapData.
BitmapData
 Inherited
Devuelve el valor simple del objeto especificado.
Object
Información sobre propiedades
heightpropiedad
height:int  [read-only]

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Altura de la imagen de mapa de bits, expresada en píxeles.


Implementación
    public function get height():int
rectpropiedad 
rect:Rectangle  [read-only]

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Rectángulo que define el tamaño y la ubicación de la imagen de mapa de bits. Las partes superior e izquierda del rectángulo son 0; el ancho y el alto son iguales al ancho y al alto en píxeles del objeto BitmapData.


Implementación
    public function get rect():Rectangle
transparentpropiedad 
transparent:Boolean  [read-only]

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Define si la imagen de mapa de bits admite transparencia por píxel. Solamente puede definir este valor cuando cree un objeto BitmapData pasando true para el parámetro transparent del constructor. Posteriormente, tras crear un objeto BitmapData, puede comprobar si admite transparencia por píxel determinando si el valor de la propiedad transparent es true.


Implementación
    public function get transparent():Boolean
widthpropiedad 
width:int  [read-only]

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Anchura de la imagen de mapa de bits, expresada en píxeles.


Implementación
    public function get width():int
Información sobre constructores
BitmapData()constructor
public function BitmapData(width:int, height:int, transparent:Boolean = true, fillColor:uint = 0xFFFFFFFF)

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Crea un nuevo objeto BitmapData con una determinada anchura y altura. Si especifica un valor para el parámetro fillColor, todos los píxeles del mapa de bits utilizan ese color.

De forma predeterminada, el mapa de bits se crea como transparente, a menos que pase el valor false para el parámetro transparent. Una vez que se ha creado un mapa de bits opaco, no se puede cambiar a uno transparente. Todos los píxeles de un mapa de bits opaco utilizan 24 bits de información del canal de color. Si define el mapa de bits como transparente, todos los píxeles utilizan 32 bits de información del canal de color, incluido un canal de transparencia alfa.

Un objeto BitmapData puede tener una altura y una anchura máximas de 2.880 píxeles. Si especifica un valor de anchura o altura mayor que 2.880, no se creará una instancia nueva.

Parámetros
width:int — Anchura de la imagen de mapa de bits, expresada en píxeles.
 
height:int — Altura de la imagen de mapa de bits, expresada en píxeles.
 
transparent:Boolean (default = true) — Especifica si la imagen de mapa de bits admite transparencia por píxel. El valor predeterminado es true (transparente). Para crear un mapa de bits totalmente transparente, defina el valor del parámetro transparent como true y el valor del parámetro fillColor con 0x00000000 (o a 0). La configuración de la propiedad transparent como false puede dar como resultado pequeñas mejoras en el rendimiento de la visualización.
 
fillColor:uint (default = 0xFFFFFFFF) — Valor de color ARGB de 32 bits que se utiliza para rellenar el área de la imagen de mapa de bits. El valor predeterminado es 0xFFFFFFFF (blanco sólido).

Emite
ArgumentError — la anchura y/o la altura no son válidas (menor o igual que cero, mayor que 2880)
Información sobre métodos
applyFilter()método
public function applyFilter(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, filter:BitmapFilter):void

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Toma una imagen de origen y un objeto de filtro y genera la imagen filtrada.

Este método se basa en el comportamiento de los objetos de filtro incorporados, que determinan el rectángulo de destino que se ve afectado por un rectángulo de origen de entrada.

Después de aplicar un filtro, la imagen resultante puede ser mayor que la imagen de entrada. Por ejemplo, si se utiliza una clase BlurFilter para desenfocar un rectángulo de origen de (50,50,100,100) y un punto de destino de (10,10), el área que cambia en la imagen de destino será mayor que (10,10,60,60) debido al desenfoque. Esto sucede internamente durante la llamada a applyFilter().

Si el parámetro sourceRect del parámetro sourceBitmapData es una región interior, como (50,50,100,100) en una imagen de 200 x 200, el filtro utilizará los píxeles de origen fuera del parámetro sourceRect para generar el rectángulo de destino.

Si el objeto BitmapData y el objeto especificado como parámetro sourceBitmapData son el mismo objeto, Flash Player utilizará una copia temporal del objeto para ejecutar el filtro. Para lograr el máximo rendimiento, evite esta situación.

Parámetros

sourceBitmapData:BitmapData — La imagen de mapa de bits de entrada que se va a utilizar. La imagen de origen puede ser otro objeto BitmapData o puede hacer referencia a la instancia de BitmapData actual.
 
sourceRect:Rectangle — Un rectángulo que define el área de la imagen de origen que se va a utilizar como entrada.
 
destPoint:Point — El punto de la imagen de destino (la instancia de BitmapData actual) que corresponde a la esquina superior izquierda del rectángulo de origen.
 
filter:BitmapFilter — El objeto de filtro que se utilizará para realizar la operación de filtrado. Cada tipo de filtro tiene determinados requisitos, a saber:
  • BlurFilter: este filtro puede utilizar imágenes de origen y destino que son opacas o transparentes. Si no coinciden los formatos de las imágenes, la copia de la imagen de origen que se realiza durante el filtrado coincide con el formato de la imagen de destino.
  • BevelFilter, DropShadowFilter, GlowFilter, ChromeFilter: la imagen de destino de estos filtros debe ser una imagen transparente. Al llamar a DropShadowFilter o GlowFilter, se crea una imagen que contiene los datos del canal alfa de la sombra o del iluminado. No se crea la sombra sobre la imagen de destino. Si se utiliza alguno de estos filtros con una imagen de destino opaca, se devuelve una excepción (ActionScript 3.0).
  • ConvolutionFilter: este filtro puede utilizar imágenes de origen y destino opacas o transparentes.
  • ColorMatrixFilter: este filtro puede utilizar imágenes de origen y destino opacas o transparentes.
  • DisplacementMapFilter: este filtro puede utilizar imágenes de origen y destino opacas o transparentes, pero el formato de las imágenes de origen y destino debe ser el mismo.


Emite
TypeError — sourceBitmapData, sourceRect, destPoint o el filtro tienen el valor null.
 
IllegalOperationError — La transparencia de los objetos BitmapData no es compatible con la operación de filtro.

Véase también


Ejemplo

En el ejemplo siguiente, se muestra cómo aplicar un filtro de desenfoque a una instancia de BitmapData:

import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.geom.Point;
import flash.geom.Rectangle;
import flash.filters.BlurFilter;

var bmd:BitmapData = new BitmapData(80, 30, false, 0xFFCC00);
var rect:Rectangle = new Rectangle(10, 10, 40, 10);
bmd.fillRect(rect, 0xFF0000);

var pt:Point = new Point(10, 10);
var filter:BlurFilter = new BlurFilter();
bmd.applyFilter(bmd, rect, pt, filter);

var bm:Bitmap = new Bitmap(bmd);
addChild(bm);
clone()método 
public function clone():BitmapData

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Devuelve un objeto BitmapData nuevo que es un clon de la instancia original con una copia exacta del mapa de bits contenido.

Valor devuelto
BitmapData — Un objeto BitmapData nuevo que es idéntico al original.

Ejemplo

En el ejemplo siguiente, se indica cómo clonar una instancia de BitmapData y se muestra que, cuando se modifica la instancia de BitmapData clonada, el original permanece sin cambios:

import flash.display.Bitmap;
import flash.display.BitmapData;

var bmd1:BitmapData = new BitmapData(100, 80, false, 0x00000000);
var bmd2:BitmapData = bmd1.clone();

bmd1.setPixel32(1, 1, 0xFFFFFFFF);

trace(bmd1.getPixel32(1, 1).toString(16)); // ffffffff
trace(bmd2.getPixel32(1, 1).toString(16)); // ff000000

var bm1:Bitmap = new Bitmap(bmd1);
this.addChild(bm1);

var bm2:Bitmap = new Bitmap(bmd2);
bm2.x = 110;
this.addChild(bm2);
colorTransform()método 
public function colorTransform(rect:Rectangle, colorTransform:ColorTransform):void

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Ajusta los valores de color en una determinada área de una imagen de mapa de bits mediante un objeto ColorTransform. Si el rectángulo coincide con los límites de la imagen de mapa de bits, este método transformará los valores de color de toda la imagen.

Parámetros

rect:Rectangle — Un objeto Rectangle que define el área de la imagen en la que se aplica el objeto ColorTransform.
 
colorTransform:ColorTransform — Un objeto ColorTransform que describe los valores de transformación de color que se van a aplicar.


Emite
TypeError — rect o colorTransform tienen el valor null.

Véase también


Ejemplo

En el ejemplo siguiente, se muestra cómo aplicar una transformación de color a la mitad izquierda (rectángulo) de un objeto BitmapData:

import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.geom.Rectangle;
import flash.geom.ColorTransform;

var bmd:BitmapData = new BitmapData(80, 30, false, 0xFF0000);

var cTransform:ColorTransform = new ColorTransform();
cTransform.alphaMultiplier = 0.5
var rect:Rectangle = new Rectangle(0, 0, 40, 30);
bmd.colorTransform(rect, cTransform);

var bm:Bitmap = new Bitmap(bmd);
addChild(bm);
compare()método 
public function compare(otherBitmapData:BitmapData):Object

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Compara dos objetos BitmapData. Si los dos objetos BitmapData tienen las mismas dimensiones (anchura y altura), el método devolverá un nuevo objeto BitmapData, en el que cada píxel es la "diferencia" entre los píxeles de los dos objetos de origen:

Por ejemplo, veamos los dos objetos BitmapData siguientes:

  var bmd1:BitmapData = new BitmapData(50, 50, true, 0xFFFF8800);
  var bmd2:BitmapData = new BitmapData(50, 50, true, 0xCCCC6600);
  var diffBmpData:BitmapData = bmd1.compare(bmd2) as BitmapData;
  trace ("0x" + diffBmpData.getPixel(0,0).toString(16); // 0x332200
  

Nota: los colores utilizados para rellenar los dos objetos BitmapData tienen valores RGB ligeramente diferentes (0xFF8800 y 0xCC6600). El resultado del método compare() es un nuevo objeto BitmapData en el que cada píxel muestra la diferencia de los valores RGB entre los dos mapas de bits.

Piense en los dos objetos BitmapData siguientes en los que los colores RGB son iguales pero los valores alfa son diferentes:

  var bmd1:BitmapData = new BitmapData(50, 50, true, 0xFFFFAA00);
  var bmd2:BitmapData = new BitmapData(50, 50, true, 0xCCFFAA00);
  var diffBmpData:BitmapData = bmd1.compare(bmd2) as BitmapData;
  trace ("0x" + diffBmpData.getPixel32(0,0).toString(16); // 0x33ffffff
  

El resultado del método compare() es un nuevo objeto BitmapData en el que cada píxel muestra la diferencia de los valores alfa entre los dos mapas de bits.

Si los objetos BitmapData son equivalentes (con la misma anchura y altura e idénticos valores de píxeles), el método devolverá el número 0.

Si la anchura de los objetos BitmapData no es la misma, el método devolverá el número -3.

Si la altura de los objetos BitmapData no es la misma pero la anchura sí, el método devolverá el número -4.

En el ejemplo siguiente, se comparan dos objetos Bitmap con anchuras diferentes (50 y 60):

  var bmd1:BitmapData = new BitmapData(100, 50, false, 0xFFFF0000);
  var bmd2:BitmapData = new BitmapData(100, 60, false, 0xFFFFAA00);
  trace(bmd1.compare(bmd2)); // -4
  

Parámetros

otherBitmapData:BitmapData — El objeto BitmapData que se va a comparar con el objeto BitmapData de origen.

Valor devuelto
Object — Si los dos objetos BitmapData tienen las mismas dimensiones (anchura y altura), el método devolverá un nuevo objeto BitmapData con la diferencia entre los dos (consulte la descripción principal). Si los objetos BitmapData son equivalentes, el método devolverá el número 0. Si la anchura de los objetos BitmapData no es la misma, el método devolverá el número -3. Si la altura de los objetos BitmapData no es la misma, el método devolverá el número -4.

Emite
TypeError — otherBitmapData tiene el valor null.

Ejemplo

En el ejemplo siguiente, se muestra el valor de un píxel del objeto BitmapData, resultado de comparar dos objetos BitmapData de las mismas dimensiones:

import flash.display.Bitmap;
import flash.display.BitmapData;

var bmd1:BitmapData = new BitmapData(50, 50, true, 0xFFFFAA00);
var bmd2:BitmapData = new BitmapData(50, 50, true, 0xCCFFAA00);
var diffBmpData:BitmapData = BitmapData(bmd1.compare(bmd2));
var diffValue:String = diffBmpData.getPixel32(1, 1).toString(16);
trace(diffValue); // 33ffffff

var bm1:Bitmap = new Bitmap(bmd1);
addChild(bm1);
var bm2:Bitmap = new Bitmap(bmd2);
addChild(bm2);
bm2.x = 60;
copyChannel()método 
public function copyChannel(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, sourceChannel:uint, destChannel:uint):void

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Transfiere datos de un canal de otro objeto BitmapData o del objeto BitmapData actual a un canal del objeto BitmapData actual. Se mantendrán todos los datos de los demás canales del objeto BitmapData de destino.

Los valores del canal de origen y del canal de destino pueden ser los siguientes:

Parámetros

sourceBitmapData:BitmapData — La imagen de mapa de bits de entrada que se va a utilizar. La imagen de origen puede ser otro objeto BitmapData o puede hacer referencia al objeto BitmapData actual.
 
sourceRect:Rectangle — El objeto Rectangle de origen. Especifique un rectángulo de origen con un tamaño menor que el tamaño global del objeto BitmapData si sólo desea copiar los datos del canal de un área menor del mapa de bits.
 
destPoint:Point — El objeto Point de destino que representa la esquina superior izquierda del área rectangular donde se situarán los nuevos datos del canal. Especifique un punto distinto de (0,0) si sólo desea copiar los datos del canal de un área a otra de la imagen de destino.
 
sourceChannel:uint — El canal de origen. Utilice un valor de la clase BitmapDataChannel (BitmapDataChannel.RED, BitmapDataChannel.BLUE, BitmapDataChannel.GREEN, BitmapDataChannel.ALPHA).
 
destChannel:uint — El canal de destino. Utilice un valor de la clase BitmapDataChannel (BitmapDataChannel.RED, BitmapDataChannel.BLUE, BitmapDataChannel.GREEN, BitmapDataChannel.ALPHA).


Emite
TypeError — sourceBitmapData, sourceRect o destPoint tienen el valor null.

Véase también


Ejemplo

En el ejemplo siguiente, se muestra cómo copiar el canal rojo de un objeto BitmapData en su propio canal azul en una región de 20 x 20 píxeles:

import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.geom.Rectangle;
import flash.geom.Point;

var bmd:BitmapData = new BitmapData(100, 80, false, 0x00FF0000);

var rect:Rectangle = new Rectangle(0, 0, 20, 20);
var pt:Point = new Point(10, 10);
bmd.copyChannel(bmd, rect, pt, BitmapDataChannel.RED, BitmapDataChannel.BLUE);

var bm:Bitmap = new Bitmap(bmd);
this.addChild(bm);    
copyPixels()método 
public function copyPixels(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, alphaBitmapData:BitmapData = null, alphaPoint:Point = null, mergeAlpha:Boolean = false):void

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Proporciona una rutina rápida para la manipulación de píxeles entre imágenes sin efectos de color, rotación ni expansión. Este método copia un área rectangular de una imagen de origen en un área rectangular del mismo tamaño en el punto de destino del objeto BitmapData de destino.

Si incluye los parámetros alphaBitmap y alphaPoint, puede utilizar una imagen secundaria como origen de alfa para la imagen de origen. Si la imagen de origen tiene datos alfa, se utilizarán los dos conjuntos de datos alfa para componer píxeles de la imagen de origen en la imagen de destino. El parámetro alphaPoint es el punto de la imagen alfa que corresponde a la esquina superior izquierda del rectángulo de origen. Los píxeles que queden fuera de la intersección de la imagen de origen y la imagen alfa no se copiarán en la imagen de destino.

La propiedad mergeAlpha controla si se utiliza el canal alfa cuando se copia una imagen transparente sobre otra imagen transparente. Para copiar píxeles con los datos del canal alfa, defina la propiedad mergeAlpha como true. De forma predeterminada, la propiedad mergeAlpha es false.

Parámetros

sourceBitmapData:BitmapData — La imagen de mapa de bits de entrada desde la que se van a copiar píxeles. La imagen de origen puede ser otra instancia de BitmapData o puede hacer referencia a la instancia de BitmapData actual.
 
sourceRect:Rectangle — Un rectángulo que define el área de la imagen de origen que se va a utilizar como entrada.
 
destPoint:Point — El punto de destino que representa la esquina superior izquierda del área rectangular donde se sitúan los nuevos píxeles.
 
alphaBitmapData:BitmapData (default = null) — Un origen secundario del objeto BitmapData de alfa.
 
alphaPoint:Point (default = null) — El punto del origen del objeto BitmapData de alfa que corresponde a la esquina superior izquierda del parámetro sourceRect.
 
mergeAlpha:Boolean (default = false) — Para utilizar el canal alfa, defina el valor como true. Para copiar píxeles sin el canal alfa, defina el valor como false.


Emite
TypeError — sourceBitmapData, sourceRect o destPoint tienen el valor null.

Ejemplo

En el ejemplo siguiente, se muestra cómo copiar píxeles de una región de 20 x 20 píxeles de un objeto BitmapData en otro objeto BitmapData:

import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.geom.Rectangle;
import flash.geom.Point;

var bmd1:BitmapData = new BitmapData(40, 40, false, 0x000000FF);
var bmd2:BitmapData = new BitmapData(80, 40, false, 0x0000CC44);

var rect:Rectangle = new Rectangle(0, 0, 20, 20);
var pt:Point = new Point(10, 10);
bmd2.copyPixels(bmd1, rect, pt);

var bm1:Bitmap = new Bitmap(bmd1);
this.addChild(bm1);
var bm2:Bitmap = new Bitmap(bmd2);
this.addChild(bm2);
bm2.x = 50;
dispose()método 
public function dispose():void

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Libera memoria que se utiliza para almacenar el objeto BitmapData.

Cuando se llama al método dispose() para una imagen, la anchura y la altura de la imagen se establecen en 0. Todas las llamadas posteriores a los métodos o propiedades de esta instancia de BitmapData fallarán y se emitirá una excepción.


Ejemplo

En el ejemplo siguiente, se muestra el efecto de llamar al método de un objeto BitmapData tras una llamada al método dispose() (se emite una excepción):
import flash.display.BitmapData;

var myBitmapData:BitmapData = new BitmapData(100, 80, false, 0x000000FF);
trace(myBitmapData.getPixel(1, 1)); // 255 == 0xFF

myBitmapData.dispose();
try {
    trace(myBitmapData.getPixel(1, 1));
} catch (error:Error) {
    trace(error); // ArgumentError
}
draw()método 
public function draw(source:IBitmapDrawable, matrix:Matrix = null, colorTransform:ColorTransform = null, blendMode:String = null, clipRect:Rectangle = null, smoothing:Boolean = false):void

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Dibuja el objeto de visualización source en la imagen de mapa de bits empleando el procesador de vectores de Flash Player. Puede especificar matrix, colorTransform, blendMode y un parámetro clipRect de destino para controlar cómo se realiza la representación. También puede especificar si el mapa de bits se debe suavizar cuando se escala (esto sólo funciona si el objeto de origen es un objeto BitmapData).

Este método corresponde directamente a cómo se dibujan los objetos con el procesador de vectores estándar para objetos en la interfaz de la herramienta de edición.

El objeto de visualización de origen no utiliza ninguna de sus transformaciones aplicadas para esta llamada. Se trata tal como se encuentra en la biblioteca o el archivo, sin transformación de matriz, transformación de color ni modo de mezcla. Para dibujar un objeto de visualización (como, por ejemplo, un clip de película) empleando sus propias propiedades de transformación, puede copiar su objeto de propiedad transform en la propiedad transform del objeto Bitmap que utiliza el objeto BitmapData.

Nota: el objeto source y (en el caso de un objeto Sprite o MovieClip) todos sus objetos secundarios deben proceder del mismo dominio que el origen de la llamada o estar en un archivo SWF que sea accesible al origen de la llamada mediante la llamada al método Security.allowDomain(). Si no se cumplen estas condiciones, el método draw() no dibujará nada.

Este método se admite a través de RTMP en Flash Player Update 3 y versiones posteriores. Puede controlar el acceso a transmisiones en Flash Media Server en un script del lado del servidor. Para más información, consulte las propiedades Client.audioSampleAccess y Client.videoSampleAccess en la referencia del lenguaje ActionScript del servidor para Adobe Flash Media Server.

Parámetros

source:IBitmapDrawable — El objeto de visualización u objeto BitmapData que debe dibujarse en el objeto BitmapData. (Las clases DisplayObject y BitmapData implementan la interfaz IBitmapDrawable.)
 
matrix:Matrix (default = null) — Un objeto Matrix empleado para escalar, rotar o convertir las coordenadas del mapa de bits. Si no desea aplicar una transformación de matriz a la imagen, establezca este parámetro con una matriz de identidad, creada con el constructor new Matrix() predeterminado o pase el valor null.
 
colorTransform:ColorTransform (default = null) — Un objeto ColorTransform empleado para ajustar los valores de color del mapa de bits. Si no se proporciona ningún objeto, no se transformarán los colores de la imagen de mapa de bits. Si tiene que pasar este parámetro pero no desea transformar la imagen, defina el parámetro con un objeto ColorTransform creado mediante el constructor new ColorTransform() predeterminado.
 
blendMode:String (default = null) — Un valor de cadena, de la clase flash.display.BlendMode, que especifica el modo de mezcla que debe aplicarse al mapa de bits resultante.
 
clipRect:Rectangle (default = null) — Un objeto Rectangle que define el área del objeto de origen que se va a dibujar. Si no proporciona este valor, no se producirá recorte y se dibujará el objeto de origen completo.
 
smoothing:Boolean (default = false) — Un valor booleano que determina si se suavizará un objeto BitmapData cuando se escale o gire, debido a un ajuste de escala o rotación en el parámetro matrix. El parámetro smoothing sólo se aplica si el parámetro source es un objeto BitmapData. Si smoothing se establece como false, la imagen BitmapData girada o escalada puede tener un aspecto pixelado o dentado. Por ejemplo, las dos imágenes siguientes utilizan el mismo objeto BitmapData para el parámetro source, pero el parámetro smoothing se establece como true a la izquierda y como false a la derecha:

Dibujar un mapa de bits con smoothing definido como true lleva más tiempo que hacerlo con smoothing definido como false.


Emite
ArgumentError — El parámetro source no es un objeto BitmapData o DisplayObject.
 
SecurityError — El objeto source y (en el caso de un objeto Sprite o MovieClip) todos sus objetos secundarios no proceden del mismo dominio que el origen de la llamada y no están en un archivo SWF que sea accesible al origen de la llamada mediante la llamada al método Security.allowDomain().
 
ArgumentError — El origen tiene el valor null o no es un objeto IBitmapDrawable válido.

Véase también


Ejemplo

En el ejemplo siguiente, se muestra cómo dibujar un objeto TextField en un objeto BitmapData:

import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.text.TextField;

var tf:TextField = new TextField();
tf.text = "bitmap text";

var myBitmapData:BitmapData = new BitmapData(80, 20);
myBitmapData.draw(tf);
var bmp:Bitmap = new Bitmap(myBitmapData);
this.addChild(bmp);
fillRect()método 
public function fillRect(rect:Rectangle, color:uint):void

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Rellena un área rectangular de píxeles con un determinado color ARGB.

Parámetros

rect:Rectangle — El área rectangular que se va a rellenar.
 
color:uint — El valor de color ARGB que rellena el área. Los colores ARGB se especifican a menudo en formato hexadecimal, como 0xFF336699.


Emite
TypeError — rect tiene el valor null.

Véase también


Ejemplo

En el ejemplo siguiente, se muestra cómo rellenar de azul una región rectangular de un objeto BitmapData:

import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.geom.Rectangle;

var myBitmapData:BitmapData = new BitmapData(40, 40, false, 0x0000FF00);

var rect:Rectangle = new Rectangle(0, 0, 20, 20);
myBitmapData.fillRect(rect, 0x0000FF);

var bm:Bitmap = new Bitmap(myBitmapData);
addChild(bm);
floodFill()método 
public function floodFill(x:int, y:int, color:uint):void

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Realiza una operación de relleno en una imagen empezando por una coordenada (x, y) y rellenando con un determinado color. El método floodFill() es similar a la herramienta cubo de pintura que incorporan muchos programas de dibujo. El color es un color ARGB que contiene información alfa y de color.

Parámetros

x:int — La coordenada x de la imagen.
 
y:int — La coordenada y de la imagen.
 
color:uint — El color ARGB que se va a utilizar como relleno.


Ejemplo

En el ejemplo siguiente, se muestra cómo rellenar de rojo una región de un objeto BitmapData, es decir, la región que rodea al píxel definido por el punto (10, 10) en el que todos los colores coinciden con el color de ese punto.

import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.geom.Rectangle;

var myBitmapData:BitmapData = new BitmapData(40, 40, false, 0x0000FF00);

var rect:Rectangle = new Rectangle(0, 0, 20, 20);
myBitmapData.fillRect(rect, 0x000000FF);
rect = new Rectangle(15, 15, 25, 25);
myBitmapData.fillRect(rect, 0x000000FF);

myBitmapData.floodFill(10, 10, 0x00FF0000);

var bm:Bitmap = new Bitmap(myBitmapData);
addChild(bm);
generateFilterRect()método 
public function generateFilterRect(sourceRect:Rectangle, filter:BitmapFilter):Rectangle

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Determina el rectángulo de destino al que afecta la llamada applyFilter(), dados un objeto BitmapData, un rectángulo de origen y un objeto de filtro.

Por ejemplo, un filtro de desenfoque suele afectar a un área mayor que la imagen original. Una imagen de 100 x 200 píxeles que se filtra mediante una instancia BlurFilter predeterminada, donde blurX = blurY = 4, genera un rectángulo de destino de (-2,-2,104,204). El método generateFilterRect() permite conocer el tamaño de este rectángulo de destino de antemano para poder ajustar el tamaño de la imagen de destino convenientemente antes de una operación de filtro.

Algunos filtros recortan su rectángulo de destino de acuerdo con el tamaño de la imagen de origen. Por ejemplo, un DropShadow interior no genera un resultado mayor que su imagen de origen. En esta API, se utiliza como límite de origen el objeto BitmapData y no el parámetro rect de origen.

Parámetros

sourceRect:Rectangle — Un rectángulo que define el área de la imagen de origen que se va a utilizar como entrada.
 
filter:BitmapFilter — Objeto de filtro que se va a utilizar para calcular el rectángulo de destino.

Valor devuelto
Rectangle — Rectángulo de destino calculado empleando una imagen, el parámetro sourceRect y un filtro.

Emite
TypeError — sourceRect o el filtro tienen el valor null.

Ejemplo

En el ejemplo siguiente, se muestra cómo se puede utilizar el método generateFilterRect() para determinar el área rectangular que ocupará el resultado de un filtro de desenfoque. Los resultados del método generateFilterRect() están producidos por la función trace():

import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.geom.Point;
import flash.geom.Rectangle;
import flash.filters.BlurFilter;

var bmd:BitmapData = new BitmapData(80, 30, false, 0xFFCC00);
var rect:Rectangle = new Rectangle(10, 10, 40, 10);
bmd.fillRect(rect, 0xFF0000);

var pt:Point = new Point(10, 10);
var filter:BlurFilter = new BlurFilter();

trace(bmd.generateFilterRect(rect, filter));
// (x=8, y=8, w=44, h=14)

bmd.applyFilter(bmd, rect, pt, filter);
var bm:Bitmap = new Bitmap(bmd);
addChild(bm);
Tenga en cuenta que el método generateFilterRect() no aplica el filtro. Llame al método applyFilter() para aplicarlo.
getColorBoundsRect()método 
public function getColorBoundsRect(mask:uint, color:uint, findColor:Boolean = true):Rectangle

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Determina una zona rectangular que encierra totalmente a todos los píxeles de un color determinado dentro de la imagen de mapa de bits (si el parámetro findColor se establece como true) o encierra totalmente a todos los píxeles que no incluyen el color especificado (si el parámetro findColor se ha establecido como false).

Por ejemplo, si tiene una imagen de origen y desea determinar el rectángulo de la imagen que contiene un canal alfa distinto de cero, pase {mask: 0xFF000000, color: 0x00000000} como parámetros. Si el parámetro findColor se define como true, se buscarán en toda la imagen los límites de píxeles para los que (value & mask) == color (donde value es el valor de color del píxel). Si el parámetro findColor se define como false, se buscarán en toda la imagen los límites de píxeles para los que (value & mask) != color (donde value es el valor de color del píxel). Para determinar el espacio blanco alrededor de una imagen, pase {mask: 0xFFFFFFFF, color: 0xFFFFFFFF} para buscar los límites de los píxeles no blancos.

Parámetros

mask:uint — Un valor hexadecimal que especifica los bits del color ARGB que deben tenerse en cuenta. El valor de color se combina con este valor hexadecimal empleando el operador & (AND en modo bit).
 
color:uint — Un valor hexadecimal que especifica el color ARGB con el que debe establecerse correspondencia (si findColor se establece en true) o con el que no debe establecerse correspondencia (si findColor se establece en false).
 
findColor:Boolean (default = true) — Si el valor se establece como true, devuelve los límites de un valor de color de una imagen. Si es false, devuelve los límites de donde no existe este color en la imagen.

Valor devuelto
Rectangle — La región de la imagen que es del color especificado.

Ejemplo

En el ejemplo siguiente, se crea un objeto BitmapData con la mitad superior de sus píxeles en rojo. A continuación, llama al método getColorBoundsRect() para determinar el rectángulo en el que los píxeles están en rojo (0xFF0000) y después, llama al mismo método para determinar el rectángulo en el que los píxeles no están en rojo (al establecer el parámetro findColor como false:

import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.geom.Rectangle;

var bmd:BitmapData = new BitmapData(80, 40, false, 0xFFFFFF);
var rect:Rectangle = new Rectangle(0, 0, 80, 20);
bmd.fillRect(rect, 0xFF0000);

var maskColor:uint = 0xFFFFFF;
var color:uint = 0xFF0000;
var redBounds:Rectangle = bmd.getColorBoundsRect(maskColor, color, true);
trace(redBounds); // (x=0, y=0, w=80, h=20)

var notRedBounds:Rectangle = bmd.getColorBoundsRect(maskColor, color, false);
trace(notRedBounds); // (x=0, y=20, w=80, h=20)

var bm:Bitmap = new Bitmap(bmd);
addChild(bm);
getPixel()método 
public function getPixel(x:int, y:int):uint

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Devuelve un entero que representa un valor de píxel RGB de un objeto BitmapData en un punto específico (x, y). El método getPixel() devuelve un valor de píxel no multiplicado. No se devuelve información de alfa.

Todos los píxeles de un objeto BitmapData se almacenan como valores de color premultiplicados. El píxel de imagen premultiplicado ya tiene los valores de canal de color rojo, verde y azul multiplicados por los datos alfa. Por ejemplo, si el valor alfa es cero, los canales RGB también son cero, independientemente de sus valores no multiplicados. Esta pérdida de datos puede ocasionar algunos problemas cuando se realizan operaciones. Todos los métodos BitmapData toman y devuelven valores no multiplicados. La representación interna de píxeles se convierte de premultiplicada a no multiplicada antes de que se devuelva como valor. Durante una operación dada, el valor de píxel se premultiplica antes de establecer el píxel de imagen en bruto.

Parámetros

x:int — La posición x del píxel.
 
y:int — La posición y del píxel.

Valor devuelto
uint — Un número que representa un valor de píxel RGB. Si las coordenadas (x, y) se encuentran fuera de los límites de la imagen, el método devuelve 0.

Véase también


Ejemplo

En el ejemplo siguiente, se crea un objeto BitmapData relleno de rojo y se utiliza después el método getPixel() para determinar el valor de color en el píxel superior izquierdo:
import flash.display.BitmapData;

var bmd:BitmapData = new BitmapData(80, 40, false, 0xFF0000);

var pixelValue:uint = bmd.getPixel(1, 1);
trace(pixelValue.toString(16)); // ff0000;
getPixel32()método 
public function getPixel32(x:int, y:int):uint

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Devuelve un valor de color ARGB que contiene datos del canal alfa y datos de RGB. Este método es similar a getPixel(), que devuelve un color RGB sin datos del canal alfa.

Todos los píxeles de un objeto BitmapData se almacenan como valores de color premultiplicados. El píxel de imagen premultiplicado ya tiene los valores de canal de color rojo, verde y azul multiplicados por los datos alfa. Por ejemplo, si el valor alfa es cero, los canales RGB también son cero, independientemente de sus valores no multiplicados. Esta pérdida de datos puede ocasionar algunos problemas cuando se realizan operaciones. Todos los métodos BitmapData toman y devuelven valores no multiplicados. La representación interna de píxeles se convierte de premultiplicada a no multiplicada antes de que se devuelva como valor. Durante una operación dada, el valor de píxel se premultiplica antes de establecer el píxel de imagen en bruto.

Parámetros

x:int — La posición x del píxel.
 
y:int — La posición y del píxel.

Valor devuelto
uint — Un número que representa un valor de píxel ARGB. Si las coordenadas (x, y) se encuentran fuera de los límites de la imagen, se devuelve 0.

Véase también


Ejemplo

En el ejemplo siguiente se crea un objeto BitmapData relleno de un color, se utiliza después el método getPixel32() para determinar el valor de color en el píxel superior izquierdo y, a continuación, se determinan los valores hexadecimales para cada componente de color (alfa, rojo, verde y azul):

import flash.display.BitmapData;

var bmd:BitmapData = new BitmapData(80, 40, true, 0xFF44AACC);

var pixelValue:uint = bmd.getPixel32(1, 1);
var alphaValue:uint = pixelValue >> 24 & 0xFF;
var red:uint = pixelValue >> 16 & 0xFF;
var green:uint = pixelValue >> 8 & 0xFF;
var blue:uint = pixelValue & 0xFF;

trace(alphaValue.toString(16)); // ff
trace(red.toString(16)); // 44
trace(green.toString(16)); // aa
trace(blue.toString(16)); // cc
getPixels()método 
public function getPixels(rect:Rectangle):ByteArray

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Genera una matriz de bytes de una zona rectangular de datos de píxeles. Escribe un entero sin signo (un valor de píxeles de 32 bits no multiplicado) para cada píxel de la matriz de bytes.

Parámetros

rect:Rectangle — Un área rectangular del objeto BitmapData actual.

Valor devuelto
ByteArray — Una matriz ByteArray que representa los píxeles del objeto Rectangle en cuestión.

Emite
TypeError — rect tiene el valor null.

Véase también


Ejemplo

En el ejemplo siguiente, se crea un objeto BitmapData relleno de píxeles de ruido aleatorio y se utiliza después el método getPixels() para rellenar un objeto ByteArray de valores de píxel del objeto BitmapData.
import flash.display.BitmapData;
import flash.geom.Rectangle;
import flash.utils.ByteArray;

var bmd:BitmapData = new BitmapData(80, 40, true);
var seed:int = int(Math.random() * int.MAX_VALUE);
bmd.noise(seed);

var bounds:Rectangle = new Rectangle(0, 0, bmd.width, bmd.height);
var pixels:ByteArray = bmd.getPixels(bounds);
hitTest()método 
public function hitTest(firstPoint:Point, firstAlphaThreshold:uint, secondObject:Object, secondBitmapDataPoint:Point = null, secondAlphaThreshold:uint = 1):Boolean

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Detecta la zona activa a nivel de píxeles entre una imagen de mapa de bits y un punto, un rectángulo u otra imagen de mapa de bits. Cuando se realiza la prueba de zona activa no se tiene en cuenta expansión, rotación ni ninguna otra transformación de ninguno de los objetos.

Si una imagen es opaca, se considerará un rectángulo totalmente opaco para este método. Las dos imágenes deben ser transparentes para realizar pruebas de zona activa a nivel de píxeles que tengan en cuenta la transparencia. Cuando se comprueban dos imágenes transparentes, los parámetros de umbral alfa controlan qué valores de canal, de 0 a 255, se consideran opacos.

Parámetros

firstPoint:Point — Posición de la esquina superior izquierda de la imagen BitmapData en un espacio de coordenadas arbitrarias. El mismo espacio de coordenadas se utiliza en la definición del parámetro secondBitmapPoint.
 
firstAlphaThreshold:uint — El valor de canal alfa más alto que se considera opaco para esta prueba.
 
secondObject:Object — Un objeto Rectangle, Point, Bitmap o BitmapData.
 
secondBitmapDataPoint:Point (default = null) — Un punto que define una ubicación de píxel en el segundo objeto BitmapData. Utilice este parámetro únicamente cuando el valor de secondObject sea un objeto BitmapData.
 
secondAlphaThreshold:uint (default = 1) — El valor de canal alfa más alto que se considera opaco en el segundo objeto BitmapData. Utilice este parámetro únicamente cuando el valor de secondObject sea un objeto BitmapData, y los dos objetos BitmapData sean transparentes.

Valor devuelto
Boolean — Devuelve el valor true si existe una zona activa; en caso contrario, devuelve false.

Emite
ArgumentError — El parámetro secondObject no es un objeto Point, Rectangle, Bitmap o BitmapData.
 
TypeError — firstPoint tiene el valor null.

Ejemplo

En el ejemplo siguiente, se crea un objeto BitmapData que sólo es opaco en una zona rectangular (20, 20, 40, 40) y se llama al método hitTest() con un objeto Point como secondObject. En la primera llamada, el objeto Point define la esquina superior izquierda del objeto BitmapData, que no es opaca, y en la segunda llamada, define el centro, que es opaco.
import flash.display.BitmapData;
import flash.geom.Rectangle;
import flash.geom.Point;

var bmd1:BitmapData = new BitmapData(80, 80, true, 0x00000000);
var rect:Rectangle = new Rectangle(20, 20, 40, 40);
bmd1.fillRect(rect, 0xFF0000FF);

var pt1:Point = new Point(1, 1);
trace(bmd1.hitTest(pt1, 0xFF, pt1)); // false
var pt2:Point = new Point(40, 40);
trace(bmd1.hitTest(pt1, 0xFF, pt2)); // true
lock()método 
public function lock():void

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Bloquea una imagen de manera que los objetos que hacen referencia al objeto BitmapData como, por ejemplo, los objetos Bitmap, no se actualicen cuando cambia este objeto BitmapData. Para mejorar el rendimiento, utilice este método junto con el método unlock() antes y después de realizar numerosas llamadas al método setPixel() o setPixel32().

Véase también


Ejemplo

En el ejemplo siguiente, se crea un objeto BitmapData basado en la propiedad bitmapData de un objeto Bitmap, picture. A continuación, llama al método lock() antes de llamar a una función personalizada complicada, complexTransformation(), que modifica el objeto BitmapData. (El objeto picture y la función complexTransformation() no se definen en este ejemplo.) Incluso si la función complexTransformation() actualiza la propiedad bitmapData del objeto picture, los cambios no se reflejan hasta que el código llama al método unlock() en el objeto bitmapData:
import flash.display.BitmapData;

var bitmapData:BitmapData = picture.bitmapData;
bitmapData.lock();
bitmapData = complexTransformation(bitmapData);
bitmapData.unlock();
picture.bitmapData = bitmapData;
merge()método 
public function merge(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, redMultiplier:uint, greenMultiplier:uint, blueMultiplier:uint, alphaMultiplier:uint):void

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Realiza una mezcla por canal de una imagen de origen a una imagen de destino. Por cada canal y cada píxel, se calcula un nuevo valor basado en los valores de canal de los píxeles de origen y de destino. Por ejemplo, en el canal rojo, el nuevo valor se calcula de la siguiente forma (donde redSrc es el valor del canal rojo para el píxel de la imagen de origen y redDest es el valor del canal rojo en el píxel correspondiente de la imagen de destino):

new redDest = [(redSrc * redMultiplier) + (redDest * (256 - redMultiplier))] / 256;

El evento redMultiplier, greenMultiplier, blueMultiplier y alphaMultiplier son los multiplicadores empleados para cada canal de color. Utilice un valor hexadecimal comprendido entre 0 y 0x100 (256) donde 0 especifica que se utiliza en el resultado el valor completo del destino, 0x100 especifica que se utiliza el valor completo del origen, y los números entre estos valores indican que se utiliza una mezcla (como 0x80 para el 50%).

Parámetros

sourceBitmapData:BitmapData — La imagen de mapa de bits de entrada que se va a utilizar. La imagen de origen puede ser otro objeto BitmapData o puede hacer referencia al objeto BitmapData actual.
 
sourceRect:Rectangle — Un rectángulo que define el área de la imagen de origen que se va a utilizar como entrada.
 
destPoint:Point — El punto de la imagen de destino (la instancia de BitmapData actual) que corresponde a la esquina superior izquierda del rectángulo de origen.
 
redMultiplier:uint — Valor uint hexadecimal por el que se multiplica el valor del canal rojo.
 
greenMultiplier:uint — Valor uint hexadecimal por el que se multiplica el valor del canal verde.
 
blueMultiplier:uint — Valor uint hexadecimal por el que se multiplica el valor del canal azul.
 
alphaMultiplier:uint — Valor uint hexadecimal por el que se multiplica el valor de transparencia alfa.


Emite
TypeError — sourceBitmapData, sourceRect o destPoint tienen el valor null.

Ejemplo

En el ejemplo siguiente, se crean dos objetos BitmapData. Ambos tienen un tamaño de 100 x 80 píxeles. El primero se rellena de verde y el segundo de rojo. El código llama al método merge(), fundiendo los píxeles del segundo objeto BitmapData con el primer objeto BitmapData, pero sólo en el área rectangular especificada:

import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.geom.Rectangle;
import flash.geom.Point;

var bmd1:BitmapData = new BitmapData(100, 80, true, 0xFF00FF00);
var bmd2:BitmapData = new BitmapData(100, 80, true, 0xFFFF0000);
var rect:Rectangle = new Rectangle(0, 0, 20, 20);
var pt:Point = new Point(20, 20);
var mult:uint = 0x80; // 50%
bmd1.merge(bmd2, rect, pt, mult, mult, mult, mult);

var bm1:Bitmap = new Bitmap(bmd1);
addChild(bm1);
var bm2:Bitmap = new Bitmap(bmd2);
addChild(bm2);
bm2.x = 110;
noise()método 
public function noise(randomSeed: