Referencia de ActionScript® 3.0 para la plataforma de Adobe® Flash®
Inicio  |  Ocultar lista de paquetes y clases |  Paquetes  |  Clases  |  Novedades  |  Índice  |  Apéndices  |  ¿Por qué hay texto en inglés?
Filtros: AIR 30.0 y versiones anteriores, Flash Player 30.0 y versiones anteriores, Flash Lite 4
Flex 4.6 y versiones anteriores, Flash Pro CS6 y versiones anteriores
Ocultar filtros
flash.display 

BitmapData  - AS3

Paquetesx

Nivel superior
adobe.utils
air.desktop
air.net
air.update
air.update.events
coldfusion.air
coldfusion.air.errors
coldfusion.air.events
coldfusion.service
coldfusion.service.events
coldfusion.service.mxml
com.adobe.acm.solutions.authoring.domain.extensions
com.adobe.acm.solutions.ccr.domain.extensions
com.adobe.consulting.pst.vo
com.adobe.dct.component
com.adobe.dct.component.datadictionary
com.adobe.dct.component.datadictionaryElement
com.adobe.dct.component.dataElementsPanel
com.adobe.dct.component.toolbars
com.adobe.dct.event
com.adobe.dct.exp
com.adobe.dct.model
com.adobe.dct.service
com.adobe.dct.service.provider
com.adobe.dct.transfer
com.adobe.dct.util
com.adobe.dct.view
com.adobe.ep.taskmanagement.domain
com.adobe.ep.taskmanagement.event
com.adobe.ep.taskmanagement.filter
com.adobe.ep.taskmanagement.services
com.adobe.ep.taskmanagement.util
com.adobe.ep.ux.attachmentlist.component
com.adobe.ep.ux.attachmentlist.domain
com.adobe.ep.ux.attachmentlist.domain.events
com.adobe.ep.ux.attachmentlist.domain.renderers
com.adobe.ep.ux.attachmentlist.skin
com.adobe.ep.ux.attachmentlist.skin.renderers
com.adobe.ep.ux.content.event
com.adobe.ep.ux.content.factory
com.adobe.ep.ux.content.handlers
com.adobe.ep.ux.content.managers
com.adobe.ep.ux.content.model.asset
com.adobe.ep.ux.content.model.preview
com.adobe.ep.ux.content.model.relation
com.adobe.ep.ux.content.model.search
com.adobe.ep.ux.content.model.toolbar
com.adobe.ep.ux.content.search
com.adobe.ep.ux.content.services
com.adobe.ep.ux.content.services.load
com.adobe.ep.ux.content.services.permissions
com.adobe.ep.ux.content.services.preview
com.adobe.ep.ux.content.services.providers
com.adobe.ep.ux.content.services.query
com.adobe.ep.ux.content.services.relationships
com.adobe.ep.ux.content.services.search.lccontent
com.adobe.ep.ux.content.services.version
com.adobe.ep.ux.content.view
com.adobe.ep.ux.content.view.components.activate
com.adobe.ep.ux.content.view.components.grid
com.adobe.ep.ux.content.view.components.grid.hover
com.adobe.ep.ux.content.view.components.grid.hover.component
com.adobe.ep.ux.content.view.components.grid.renderers
com.adobe.ep.ux.content.view.components.relationships
com.adobe.ep.ux.content.view.components.review
com.adobe.ep.ux.content.view.components.search.renderers
com.adobe.ep.ux.content.view.components.searchpod
com.adobe.ep.ux.content.view.components.toolbar
com.adobe.ep.ux.content.view.components.toolbar.controlRenderers
com.adobe.ep.ux.content.view.components.version
com.adobe.ep.ux.documentsubmit.component
com.adobe.ep.ux.documentsubmit.domain
com.adobe.ep.ux.documentsubmit.skin
com.adobe.ep.ux.taskaction.component
com.adobe.ep.ux.taskaction.domain
com.adobe.ep.ux.taskaction.domain.events
com.adobe.ep.ux.taskaction.skin
com.adobe.ep.ux.taskdetails.component
com.adobe.ep.ux.taskdetails.domain
com.adobe.ep.ux.taskdetails.skin
com.adobe.ep.ux.tasklist.component
com.adobe.ep.ux.tasklist.domain
com.adobe.ep.ux.tasklist.skin
com.adobe.ep.ux.webdocumentviewer.domain
com.adobe.exm.expression
com.adobe.exm.expression.error
com.adobe.exm.expression.event
com.adobe.exm.expression.impl
com.adobe.fiber.runtime.lib
com.adobe.fiber.services
com.adobe.fiber.services.wrapper
com.adobe.fiber.styles
com.adobe.fiber.util
com.adobe.fiber.valueobjects
com.adobe.gravity.binding
com.adobe.gravity.context
com.adobe.gravity.flex.bundleloader
com.adobe.gravity.flex.progress
com.adobe.gravity.flex.serviceloader
com.adobe.gravity.framework
com.adobe.gravity.init
com.adobe.gravity.service.bundleloader
com.adobe.gravity.service.logging
com.adobe.gravity.service.manifest
com.adobe.gravity.service.progress
com.adobe.gravity.tracker
com.adobe.gravity.ui
com.adobe.gravity.utility
com.adobe.gravity.utility.async
com.adobe.gravity.utility.error
com.adobe.gravity.utility.events
com.adobe.gravity.utility.factory
com.adobe.gravity.utility.flex.async
com.adobe.gravity.utility.logging
com.adobe.gravity.utility.message
com.adobe.gravity.utility.sequence
com.adobe.gravity.utility.url
com.adobe.guides.control
com.adobe.guides.domain
com.adobe.guides.i18n
com.adobe.guides.spark.components.skins
com.adobe.guides.spark.components.skins.mx
com.adobe.guides.spark.headers.components
com.adobe.guides.spark.headers.skins
com.adobe.guides.spark.layouts.components
com.adobe.guides.spark.layouts.skins
com.adobe.guides.spark.navigators.components
com.adobe.guides.spark.navigators.renderers
com.adobe.guides.spark.navigators.skins
com.adobe.guides.spark.util
com.adobe.guides.spark.wrappers.components
com.adobe.guides.spark.wrappers.skins
com.adobe.guides.submit
com.adobe.icc.dc.domain
com.adobe.icc.dc.domain.factory
com.adobe.icc.editors.events
com.adobe.icc.editors.handlers
com.adobe.icc.editors.managers
com.adobe.icc.editors.model
com.adobe.icc.editors.model.config
com.adobe.icc.editors.model.el
com.adobe.icc.editors.model.el.operands
com.adobe.icc.editors.model.el.operators
com.adobe.icc.enum
com.adobe.icc.external.dc
com.adobe.icc.obj
com.adobe.icc.services
com.adobe.icc.services.category
com.adobe.icc.services.config
com.adobe.icc.services.download
com.adobe.icc.services.export
com.adobe.icc.services.external
com.adobe.icc.services.formbridge
com.adobe.icc.services.fragmentlayout
com.adobe.icc.services.layout
com.adobe.icc.services.letter
com.adobe.icc.services.locator
com.adobe.icc.services.module
com.adobe.icc.services.render
com.adobe.icc.services.submit
com.adobe.icc.services.user
com.adobe.icc.token
com.adobe.icc.vo
com.adobe.icc.vo.render
com.adobe.icomm.assetplacement.controller
com.adobe.icomm.assetplacement.controller.utils
com.adobe.icomm.assetplacement.data
com.adobe.icomm.assetplacement.model
com.adobe.livecycle.assetmanager.client
com.adobe.livecycle.assetmanager.client.event
com.adobe.livecycle.assetmanager.client.handler
com.adobe.livecycle.assetmanager.client.managers
com.adobe.livecycle.assetmanager.client.model
com.adobe.livecycle.assetmanager.client.model.cms
com.adobe.livecycle.assetmanager.client.service
com.adobe.livecycle.assetmanager.client.service.search
com.adobe.livecycle.assetmanager.client.service.search.cms
com.adobe.livecycle.assetmanager.client.utils
com.adobe.livecycle.content
com.adobe.livecycle.rca.model
com.adobe.livecycle.rca.model.constant
com.adobe.livecycle.rca.model.document
com.adobe.livecycle.rca.model.participant
com.adobe.livecycle.rca.model.reminder
com.adobe.livecycle.rca.model.stage
com.adobe.livecycle.rca.service
com.adobe.livecycle.rca.service.core
com.adobe.livecycle.rca.service.core.delegate
com.adobe.livecycle.rca.service.process
com.adobe.livecycle.rca.service.process.delegate
com.adobe.livecycle.rca.token
com.adobe.livecycle.ria.security.api
com.adobe.livecycle.ria.security.service
com.adobe.mosaic.layouts
com.adobe.mosaic.layouts.dragAndDrop
com.adobe.mosaic.layouts.interfaces
com.adobe.mosaic.mxml
com.adobe.mosaic.om.constants
com.adobe.mosaic.om.events
com.adobe.mosaic.om.impl
com.adobe.mosaic.om.interfaces
com.adobe.mosaic.skinning
com.adobe.mosaic.sparklib.editors
com.adobe.mosaic.sparklib.optionMenu
com.adobe.mosaic.sparklib.scrollableMenu
com.adobe.mosaic.sparklib.scrollableMenu.skins
com.adobe.mosaic.sparklib.tabLayout
com.adobe.mosaic.sparklib.tabLayout.events
com.adobe.mosaic.sparklib.tabLayout.layouts
com.adobe.mosaic.sparklib.tabLayout.skins
com.adobe.mosaic.sparklib.text
com.adobe.mosaic.sparklib.util
com.adobe.solutions.acm.authoring.presentation
com.adobe.solutions.acm.authoring.presentation.actionbar
com.adobe.solutions.acm.authoring.presentation.common
com.adobe.solutions.acm.authoring.presentation.events
com.adobe.solutions.acm.authoring.presentation.fragment
com.adobe.solutions.acm.authoring.presentation.letter
com.adobe.solutions.acm.authoring.presentation.letter.data
com.adobe.solutions.acm.authoring.presentation.preview
com.adobe.solutions.acm.authoring.presentation.rte
com.adobe.solutions.acm.ccr.presentation
com.adobe.solutions.acm.ccr.presentation.contentcapture
com.adobe.solutions.acm.ccr.presentation.contentcapture.events
com.adobe.solutions.acm.ccr.presentation.contentcapture.preview
com.adobe.solutions.acm.ccr.presentation.datacapture
com.adobe.solutions.acm.ccr.presentation.datacapture.renderers
com.adobe.solutions.acm.ccr.presentation.pdf
com.adobe.solutions.exm
com.adobe.solutions.exm.authoring
com.adobe.solutions.exm.authoring.components.controls
com.adobe.solutions.exm.authoring.components.toolbars
com.adobe.solutions.exm.authoring.domain
com.adobe.solutions.exm.authoring.domain.expression
com.adobe.solutions.exm.authoring.domain.impl
com.adobe.solutions.exm.authoring.domain.method
com.adobe.solutions.exm.authoring.domain.variable
com.adobe.solutions.exm.authoring.enum
com.adobe.solutions.exm.authoring.events
com.adobe.solutions.exm.authoring.model
com.adobe.solutions.exm.authoring.renderer
com.adobe.solutions.exm.authoring.view
com.adobe.solutions.exm.expression
com.adobe.solutions.exm.impl
com.adobe.solutions.exm.impl.method
com.adobe.solutions.exm.method
com.adobe.solutions.exm.mock
com.adobe.solutions.exm.mock.method
com.adobe.solutions.exm.runtime
com.adobe.solutions.exm.runtime.impl
com.adobe.solutions.exm.variable
com.adobe.solutions.prm.constant
com.adobe.solutions.prm.domain
com.adobe.solutions.prm.domain.factory
com.adobe.solutions.prm.domain.impl
com.adobe.solutions.prm.domain.manager
com.adobe.solutions.prm.presentation.asset
com.adobe.solutions.prm.presentation.constant
com.adobe.solutions.prm.presentation.document
com.adobe.solutions.prm.presentation.event
com.adobe.solutions.prm.presentation.file
com.adobe.solutions.prm.presentation.project
com.adobe.solutions.prm.presentation.team
com.adobe.solutions.prm.presentation.util
com.adobe.solutions.prm.service
com.adobe.solutions.prm.services.impl
com.adobe.solutions.prm.vo
com.adobe.solutions.rca.constant
com.adobe.solutions.rca.domain
com.adobe.solutions.rca.domain.common
com.adobe.solutions.rca.domain.factory
com.adobe.solutions.rca.domain.impl
com.adobe.solutions.rca.domain.impl.manager
com.adobe.solutions.rca.domain.manager
com.adobe.solutions.rca.presentation
com.adobe.solutions.rca.presentation.comment
com.adobe.solutions.rca.presentation.constant
com.adobe.solutions.rca.presentation.event
com.adobe.solutions.rca.presentation.gantt
com.adobe.solutions.rca.presentation.gantt.ruler
com.adobe.solutions.rca.presentation.template
com.adobe.solutions.rca.presentation.template.audit
com.adobe.solutions.rca.presentation.template.definition
com.adobe.solutions.rca.presentation.template.documents
com.adobe.solutions.rca.presentation.template.stages
com.adobe.solutions.rca.presentation.util
com.adobe.solutions.rca.service
com.adobe.solutions.rca.services.impl
com.adobe.solutions.rca.vo
com.adobe.solutions.rca.vo.um
com.adobe.viewsource
fl.accessibility
fl.containers
fl.controls
fl.controls.dataGridClasses
fl.controls.listClasses
fl.controls.progressBarClasses
fl.core
fl.data
fl.display
fl.events
fl.ik
fl.lang
fl.livepreview
fl.managers
fl.motion
fl.motion.easing
fl.rsl
fl.text
fl.transitions
fl.transitions.easing
fl.video
flash.accessibility
flash.concurrent
flash.crypto
flash.data
flash.desktop
flash.display
flash.display3D
flash.display3D.textures
flash.errors
flash.events
flash.external
flash.filesystem
flash.filters
flash.geom
flash.globalization
flash.html
flash.media
flash.net
flash.net.dns
flash.net.drm
flash.notifications
flash.permissions
flash.printing
flash.profiler
flash.sampler
flash.security
flash.sensors
flash.system
flash.text
flash.text.engine
flash.text.ime
flash.ui
flash.utils
flash.xml
flashx.textLayout
flashx.textLayout.compose
flashx.textLayout.container
flashx.textLayout.conversion
flashx.textLayout.edit
flashx.textLayout.elements
flashx.textLayout.events
flashx.textLayout.factory
flashx.textLayout.formats
flashx.textLayout.operations
flashx.textLayout.utils
flashx.undo
ga.controls
ga.layouts
ga.model
ga.uiComponents
ga.util
ga.views
ga.wrappers
lc.foundation
lc.foundation.domain
lc.foundation.events
lc.foundation.ui
lc.foundation.util
lc.preloader
lc.procmgmt
lc.procmgmt.commands
lc.procmgmt.domain
lc.procmgmt.events
lc.procmgmt.formbridge
lc.procmgmt.impl
lc.procmgmt.ui.attachments
lc.procmgmt.ui.controls
lc.procmgmt.ui.controls.card
lc.procmgmt.ui.controls.renderer
lc.procmgmt.ui.help
lc.procmgmt.ui.layout
lc.procmgmt.ui.presentationmodel
lc.procmgmt.ui.process
lc.procmgmt.ui.search
lc.procmgmt.ui.startpoint
lc.procmgmt.ui.task
lc.procmgmt.ui.task.form
lc.procmgmt.ui.task.form.commands
lc.procmgmt.ui.tracking
mx.accessibility
mx.automation
mx.automation.air
mx.automation.delegates
mx.automation.delegates.advancedDataGrid
mx.automation.delegates.charts
mx.automation.delegates.containers
mx.automation.delegates.controls
mx.automation.delegates.controls.dataGridClasses
mx.automation.delegates.controls.fileSystemClasses
mx.automation.delegates.core
mx.automation.delegates.flashflexkit
mx.automation.events
mx.binding
mx.binding.utils
mx.charts
mx.charts.chartClasses
mx.charts.effects
mx.charts.effects.effectClasses
mx.charts.events
mx.charts.renderers
mx.charts.series
mx.charts.series.items
mx.charts.series.renderData
mx.charts.styles
mx.collections
mx.collections.errors
mx.containers
mx.containers.accordionClasses
mx.containers.dividedBoxClasses
mx.containers.errors
mx.containers.utilityClasses
mx.controls
mx.controls.advancedDataGridClasses
mx.controls.dataGridClasses
mx.controls.listClasses
mx.controls.menuClasses
mx.controls.olapDataGridClasses
mx.controls.scrollClasses
mx.controls.sliderClasses
mx.controls.textClasses
mx.controls.treeClasses
mx.controls.videoClasses
mx.core
mx.core.windowClasses
mx.data
mx.data.crypto
mx.data.errors
mx.data.events
mx.data.messages
mx.data.mxml
mx.data.offline.errors
mx.data.utils
mx.effects
mx.effects.easing
mx.effects.effectClasses
mx.events
mx.filters
mx.flash
mx.formatters
mx.geom
mx.graphics
mx.graphics.codec
mx.graphics.shaderClasses
mx.logging
mx.logging.errors
mx.logging.targets
mx.managers
mx.messaging
mx.messaging.channels
mx.messaging.config
mx.messaging.errors
mx.messaging.events
mx.messaging.management
mx.messaging.messages
mx.modules
mx.netmon
mx.olap
mx.olap.aggregators
mx.preloaders
mx.printing
mx.resources
mx.rpc
mx.rpc.events
mx.rpc.http
mx.rpc.http.mxml
mx.rpc.livecycle
mx.rpc.mxml
mx.rpc.remoting
mx.rpc.remoting.mxml
mx.rpc.soap
mx.rpc.soap.mxml
mx.rpc.wsdl
mx.rpc.xml
mx.skins
mx.skins.halo
mx.skins.spark
mx.skins.wireframe
mx.skins.wireframe.windowChrome
mx.states
mx.styles
mx.utils
mx.validators
org.osmf.containers
org.osmf.display
org.osmf.elements
org.osmf.events
org.osmf.layout
org.osmf.logging
org.osmf.media
org.osmf.metadata
org.osmf.net
org.osmf.net.dvr
org.osmf.net.httpstreaming
org.osmf.net.metrics
org.osmf.net.qos
org.osmf.net.rtmpstreaming
org.osmf.net.rules
org.osmf.traits
org.osmf.utils
spark.accessibility
spark.automation.delegates
spark.automation.delegates.components
spark.automation.delegates.components.gridClasses
spark.automation.delegates.components.mediaClasses
spark.automation.delegates.components.supportClasses
spark.automation.delegates.skins.spark
spark.automation.events
spark.collections
spark.components
spark.components.calendarClasses
spark.components.gridClasses
spark.components.mediaClasses
spark.components.supportClasses
spark.components.windowClasses
spark.core
spark.effects
spark.effects.animation
spark.effects.easing
spark.effects.interpolation
spark.effects.supportClasses
spark.events
spark.filters
spark.formatters
spark.formatters.supportClasses
spark.globalization
spark.globalization.supportClasses
spark.layouts
spark.layouts.supportClasses
spark.managers
spark.modules
spark.preloaders
spark.primitives
spark.primitives.supportClasses
spark.skins
spark.skins.mobile
spark.skins.mobile.supportClasses
spark.skins.spark
spark.skins.spark.mediaClasses.fullScreen
spark.skins.spark.mediaClasses.normal
spark.skins.spark.windowChrome
spark.skins.wireframe
spark.skins.wireframe.mediaClasses
spark.skins.wireframe.mediaClasses.fullScreen
spark.transitions
spark.utils
spark.validators
spark.validators.supportClasses
xd.core.axm.enterprise.view.components
xd.core.axm.enterprise.view.skins
xd.core.axm.view.components
xd.core.axm.view.components.support

Elementos del lenguaje

Constantes globales
Funciones globales
Operadores
Sentencias, palabras clave y directivas
Tipos especiales

Apéndices

Novedades
Errores del compilador
Advertencias del compilador
Errores en tiempo de ejecución
Migración a ActionScript 3
Conjuntos de caracteres admitidos
Solo etiquetas MXML
Elementos Motion XML
Etiquetas de texto temporizado
Lista de elementos desfasados
Constantes de implementación de accesibilidad
Cómo utilizar ejemplos de ActionScript
Avisos legales
Paqueteflash.display
Clasepublic class BitmapData
HerenciaBitmapData Inheritance Object
Implementa IBitmapDrawable

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 9, AIR 1.0, Flash Lite 4

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 un conjunto 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:

  • BitmapDataChannel.ALPHA
  • BitmapDataChannel.RED
  • BitmapDataChannel.GREEN
  • BitmapDataChannel.BLUE

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().

En el motor de ejecución de AIR, las clases DockIcon, Icon, InteractiveIcon y SystemTrayIcon incluyen una propiedad bitmaps que es un conjunto de objetos BitmapData que define las imágenes de mapa de bits de los iconos.

En AIR 1.5 y en Flash Player 10, el tamaño máximo de un objeto BitmapData es 8.191 píxeles de anchura o de altura; el número total de píxeles no puede superar los 16.777.215. (De modo que, si un objeto BitmapData tiene 8.191 píxeles de anchura, tendrá como mucho 2.048 píxeles de altura.) En Flash Player 9 y versiones anteriores, y en AIR 1.1 y versiones anteriores, la limitación es de 2.880 píxeles de altura y 2.880 de anchura.

Desde AIR 3 y Flash Player 11, ya no hay límite de tamaño para un objeto BitmapData. El tamaño máximo de un mapa de bits ahora depende del sistema operativo.

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

Elementos de API relacionados



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
[solo lectura] Altura de la imagen de mapa de bits, expresada en píxeles.
BitmapData
  rect : Rectangle
[solo lectura] Rectángulo que define el tamaño y la ubicación de la imagen de mapa de bits.
BitmapData
  transparent : Boolean
[solo lectura] Define si la imagen de mapa de bits admite transparencia por píxel.
BitmapData
  width : int
[solo lectura] 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
  
Rellena un conjunto de bytes de una zona rectangular de datos de píxeles.
BitmapData
  
Libera memoria que se utiliza para almacenar el objeto BitmapData.
BitmapData
  
draw(source:IBitmapDrawable, matrix:Matrix = null, colorTransform:flash.geom:ColorTransform = null, blendMode:String = null, clipRect:Rectangle = null, smoothing:Boolean = false):void
Dibuja el objeto de visualización source en la imagen de mapa de bits empleando el procesador de vectores del motor de ejecución de Flash.
BitmapData
  
drawWithQuality(source:IBitmapDrawable, matrix:Matrix = null, colorTransform:flash.geom:ColorTransform = null, blendMode:String = null, clipRect:Rectangle = null, smoothing:Boolean = false, quality:String = null):void
Dibuja el objeto de visualización source en la imagen de mapa de bits empleando el procesador de vectores del motor de ejecución de Flash.
BitmapData
  
encode(rect:Rectangle, compressor:Object, byteArray:ByteArray = null):ByteArray
Comprime este objeto BitmapData con el algoritmo compresor seleccionado y devuelve un nuevo objeto ByteArray.
BitmapData
  
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 un conjunto de bytes de una zona rectangular de datos de píxeles.
BitmapData
  
Genera un conjunto de vectores de una zona rectangular de datos de píxeles.
BitmapData
 Inherited
Indica si un objeto tiene definida una propiedad especificada.
Object
  
Calcula el histograma de números binarios de 256 de un objeto BitmapData.
BitmapData
  
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
  
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 un conjunto 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
  
setVector(rect:Rectangle, inputVector:Vector.<uint>):void
Convierte un vector en una zona rectangular de datos de píxeles.
BitmapData
  
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 de este objeto, con formato según las convenciones específicas de configuración regional.
Object
 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

height

propiedad
height:int  [solo lectura]

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 9, AIR 1.0, Flash Lite 4

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



Implementación
    public function get height():int

rect

propiedad 
rect:Rectangle  [solo lectura]

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 9, AIR 1.0, Flash Lite 4

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 a la anchura y a la altura en píxeles del objeto BitmapData.



Implementación
    public function get rect():Rectangle

transparent

propiedad 
transparent:Boolean  [solo lectura]

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 9, AIR 1.0, Flash Lite 4

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

width

propiedad 
width:int  [solo lectura]

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 9, AIR 1.0, Flash Lite 4

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



Implementación
    public function get width():int
Información sobre constructores

BitmapData

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

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 9, AIR 1.0, Flash Lite 4

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.

En AIR 1.5 y en Flash Player 10, el tamaño máximo de un objeto BitmapData es 8.191 píxeles de anchura o de altura; el número total de píxeles no puede superar los 16.777.215. (De modo que, si un objeto BitmapData tiene 8.191 píxeles de anchura, tendrá como mucho 2.048 píxeles de altura.) En Flash Player 9 y versiones anteriores y en AIR 1.1 y versiones anteriores, el límite es 2.880 píxeles de alto y 2.880 píxeles de ancho. 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 superan las dimensiones máximas.
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
Versiones de motor de ejecución: Flash Player 9, AIR 1.0

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, la aplicación utiliza 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, : 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.
  • 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.

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este 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
Versiones de motor de ejecución: Flash Player 9, AIR 1.0, Flash Lite 4

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  ( Cómo utilizar este 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:flash.geom:ColorTransform):void

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 9, AIR 1.0, Flash Lite 4

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:flash.geom: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.

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este 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
Versiones de motor de ejecución: Flash Player 9, AIR 1.0, Flash Lite 4

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:

  • Si dos píxeles son iguales, el píxel de diferencia será 0x00000000.
  • Si dos píxeles tiene diferentes valores RGB (omitiendo el valor alfa), el píxel de diferencia es 0xRRGGBB, donde RR/GG/BB son los valores de diferencia individuales entre los canales rojo, verde y azul (el valor de píxel en el objeto de origen menos el valor de píxel en el objeto otherBitmapData). Las diferencias del canal alfa se omiten en este caso.
  • Si sólo es diferente el valor del canal alfa, el valor de píxel será 0xZZFFFFFF, donde ZZ es la diferencia en los valores alfa (el valor alfa del objeto de origen menos el valor alfa del objeto otherBitmapData).

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 (0xFF0000 y 0xFFAA00). 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  ( Cómo utilizar este 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
Versiones de motor de ejecución: Flash Player 9, AIR 1.0, Flash Lite 4

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:

  • BitmapDataChannel.RED
  • BitmapDataChannel.GREEN
  • BitmapDataChannel.BLUE
  • BitmapDataChannel.ALPHA

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.

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este 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
Versiones de motor de ejecución: Flash Player 9, AIR 1.0, Flash Lite 4

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  ( Cómo utilizar este 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;

copyPixelsToByteArray

()método 
public function copyPixelsToByteArray(rect:Rectangle, data:ByteArray):void

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 11.4, AIR 3.4

Rellena un conjunto de bytes de una zona rectangular de datos de píxeles. Desde el índice position de ByteArray, este método escribe un entero sin signo (un valor de píxel de 32 bits sin multiplicar) por cada píxel en el conjunto de bytes. Si es necesario, el tamaño del conjunto de bytes aumenta hasta el número necesario de bytes para poder contener todos los datos de píxeles.

Parámetros

rect:Rectangle — Área rectangular del objeto BitmapData actual
 
data:ByteArray — El objeto ByteArray de origen


Emite
TypeError — Si el argumento rect es null o el argumento data es null

Elementos de API relacionados

dispose

()método 
public function dispose():void

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 9, AIR 1.0, Flash Lite 4

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.

BitmapData.dispose() libera inmediatamente la memoria ocupada por los datos reales de mapa de bits (un mapa de bits puede consumir hasta 64 MB de memoria). Después de utilizar BitmapData.dispose(), el objeto BitmapData ya no se puede utilizar y el motor de ejecución de Flash emite una excepción si se llama a las funciones en el objeto BitmapData. Sin embargo, BitmapData.dispose() no recopila datos innecesarios del objeto BitmapData (aproximadamente 128 bytes); la memoria ocupada por el objeto BitmapData real se libera en el momento en que se recopilan los datos innecesarios del objeto BitmapData.

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este 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:flash.geom:ColorTransform = null, blendMode:String = null, clipRect:Rectangle = null, smoothing:Boolean = false):void

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 9, AIR 1.0, Flash Lite 4

Dibuja el objeto de visualización source en la imagen de mapa de bits empleando el procesador de vectores del motor de ejecución de Flash. 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).

Nota: El método drawWithQuality() funciona exactamente igual que el método draw(), pero en vez de utilizar la propiedad Stage.quality para determinar la calidad de procesamiento del vector, especifica el parámetro quality para el método drawWithQuality().

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.

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

Si 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 contenido de SWF que sea accesible al origen de la llamada mediante la llamada al método Security.allowDomain(), una llamada al método draw() emite una excepción SecurityReport. Esta restricción no está presente en el contenido de AIR en el entorno limitado de seguridad de la aplicación.

También hay restricciones sobre el uso de una imagen de mapa de bits como source. Una llamada al método draw() es correcta si la imagen cargada proviene del mismo dominio que el elemento que la llama. Asimismo, un archivo de política entre dominios en el servidor de la imagen puede otorgar permisos al dominio del contenido SWF si llama al método draw(). En este caso, debe establecer la propiedad checkPolicyFile de un objeto LoaderContext y utilizarlo como el parámetro context cuando se llama al método load() del objeto Loader empleado para cargar la imagen. Estas restricciones no se aplican al contenido de AIR en el entorno limitado de seguridad de la aplicación.

En Windows, el método draw() no puede capturar contenido de SWF incorporado en una página HTML de un objeto HTMLLoader en Adobe AIR.

El método draw() no puede capturar contenido PDF en Adobe AIR. Tampoco puede capturar o incorporar contenido SWF en HTML donde el atributo wmode está establecido como "window" en Adobe AIR.

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:flash.geom: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:

Dos imágenes: la izquierda con suavizado y la derecha sin suavizado.

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 contenido de SWF que sea accesible al origen de la llamada mediante la llamada al método Security.allowDomain(). Esta restricción no está presente en el contenido de AIR en el entorno limitado de seguridad de la aplicación.
 
ArgumentError — El origen tiene el valor null o no es un objeto IBitmapDrawable válido.

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este 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);

drawWithQuality

()método 
public function drawWithQuality(source:IBitmapDrawable, matrix:Matrix = null, colorTransform:flash.geom:ColorTransform = null, blendMode:String = null, clipRect:Rectangle = null, smoothing:Boolean = false, quality:String = null):void

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 11.3, AIR 3.3

Dibuja el objeto de visualización source en la imagen de mapa de bits empleando el procesador de vectores del motor de ejecución de Flash. 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).

Nota: El método drawWithQuality() funciona exactamente igual que el método draw(), pero en vez de utilizar la propiedad Stage.quality para determinar la calidad de procesamiento del vector, especifica el parámetro quality para el método drawWithQuality().

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.

Este método se admite en RTMP en Flash Player 9.0.115.0 y versiones posteriores, y en Adobe AIR. Puede controlar el acceso a transmisiones en Flash Media Server en un script del lado del servidor. Para obtener 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.

Si 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 contenido que sea accesible al origen de la llamada mediante la llamada al método Security.allowDomain(), una llamada al método drawWithQuality() emite una excepción SecurityReport. Esta restricción no está presente en el contenido de AIR en el entorno limitado de seguridad de la aplicación.

También hay restricciones sobre el uso de una imagen de mapa de bits como source. Una llamada al método drawWithQuality() es correcta si la imagen cargada proviene del mismo dominio que el elemento que la llama. Asimismo, un archivo de política entre dominios en el servidor de la imagen puede otorgar permisos al dominio del contenido SWF si llama al método drawWithQuality(). En este caso, debe establecer la propiedad checkPolicyFile de un objeto LoaderContext y utilizarlo como el parámetro context cuando se llama al método load() del objeto Loader empleado para cargar la imagen. Estas restricciones no se aplican al contenido de AIR en el entorno limitado de seguridad de la aplicación.

En Windows, el método drawWithQuality() no puede capturar contenido de SWF incorporado en una página HTML de un objeto HTMLLoader en Adobe AIR.

El método drawWithQuality() no puede capturar contenido PDF en Adobe AIR. Tampoco puede capturar o incorporar contenido SWF en HTML donde el atributo wmode está establecido como "window" en Adobe AIR.

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:flash.geom: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:

Dos imágenes: la izquierda con suavizado y la derecha sin suavizado.

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

 
quality:String (default = null) — Cualquiera de los valores de StageQuality. Selecciona la calidad de suavizado que se utilizará al dibujar gráficos vectoriales.


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 contenido de SWF que sea accesible al origen de la llamada mediante la llamada al método Security.allowDomain(). Esta restricción no está presente en el contenido de AIR en el entorno limitado de seguridad de la aplicación.
 
ArgumentError — El origen tiene el valor null o no es un objeto IBitmapDrawable válido.

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este 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.drawWithQuality(tf, , , , , , StageQuality.LOW);
var bmp:Bitmap = new Bitmap(myBitmapData);
this.addChild(bmp);

encode

()método 
public function encode(rect:Rectangle, compressor:Object, byteArray:ByteArray = null):ByteArray

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 11.3, AIR 3.3

Comprime este objeto BitmapData con el algoritmo compresor seleccionado y devuelve un nuevo objeto ByteArray. Opcionalmente, escribe los datos resultantes en el objeto ByteArray especificado. El argumento compressor especifica el algoritmo de codificación y puede ser PNGEncoderOptions, JPEGEncoderOptions o JPEGXREncoderOptions.

El siguiente ejemplo se comprime un objeto BitmapData con JPEGEncoderOptions:

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

Parámetros

rect:Rectangle — El área del objeto BitmapData que se va a comprimir.
 
compressor:Object — El tipo compresor para utilizar. Los valores válidos son: flash.display.PNGEncoderOptions, flash.display.JPEGEncoderOptions y flash.display.JPEGXREncoderOptions.
 
byteArray:ByteArray (default = null) — La salida ByteArray para mantener la imagen codificada.

Valor devuelto
ByteArray — Un objeto ByteArray que contenga la imagen codificada.

Elementos de API relacionados

fillRect

()método 
public function fillRect(rect:Rectangle, color:uint):void

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 9, AIR 1.0, Flash Lite 4

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.

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este 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
Versiones de motor de ejecución: Flash Player 9, AIR 1.0, Flash Lite 4

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  ( Cómo utilizar este 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
Versiones de motor de ejecución: Flash Player 9, AIR 1.0

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  ( Cómo utilizar este 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
Versiones de motor de ejecución: Flash Player 9, AIR 1.0, Flash Lite 4

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  ( Cómo utilizar este 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
Versiones de motor de ejecución: Flash Player 9, AIR 1.0, Flash Lite 4

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.

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este 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(0, 0);
trace(pixelValue.toString(16)); // ff0000;

getPixel32

()método 
public function getPixel32(x:int, y:int):uint

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 9, AIR 1.0, Flash Lite 4

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.

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este 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(0, 0);
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
Versiones de motor de ejecución: Flash Player 9, AIR 1.0, Flash Lite 4

Genera un conjunto 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 del conjunto de bytes.

Parámetros

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

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

Emite
TypeError — rect tiene el valor null.

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este 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);

getVector

()método 
public function getVector(rect:Rectangle):Vector.<uint>

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10, AIR 1.5, Flash Lite 4

Genera un conjunto de vectores de una zona rectangular de datos de píxeles. Devuelve un objeto Vector de enteros sin signo (valor en píxeles sin multiplicar de 32 bits) para el rectángulo especificado.

Parámetros

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

Valor devuelto
Vector.<uint> — Un objeto Vector que representa el objeto Rectangle determinado.

Emite
TypeError — rect tiene el valor null.

histogram

()método 
public function histogram(hRect:Rectangle = null):Vector.<Vector.<Number>>

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10, AIR 1.5, Flash Lite 4

Calcula el histograma de números binarios de 256 de un objeto BitmapData. Este método devuelve un objeto Vector con cuatro instancias de Vector.<Number> (cuatro objetos Vector que contienen objetos Number). Las cuatro instancias de Vector representan los componentes rojo, verde, azul y alfa en ese orden. Cada instancia de Vector contiene 256 valores que representan el recuento de relleno de un valor de componente individual, de 0 a 255.

Parámetros

hRect:Rectangle (default = null) — El área del objeto BitmapData que se va a utilizar.

Valor devuelto
Vector.<Vector.<Number>>

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
Versiones de motor de ejecución: Flash Player 9, AIR 1.0, Flash Lite 4

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. Una zona activa se define como la superposición de un punto o un rectángulo en un píxel opaco, o la superposición de dos píxeles opacos. 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 bajo 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 bajo 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  ( Cómo utilizar este 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
Versiones de motor de ejecución: Flash Player 9, AIR 1.0

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().

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este 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
Versiones de motor de ejecución: Flash Player 9, AIR 1.0, Flash Lite 4

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  ( Cómo utilizar este 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:int, low:uint = 0, high:uint = 255, channelOptions:uint = 7, grayScale:Boolean = false):void

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 9, AIR 1.0

Rellena una imagen con píxeles que representan ruido aleatorio.

Parámetros

randomSeed:int — El número de inicialización aleatorio que se va a utilizar. Si mantiene iguales todos los demás parámetros, podrá generar resultados seudo-aleatorios variando el valor de inicialización aleatorio. La función de ruido es una función de asignación y no una verdadera función de generación de ruido aleatorio, por lo que producirá siempre los mismos resultados con el mismo valor de inicialización aleatorio.
 
low:uint (default = 0) — El valor más bajo que se va a generar para cada canal (de 0 a 255).
 
high:uint (default = 255) — El valor más alto que se va a generar para cada canal (de 0 a 255).
 
channelOptions:uint (default = 7) — Un número que puede ser una combinación de cualquiera de los cuatro valores de canal de color (BitmapDataChannel.RED, BitmapDataChannel.BLUE, BitmapDataChannel.GREEN y BitmapDataChannel.ALPHA). Puede utilizar el operador lógico OR (|) para combinar valores de canal.
 
grayScale:Boolean (default = false) — Valor booleano. Si es true, se creará una imagen en escala de grises estableciendo todos los canales de color con el mismo valor. La selección del canal alfa no se ve afectada por el establecimiento de este parámetro como true.

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este ejemplo )

En el ejemplo siguiente, se crean dos objetos BitmapData y se llama al método noise() para ambos. Sin embargo, el parámetro grayscale se establece como false en la llamada al método noise() del primer objeto, y como true en la llamada al método noise() del segundo objeto:
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.BitmapDataChannel;

var bmd1:BitmapData = new BitmapData(80, 80);
var bmd2:BitmapData = new BitmapData(80, 80);

var seed:int = int(Math.random() * int.MAX_VALUE);
bmd1.noise(seed, 0, 0xFF, BitmapDataChannel.RED, false);
bmd2.noise(seed, 0, 0xFF, BitmapDataChannel.RED, true);

var bm1:Bitmap = new Bitmap(bmd1);
this.addChild(bm1);
var bm2:Bitmap = new Bitmap(bmd2);
this.addChild(bm2);
bm2.x = 90;

paletteMap

()método 
public function paletteMap(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, redArray:Array = null, greenArray:Array = null, blueArray:Array = null, alphaArray:Array = null):void

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 9, AIR 1.0, Flash Lite 4

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.

El motor de ejecución de Flash utiliza los siguientes pasos para generar la imagen resultante:

  1. Después de calcular los valores rojo, verde, azul y alfa, se suman utilizando aritmética estándar de enteros de 32 bits.
  2. Los valores del canal rojo, azul, verde y alfa de cada píxel se extraen en valores entre 0 y 255 independientes. A continuación se utilizan estos valores para consultar nuevos valores de color en el conjunto adecuado: redArray, greenArray, blueArray y alphaArray. Cada uno de estos conjuntos debe contener 256 valores.
  3. Después de recuperar los cuatro valores de canal nuevos, se combinan en un valor ARGB estándar que se aplica al píxel.

Este método admite efectos intercanal. Cada conjunto de entrada puede contener valores completos de 32 bits, y no se produce desplazamiento cuando se suman los valores. Esta rutina no admite fijación de canales individuales.

Si no se especifica ningún conjunto para un canal, el canal de color se copia desde la imagen de origen hasta la de destino.

Puede emplear este método para diversos efectos, como asignación de paleta general (tomando un canal y convirtiéndolo en una imagen de color falso). También puede utilizarlo para una gran variedad de algoritmos de manipulación de color avanzados, como gamma, curvas, niveles y cuantificació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 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 (el objeto BitmapData actual) que corresponde a la esquina superior izquierda del rectángulo de origen.
 
redArray:Array (default = null) — Si redArray no tiene el valor null, red = redArray[source red value] else red = source rect value.
 
greenArray:Array (default = null) — Si greenArray no tiene el valor null, green = greenArray[source green value] else green = source green value.
 
blueArray:Array (default = null) — Si blueArray no tiene el valor null, blue = blueArray[source blue value] else blue = source blue value.
 
alphaArray:Array (default = null) — Si alphaArray no tiene el valor null, alpha = alphaArray[source alpha value] else alpha = source alpha value.


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

Ejemplo  ( Cómo utilizar este ejemplo )

En el ejemplo siguiente, se crea un objeto BitmapData verde con un cuadrado rojo en el centro y se utiliza el método paletteMap() para intercambiar el rojo por el verde en la mitad rectangular inferior del objeto BitmapData:
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.geom.Rectangle;
import flash.geom.Point;

var myBitmapData:BitmapData = new BitmapData(80, 80, false, 0x00FF0000);
myBitmapData.fillRect(new Rectangle(20, 20, 40, 40), 0x0000FF00);

var redArray:Array = new Array(256);
var greenArray:Array = new Array(256);

for(var i:uint = 0; i < 255; i++) {
    redArray[i] = 0x00000000;
    greenArray[i] = 0x00000000;
}

redArray[0xFF] = 0x0000FF00;
greenArray[0xFF] = 0x00FF0000;

var bottomHalf:Rectangle = new Rectangle(0, 0, 100, 40);
var pt:Point = new Point(0, 0);
myBitmapData.paletteMap(myBitmapData, bottomHalf, pt, redArray, greenArray);

var bm1:Bitmap = new Bitmap(myBitmapData);
addChild(bm1);

perlinNoise

()método 
public function perlinNoise(baseX:Number, baseY:Number, numOctaves:uint, randomSeed:int, stitch:Boolean, fractalNoise:Boolean, channelOptions:uint = 7, grayScale:Boolean = false, offsets:Array = null):void

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 9, AIR 1.0

Genera una imagen de ruido Perlin.

El algoritmo de generación de ruido Perlin interpola y combina funciones individuales de ruido aleatorio (denominadas octavas) en una función única que genera ruido aleatorio de aspecto más natural. Como las octavas musicales, cada función de octava es dos veces la frecuencia de la anterior. El ruido Perlin se ha descrito como una "suma fractal de ruido", ya que combina múltiples conjuntos de datos de ruido con distintos niveles de detalle.

Las funciones de ruido Perlin pueden emplearse para simular fenómenos naturales y paisajes, como la fibra de la madera, nubes o montañas. En la mayoría de los casos, el resultado de esta función no se muestra directamente, sino que se utiliza para procesar otras imágenes y darles variaciones seudo-aleatorias.

Las funciones digitales sencillas de ruido aleatorio producen a menudo imágenes con puntos contrastados y discordantes. Este tipo de contraste no suele darse en la naturaleza. El algoritmo de ruido Perlin combina varias funciones de ruido que funcionan en distintos niveles de detalle. Este algoritmo produce menores variaciones entre los valores de píxel colindantes.

Parámetros

baseX:Number — La frecuencia que se va a utilizar en la dirección x. Por ejemplo, para generar un ruido con el tamaño ajustado para una imagen de 64 x 128, pase 64 como valor baseX.
 
baseY:Number — La frecuencia que se va a utilizar en la dirección y. Por ejemplo, para generar un ruido con el tamaño ajustado para una imagen de 64 x 128, pase 128 como valor baseY.
 
numOctaves:uint — Número de octavas o funciones de ruido individuales que se va a combinar para crear este ruido. Cuanto mayor sea el número de octavas más detalladas serán las imágenes. Asimismo, un número elevado de octavas requiere más tiempo de procesamiento.
 
randomSeed:int — El número de inicialización aleatorio que se va a utilizar. Si mantiene iguales todos los demás parámetros, podrá generar resultados seudo-aleatorios variando el valor de inicialización aleatorio. La función de ruido Perlin es una función de asignación y no una verdadera función de generación de ruido aleatorio, por lo que producirá siempre los mismos resultados con el mismo valor de inicialización aleatorio.
 
stitch:Boolean — Valor booleano. Si es true, intenta suavizar los bordes de transición de la imagen para crear texturas totalmente integradas para mosaico como relleno de mapa de bits.
 
fractalNoise:Boolean — Valor booleano. Si el valor es true, el método genera ruido fractal; en caso contrario, genera turbulencia. Una imagen con turbulencia presenta discontinuidades visibles en el degradado que pueden producir efectos visuales más nítidos, como llamas u olas del mar.
 
channelOptions:uint (default = 7) — Un número que puede ser una combinación de cualquiera de los cuatro valores de canal de color (BitmapDataChannel.RED, BitmapDataChannel.BLUE, BitmapDataChannel.GREEN y BitmapDataChannel.ALPHA). Puede utilizar el operador lógico OR (|) para combinar valores de canal.
 
grayScale:Boolean (default = false) — Valor booleano. Si es true, se creará una imagen en escala de grises utilizando valores idénticos para todos los canales de color rojo, verde y azul. El valor del canal alfa no se ve afectado si este valor se establece como true.
 
offsets:Array (default = null) — Un conjunto de puntos que corresponde a desplazamientos x e y para cada octava. La manipulación de los valores de desplazamiento permite desplazarse con suavidad por una imagen con perlinNoise. Cada punto del conjunto de desplazamiento afecta a una función de ruido de octava específica.


Ejemplo  ( Cómo utilizar este ejemplo )

En el ejemplo siguiente, se crea un objeto BitmapData de 200 x 200 píxeles que llama al método perlinNoise() para generar un efecto de acuarela rojo y azul:
import flash.display.Bitmap;
import flash.display.BitmapData;

var bmd:BitmapData = new BitmapData(200, 200, false, 0x00CCCCCC);

var seed:Number = Math.floor(Math.random() * 10);
var channels:uint = BitmapDataChannel.RED | BitmapDataChannel.BLUE;
bmd.perlinNoise(100, 80, 6, seed, false, true, channels, false, null);

var bm:Bitmap = new Bitmap(bmd);
addChild(bm);

pixelDissolve

()método 
public function pixelDissolve(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, randomSeed:int = 0, numPixels:int = 0, fillColor:uint = 0):int

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 9, AIR 1.0

Realiza una disolución de píxeles de una imagen de origen a una imagen de destino o utilizando la misma imagen. El motor de ejecución de Flash utiliza un valor randomSeed para generar una disolución de píxeles aleatoria. El valor devuelto por la función debe pasarse en llamadas posteriores para continuar la disolución de píxeles hasta terminar.

Si la imagen de origen no es igual a la de destino, los píxeles se copiarán desde el origen hasta el destino utilizando todas las propiedades. Este proceso permite disolver desde una imagen en blanco hasta una imagen completamente llena.

Si las imágenes de origen y destino son iguales, los píxeles se rellenan con el parámetro color. Este proceso permite disolver desde una imagen completamente llena. En este modo se ignora el parámetro point de destino.

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 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.
 
randomSeed:int (default = 0) — El valor de inicialización aleatorio que se va a utilizar para comenzar la disolución de píxeles.
 
numPixels:int (default = 0) — El valor predeterminado es 1/30 del área de origen (anchura x altura).
 
fillColor:uint (default = 0) — Un valor de color ARGB que se utiliza para rellenar los píxeles con un valor de origen igual al de destino.

Valor devuelto
int — El nuevo valor de inicialización aleatorio que se va a utilizar para llamadas posteriores.

Emite
TypeError — sourceBitmapData, sourceRect o destPoint tienen el valor null.
 
TypeError — El valor de numPixels es negativo.

Ejemplo  ( Cómo utilizar este ejemplo )

En el ejemplo siguiente, se utiliza el método pixelDissolve() para convertir un objeto BitmapData gris a uno rojo disolviendo 40 píxeles a la vez hasta que todos los píxeles hayan cambiado de color:
import flash.display.BitmapData;
import flash.display.Bitmap;
import flash.geom.Point;
import flash.geom.Rectangle;
import flash.utils.Timer;
import flash.events.TimerEvent;

var bmd:BitmapData = new BitmapData(100, 80, false, 0x00CCCCCC);
var bitmap:Bitmap = new Bitmap(bmd);
addChild(bitmap);

var tim:Timer = new Timer(20);
tim.start();
tim.addEventListener(TimerEvent.TIMER, timerHandler);
 
function timerHandler(event:TimerEvent):void {
    var randomNum:Number = Math.floor(Math.random() * int.MAX_VALUE);
    dissolve(randomNum);
}

function dissolve(randomNum:Number):void {
    var rect:Rectangle = bmd.rect;
    var pt:Point = new Point(0, 0);
    var numberOfPixels:uint = 100;
    var red:uint = 0x00FF0000;
    bmd.pixelDissolve(bmd, rect, pt, randomNum, numberOfPixels, red);
    var grayRegion:Rectangle = bmd.getColorBoundsRect(0xFFFFFFFF, 0x00CCCCCC, true);
    if(grayRegion.width == 0 && grayRegion.height == 0 ) {
        tim.stop();
    }
}

scroll

()método 
public function scroll(x:int, y:int):void

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 9, AIR 1.0

Desplaza una imagen una determinada cantidad de píxeles (x, y). Las regiones del borde fuera del área de desplazamiento permanecen sin modificar.

Parámetros

x:int — La cantidad en la que se realiza desplazamiento horizontal.
 
y:int — La cantidad en la que se realiza desplazamiento vertical.


Ejemplo  ( Cómo utilizar este ejemplo )

En el ejemplo siguiente, se muestra el efecto de desplazamiento de un objeto de datos Bitmap 40 píxeles a la derecha:
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.geom.Rectangle;

var bmd:BitmapData = new BitmapData(80, 80, true, 0xFFCCCCCC);
var rect:Rectangle = new Rectangle(0, 0, 40, 40);
bmd.fillRect(rect, 0xFFFF0000);
            
var bm:Bitmap = new Bitmap(bmd);
addChild(bm);

trace (bmd.getPixel32(50, 20).toString(16)); // ffcccccccc

bmd.scroll(30, 0); 

trace (bmd.getPixel32(50, 20).toString(16)); // ffff0000

setPixel

()método 
public function setPixel(x:int, y:int, color:uint):void

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 9, AIR 1.0, Flash Lite 4

Establece un solo píxel de un objeto BitmapData. Durante esta operación se mantiene el valor del canal alfa actual del píxel de la imagen. El valor del parámetro de color RGB se trata como un valor de color no multiplicado.

Nota: para aumentar el rendimiento al utilizar el método setPixel() o setPixel32() repetidamente, llame al método lock() antes de llamar a setPixel() o setPixel32() y luego llame al método unlock() cuando haya realizado todos los cambios de píxeles. Este proceso evita que los objetos que hacen referencia a esta instancia de BitmapData se actualicen hasta que termine de realizar los cambios en los píxeles.

Parámetros

x:int — La posición x del píxel cuyo valor cambia.
 
y:int — La posición y del píxel cuyo valor cambia.
 
color:uint — El color RGB resultante para el píxel.

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este ejemplo )

En el ejemplo siguiente, se utiliza el método setPixel() para dibujar una línea roja en un objeto BitmapData:
import flash.display.Bitmap;
import flash.display.BitmapData;

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

for (var i:uint = 0; i < 80; i++) {
    var red:uint = 0xFF0000;
    bmd.setPixel(i, 40, red);
}

var bm:Bitmap = new Bitmap(bmd);
addChild(bm);

setPixel32

()método 
public function setPixel32(x:int, y:int, color:uint):void

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 9, AIR 1.0, Flash Lite 4

Establece los valores de color y transparencia alfa de un solo píxel de un objeto BitmapData. Este método es similar a setPixel(); la diferencia principal radica en que el método setPixel32() toma un valor de color ARGB que contiene información 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.

Nota: para aumentar el rendimiento al utilizar el método setPixel() o setPixel32() repetidamente, llame al método lock() antes de llamar a setPixel() o setPixel32() y luego llame al método unlock() cuando haya realizado todos los cambios de píxeles. Este proceso evita que los objetos que hacen referencia a esta instancia de BitmapData se actualicen hasta que termine de realizar los cambios en los píxeles.

Parámetros

x:int — La posición x del píxel cuyo valor cambia.
 
y:int — La posición y del píxel cuyo valor cambia.
 
color:uint — El color ARGB resultante para el píxel. Si el mapa de bits es opaco (no transparente), se ignora la parte de transparencia alfa de este valor de color.

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este ejemplo )

En el ejemplo siguiente, se utiliza el método setPixel32() para dibujar una línea roja transparente (alfa == 0x60) en un objeto BitmapData:
import flash.display.Bitmap;
import flash.display.BitmapData;

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

for (var i:uint = 0; i < 80; i++) {
    var red:uint = 0x60FF0000;
    bmd.setPixel32(i, 40, red);
}

var bm:Bitmap = new Bitmap(bmd);
addChild(bm);

setPixels

()método 
public function setPixels(rect:Rectangle, inputByteArray:ByteArray):void

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 9, AIR 1.0, Flash Lite 4

Convierte un conjunto de bytes en una zona rectangular de datos de píxeles. Por cada píxel, se llama al método ByteArray.readUnsignedInt() y se escribe el valor devuelto en el píxel. Si el conjunto de bytes termina antes de que se escriba en todo el rectángulo, la función devuelve un valor. Se espera que los datos del conjunto de bytes sean valores de píxeles ARGB de 32 bits. No se realiza ninguna búsqueda en el conjunto de bytes ni antes ni después de que se lean los píxeles.

Parámetros

rect:Rectangle — Especifica la zona rectangular del objeto BitmapData.
 
inputByteArray:ByteArray — Objeto ByteArray que consta de valores de píxel no multiplicados de 32 bits que se va a utilizar en la zona rectangular.


Emite
EOFError — El objeto inputByteArray no incluye suficientes datos como para llenar el área del rectángulo rect. El método rellena la mayor cantidad posible de píxeles antes de emitir la excepción.
 
TypeError — rect o inputByteArray tienen el valor null.

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este ejemplo )

En el ejemplo siguiente, se utilizan los métodos getPixels() y setPixels() para copiar píxeles de un objeto BitmapData a otro:
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.utils.ByteArray;
import flash.geom.Rectangle;

var bmd1:BitmapData = new BitmapData(100, 100, true, 0xFFCCCCCC);
var bmd2:BitmapData = new BitmapData(100, 100, true, 0xFFFF0000);

var rect:Rectangle = new Rectangle(0, 0, 100, 100);
var bytes:ByteArray = bmd1.getPixels(rect);

bytes.position = 0;
bmd2.setPixels(rect, bytes);

var bm1:Bitmap = new Bitmap(bmd1);
addChild(bm1);
var bm2:Bitmap = new Bitmap(bmd2);
addChild(bm2);
bm2.x = 110;

setVector

()método 
public function setVector(rect:Rectangle, inputVector:Vector.<uint>):void

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10, AIR 1.5, Flash Lite 4

Convierte un vector en una zona rectangular de datos de píxeles. Para cada píxel, se lee un elemento Vector y se escribe en el píxel de BitmapData. Se espera que los datos del vector sean valores de píxeles ARGB de 32 bits.

Parámetros

rect:Rectangle — Especifica la zona rectangular del objeto BitmapData.
 
inputVector:Vector.<uint> — Un objeto Vector que consta de valores de píxel no multiplicados de 32 bits que se va a utilizar en la zona rectangular.


Emite
RangeError — El conjunto de vectores no es lo suficientemente grande para leer todos los datos de píxeles.

threshold

()método 
public function threshold(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, operation:String, threshold:uint, color:uint = 0, mask:uint = 0xFFFFFFFF, copySource:Boolean = false):uint

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 9, AIR 1.0

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. El método threshold() permite aislar y reemplazar rangos de color en una imagen y realizar otras operaciones lógicas en los píxeles de la imagen.

La lógica de prueba del método threshold() es la siguiente:

  1. Si ((pixelValue & mask) operation (threshold & mask)), se debería definir el píxel como color;
  2. En caso contrario, si copySource == true, se debe definir el píxel con el correspondiente valor de píxel de sourceBitmap.

El parámetro operation especifica el operador de comparación que se va a utilizar para la prueba de umbral. Por ejemplo, utilizando "==" como parámetro operation, puede aislar el valor de un color específico de una imagen. O bien, si utiliza {operation: "<", mask: 0xFF000000, threshold: 0x7F000000, color: 0x00000000}, puede definir todos los píxeles de destino como totalmente transparentes cuando el alfa del píxel de la imagen de origen sea menor que 0x7F. Puede utilizar esta técnica para transiciones animadas y otros efectos.

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.
 
operation:String — Uno de los siguientes operadores de comparación, pasados como una cadena: "<", "<=", ">", ">=", "==", "!="
 
threshold:uint — El valor con el que se prueba cada píxel para comprobar si está dentro o supera el umbral.
 
color:uint (default = 0) — El valor de color con el que se define un píxel si se supera la prueba de umbral. El valor predeterminado es 0x00000000.
 
mask:uint (default = 0xFFFFFFFF) — La máscara que se va a emplear para aislar un componente de color.
 
copySource:Boolean (default = false) — Si el valor es true, los valores de píxel de la imagen de origen se copian al destino cuando falla la prueba de umbral. Si es false, la imagen de origen no se copia cuando falla la prueba de umbral.

Valor devuelto
uint — El número de píxeles modificados.

Emite
TypeError — sourceBitmapData, sourceRect, destPoint o la operación tienen el valor null.
 
ArgumentError — La cadena de operación no es una operación válida.

Ejemplo  ( Cómo utilizar este ejemplo )

En el ejemplo siguiente, se utiliza el método perlinNoise() para agregar un patrón azul y rojo a un objeto BitmapData y se emplea después el método threshold() para copiar dichos píxeles desde el primer objeto BitmapData al segundo, reemplazando aquellos con el valor rojo mayor que 0x80 (50%) por un píxel establecido como rojo transparente (0x20FF0000):
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.BitmapDataChannel;
import flash.geom.Point;
import flash.geom.Rectangle;

var bmd1:BitmapData = new BitmapData(200, 200, true, 0xFFCCCCCC);

var seed:int = int(Math.random() * int.MAX_VALUE);
var channels:uint = BitmapDataChannel.RED | BitmapDataChannel.BLUE;
bmd1.perlinNoise(100, 80, 12, seed, false, true, channels, false, null);

var bitmap1:Bitmap = new Bitmap(bmd1);
addChild(bitmap1);

var bmd2:BitmapData = new BitmapData(200, 200, true, 0xFFCCCCCC);
var pt:Point = new Point(0, 0);
var rect:Rectangle = new Rectangle(0, 0, 200, 200);
var threshold:uint =  0x00800000; 
var color:uint = 0x20FF0000;
var maskColor:uint = 0x00FF0000;
bmd2.threshold(bmd1, rect, pt, ">", threshold, color, maskColor, true);

var bitmap2:Bitmap = new Bitmap(bmd2);
bitmap2.x = bitmap1.x + bitmap1.width + 10;
addChild(bitmap2);

unlock

()método 
public function unlock(changeRect:Rectangle = null):void

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 9, AIR 1.0

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. Para mejorar el rendimiento, utilice este método junto con el método lock() antes y después de realizar numerosas llamadas al método setPixel() o setPixel32().

Parámetros

changeRect:Rectangle (default = null) — El área del objeto BitmapData que ha cambiado. Si no especifica ningún valor para este parámetro, se considerará que ha cambiado toda el área del objeto BitmapData. Este parámetro requiere la versión 9.0.115.0 de Flash Player o una versión posterior.

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este 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;
BitmapDataExample.as

En el ejemplo siguiente, se utiliza la clase BitmapDataExample para cargar la imagen Image.gif en el objeto DisplayObject en la ubicación predeterminada (0, 0). A continuación, se coloca una copia de Image.gif a la derecha del original, que tiene nuevos colores aplicados a los píxeles que pasan una prueba con el método threshold(). Esta tarea se consigue con los pasos siguientes:
  1. Se crea una propiedad url, que es la ubicación y el nombre del archivo de imagen.
  2. El constructor de la clase crea un objeto Loader, que a su vez crea la instancia de un detector de eventos que se distribuye cuando el método completeHandler() finaliza la manipulación de la imagen.
  3. El objeto URLRequest request se transfiere seguidamente a loader.load(), que carga la imagen en la memoria mediante un objeto de visualización.
  4. La imagen se incluye entonces en la lista de visualización, que muestra la imagen en la pantalla con las coordenadas x = 0, y = 0.
  5. El método completeHandler() realiza lo siguiente:
    • Crea un segundo objeto Loader, junto con Bitmap, que se inicializa con el objeto Loader.
    • Crea un segundo objeto Bitmap, duplicate, que a su vez llama al método duplicateImage(), 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 (en este ejemplo, gris claro con un alfa de 0xCC).
      • color: el color con el que se definen los píxeles que superan la prueba de umbral, que en este caso es amarillo sólido.
      • mask: el contrario exacto del color (azul transparente).
      • copySource: se establece como false, lo que indica que los valores de píxel no se copian si no se 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 una anchura aproximada de 80 píxeles 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 BitmapDataExample extends Sprite {
        private var url:String = "Image.gif";
        private var size:uint = 80;

        public function BitmapDataExample() {
            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);
        }
    }
}
BitmapDataExample2.as





[ X ]¿Por qué hay texto en inglés?
Cierto contenido de la Referencia de ActionScript 3.0 se muestra en inglés

No todo el contenido de la Referencia de ActionScript 3.0 se traduce a todos los idiomas. Si un elemento del lenguaje no se traduce, aparecerá en inglés. Por ejemplo, la clase ga.controls.HelpBox no está traducida en ningún idioma. Por lo tanto, en la versión en español de la referencia, la clase ga.controls.HelpBox aparecerá en inglés.