Referência do ActionScript® 3.0 para Adobe® Flash® Platform
Início  |  Ocultar listas de Pacotes e Classes |  Pacotes  |  Classes  |  Novidades  |  Índice  |  Apêndices  |  Por que inglês?
Filtros: AIR 30.0 e anterior, Flash Player 30.0 e anterior, Flash Lite 4
Flex 4.6 e anterior, Flash Pro CS6 e anterior
Ocultar filtros
flash.display 

BitmapData  - AS3

Pacotesx

Nível 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 de linguagem

Constantes globais
Funções globais
Operadores
Instruções, palavras-chave e diretivas
Tipos especiais

Apêndices

Novidades
Erros do compilador
Avisos do compilador
Erros de runtime
Migrando para o ActionScript 3
Conjuntos de caracteres suportados
Tags MXML apenas
Elementos XML de movimento
Marcas de texto cronometradas
Lista de elementos deprecados
Constantes de Implementação de Acessibilidade
Como Usar Exemplos do ActionScript
Aspectos jurídicos
Pacoteflash.display
Classepublic class BitmapData
HerançaBitmapData Inheritance Object
Implementações IBitmapDrawable

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 9, AIR 1.0, Flash Lite 4

A classe BitmapData permite trabalhar com os dados (pixels) de um objeto Bitmap. Você pode usar os métodos da classe BitmapData para criar imagens bitmap transparentes ou opacas arbitrariamente dimensionadas e manipulá-las de várias maneiras em tempo de execução. Você também pode acessar o BitmapData para uma imagem bitmap carregada com a classe flash.display.Loader.

Essa classe permite separar operações de renderização de bitmap das rotinas internas de atualização da exibição do Flash Player. Ao manipular diretamente um objeto BitmapData, você pode criar imagens complexas sem fica sujeito à sobrecarga por quadro do redesenho constante do conteúdo a partir de dados vetoriais.

Os métodos da classe BitmapData oferecem suporte a efeitos que não estão disponíveis por meio dos filtros disponíveis a objetos de exibição não bitmap.

Um objeto BitmapData contém uma matriz de dados de pixel. Esses dados podem representar um bitmap totalmente opaco ou um bitmap transparente que contém dados de canais alfa. Qualquer um desses tipos de objeto BitmapData é armazenado como um buffer de inteiros de 32 bits. Cada inteiro de 32 bits determina as propriedades de um único pixel no bitmap.

Cada inteiro de 32 bits é uma combinação de quatro valores de canal de 8 bits (de 0 a 255) que descrevem a transparência de alfa e os valores de vermelho, verde e azul (ARGB) do pixel. (Para valores ARGB, o byte mais significativo representa o valor do canal alfa, seguido de vermelho, verde e azul.)

Os quatro canais (alfa, vermelho, verde e azul) são representados como números usados com o método BitmapData.copyChannel() ou as propriedades DisplacementMapFilter.componentX e DisplacementMapFilter.componentY e esses números são representados pelas seguintes constantes na classe BitmapDataChannel:

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

Você pode anexar objetos BitmapData a um objeto Bitmap usando a propriedade bitmapData do objeto Bitmap.

Um objeto BitmapData pode ser usado para preencher um objeto Graphics usando o método Graphics.beginBitmapFill().

No tempo de execução do AIR, as classes DockIcon, Icon, InteractiveIcon e SystemTrayIcon incluem cada uma propriedade bitmaps que está em uma matriz de objetos BitmapData que definem as imagens de bitmap de um ícone.

No AIR 1.5 e no Flash Player 10, o tamanho máximo de um objeto BitmapData é de 8.191 pixels de largura ou de altura, e o número total de pixels não pode exceder 16.777.215 pixels. (Dessa forma, caso um objeto BitmapData tenha 8.191 pixels de largura, ele só pode ter 2.048 pixels de altura.) No Flash Player 9 e anteriores e no AIR 1.1 e anteriores, a limitação é de 2.880 de altura e de 2.880 pixels de largura.

A partir do AIR 3 e Flash player 11, os limites de tamanho para um objeto BitmapData foram removidos. O tamanho máximo de um bitmap agora depende do sistema operacional.

As chamadas a qualquer método ou propriedade de um objeto BitmapData lançarão um erro ArgumentError se o objeto BitmapData for inválido (por exemplo, se tiver altura == 0 e largura == 0) ou se tiver sido descartado via dispose().

Veja os exemplos

Elementos da API relacionados



Propriedades públicas
 PropriedadeDefinido por
 Inheritedconstructor : Object
Uma referência ao objeto de classe ou à função de construtor de uma determinada ocorrência de objeto.
Object
  height : int
[somente leitura] A altura da imagem bitmap, em pixels.
BitmapData
  rect : Rectangle
[somente leitura] O retângulo que define o tamanho e a localização da imagem bitmap.
BitmapData
  transparent : Boolean
[somente leitura] Define se a imagem bitmap oferece suporte à transparência por pixel.
BitmapData
  width : int
[somente leitura] A largura da imagem bitmap, em pixels.
BitmapData
Métodos públicos
 MétodoDefinido por
  
BitmapData(width:int, height:int, transparent:Boolean = true, fillColor:uint = 0xFFFFFFFF)
Cria um objeto BitmapData com uma largura e altura especificadas.
BitmapData
  
applyFilter(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, filter:BitmapFilter):void
Usa uma imagem de origem e um objeto de filtro e gera a imagem filtrada.
BitmapData
  
Retorna um novo objeto BitmapData que é clone da ocorrência original com uma cópia exata do bitmap contido.
BitmapData
  
Ajusta os valores de cor em uma área especificada de uma imagem bitmap usando um objeto ColorTransform.
BitmapData
  
compare(otherBitmapData:BitmapData):Object
Compara dois objetos BitmapData.
BitmapData
  
copyChannel(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, sourceChannel:uint, destChannel:uint):void
Transfere dados de um canal de outro objeto BitmapData ou do objeto BitmapData atual para um canal do objeto BitmapData atual.
BitmapData
  
copyPixels(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, alphaBitmapData:BitmapData = null, alphaPoint:Point = null, mergeAlpha:Boolean = false):void
Fornece uma rotina rápida para executar a manipulação de pixels entre imagens sem estiramento, giro ou efeitos de cor.
BitmapData
  
Preenche uma matriz de bytes com base em uma região retangular dos dados de pixels.
BitmapData
  
Libera a memória usada para armazenar o objeto BitmapData.
BitmapData
  
draw(source:IBitmapDrawable, matrix:Matrix = null, colorTransform:flash.geom:ColorTransform = null, blendMode:String = null, clipRect:Rectangle = null, smoothing:Boolean = false):void
Desenha o objeto de exibição original na imagem bitmap, usando o renderizador de vetores do tempo de execução do 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
Desenha o objeto de exibição original na imagem bitmap, usando o renderizador de vetores do tempo de execução do Flash.
BitmapData
  
encode(rect:Rectangle, compressor:Object, byteArray:ByteArray = null):ByteArray
Compacta este objeto BitmapData usando o algoritmo de compactação selecionado e retorna um novo objeto ByteArray.
BitmapData
  
Preenche uma área retangular de pixels com uma cor ARGB especificada.
BitmapData
  
floodFill(x:int, y:int, color:uint):void
Realiza uma operação de preenchimento em uma imagem, começando em uma coordenada (x, y) e preenchendo com uma certa cor.
BitmapData
  
Determina o retângulo de destino afetado pela chamada do método applyFilter(), considerando um objeto BitmapData, um retângulo de origem e um objeto de filtro.
BitmapData
  
getColorBoundsRect(mask:uint, color:uint, findColor:Boolean = true):Rectangle
Determina uma região retangular que delimita totalmente todos os pixels de uma cor especificada dentro da imagem bitmap (se o parâmetro localizarCor estiver definido como "true") ou que delimita totalmente todos os pixels que não incluem a cor especificada (se o parâmetro localizarCor estiver definido como "false").
BitmapData
  
Retorna um inteiro que representa um valor de pixel RGB a partir do objeto BitmapData em um ponto específico (x, y).
BitmapData
  
Retorna um valor de cor ARGB que contém dados de canais alfa e dados RGB.
BitmapData
  
Gera uma matriz de bytes a partir de uma região retangular dos dados de pixels.
BitmapData
  
Gera uma matriz de vetores a partir de uma região retangular dos dados de pixel.
BitmapData
 Inherited
Indica se um objeto tem uma propriedade especificada definida.
Object
  
Calcula um histograma de número binário de valor 256 de um objeto BitmapData.
BitmapData
  
hitTest(firstPoint:Point, firstAlphaThreshold:uint, secondObject:Object, secondBitmapDataPoint:Point = null, secondAlphaThreshold:uint = 1):Boolean
Realiza a detecção de ocorrências em nível de pixels entre uma imagem bitmap e um ponto, um retângulo ou outra imagem bitmap.
BitmapData
 Inherited
Indica se uma ocorrência da classe Object está na cadeia de protótipos do objeto especificado como o parâmetro.
Object
  
Bloqueia uma imagem de forma que qualquer objeto que faça referência ao objeto BitmapData, como objetos Bitmap, não seja atualizado quando esse objeto BitmapData for alterado.
BitmapData
  
merge(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, redMultiplier:uint, greenMultiplier:uint, blueMultiplier:uint, alphaMultiplier:uint):void
Realiza a mesclagem por canal a partir de uma imagem de origem para uma imagem de destino.
BitmapData
  
noise(randomSeed:int, low:uint = 0, high:uint = 255, channelOptions:uint = 7, grayScale:Boolean = false):void
Preenche uma imagem com pixels que representam ruído aleatório.
BitmapData
  
paletteMap(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, redArray:Array = null, greenArray:Array = null, blueArray:Array = null, alphaArray:Array = null):void
Remapeia os valores dos canais de cor em uma imagem que possui até quatro matrizes de dados de paleta de cores, uma para 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
Gera uma imagem de ruído Perlin.
BitmapData
  
pixelDissolve(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, randomSeed:int = 0, numPixels:int = 0, fillColor:uint = 0):int
Realiza uma operação de dissolver pixels a partir de uma imagem de origem para uma imagem de destino ou usando a mesma imagem.
BitmapData
 Inherited
Indica se a propriedade especificada existe e é enumerável.
Object
  
Rola uma imagem em uma certa quantidade de pixels (x, y).
BitmapData
  
setPixel(x:int, y:int, color:uint):void
Define um único pixel de um objeto BitmapData.
BitmapData
  
setPixel32(x:int, y:int, color:uint):void
Define os valores de cor e transparência alfa de um único pixel de um objeto BitmapData.
BitmapData
  
setPixels(rect:Rectangle, inputByteArray:ByteArray):void
Converte uma matriz de bytes em uma região retangular de dados de pixels.
BitmapData
 Inherited
Define a disponibilidade de uma propriedade dinâmica para operações de repetição.
Object
  
setVector(rect:Rectangle, inputVector:Vector.<uint>):void
Converte um Vector em uma região retangular de dados de pixels.
BitmapData
  
threshold(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, operation:String, threshold:uint, color:uint = 0, mask:uint = 0xFFFFFFFF, copySource:Boolean = false):uint
Testa valores de pixels em uma imagem com base em um limite especificado e define os pixels aprovados no texto como novos valores de cor.
BitmapData
 Inherited
Retorna a representação da string deste objeto, formatado segundo as convenções específicas para a localidade.
Object
 Inherited
Retorna a representação de string do objeto especificado.
Object
  
unlock(changeRect:Rectangle = null):void
Desbloqueia uma imagem de forma que qualquer objeto que faça referência ao objeto BitmapData, como objetos Bitmap, seja atualizado quando esse objeto BitmapData for alterado.
BitmapData
 Inherited
Retorna o valor primitivo do objeto especificado.
Object
Detalhes da propriedade

height

propriedade
height:int  [somente leitura]

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 9, AIR 1.0, Flash Lite 4

A altura da imagem bitmap, em pixels.



Implementação
    public function get height():int

rect

propriedade 
rect:Rectangle  [somente leitura]

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 9, AIR 1.0, Flash Lite 4

O retângulo que define o tamanho e a localização da imagem bitmap. As partes superior e esquerda do retângulo são 0; a largura e a altura são iguais à largura e à altura em pixels do objeto BitmapData.



Implementação
    public function get rect():Rectangle

transparent

propriedade 
transparent:Boolean  [somente leitura]

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 9, AIR 1.0, Flash Lite 4

Define se a imagem bitmap oferece suporte à transparência por pixel. Você pode definir esse valor apenas ao construir um objeto BitmapData transmitindo true para o parâmetro transparente do construtor. Em seguida, depois de criar um objeto BitmapData, você poderá verificar se ele oferece suporte à transparência por pixel determinando se o valor da propriedade transparent é true.



Implementação
    public function get transparent():Boolean

width

propriedade 
width:int  [somente leitura]

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 9, AIR 1.0, Flash Lite 4

A largura da imagem bitmap, em pixels.



Implementação
    public function get width():int
Detalhes do construtor

BitmapData

()Construtor
public function BitmapData(width:int, height:int, transparent:Boolean = true, fillColor:uint = 0xFFFFFFFF)

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 9, AIR 1.0, Flash Lite 4

Cria um objeto BitmapData com uma largura e altura especificadas. Se você especificar um valor para o parâmetro fillColor, cada pixel no bitmap será definido como essa cor.

Por padrão, o bitmap é criado como transparente, a não ser que você transmita o valor false para o parâmetro transparent. Depois de criar um bitmap opaco, não é possível alterá-lo para um bitmap transparente. Cada pixel em um bitmap opaco usa apenas 24 bits de informações de canais de cor. Se você definir o bitmap como transparente, cada pixel usará 32 bits de informações de canais de cor, incluindo um canal de transparência alfa.

No AIR 1.5 e no Flash Player 10, o tamanho máximo de um objeto BitmapData é de 8.191 pixels de largura ou de altura, e o número total de pixels não pode exceder 16.777.215 pixels. (Dessa forma, caso um objeto BitmapData tenha 8.191 pixels de largura, ele só pode ter 2.048 pixels de altura.) No Flash Player 9 e anteriores e no AIR 1.1 e anteriores, a limitação é de 2.880 pixels de altura e de 2.880 pixels de largura. Se você especificar um valor de altura ou largura maior do que 2.880, uma nova ocorrência não será criada.

Parâmetros
width:int — A largura da imagem bitmap, em pixels.
 
height:int — A altura da imagem bitmap, em pixels.
 
transparent:Boolean (default = true) — Especifica se a imagem bitmap oferece suporte à transparência por pixel. O valor padrão é true (transparente). Para criar um bitmap totalmente transparente, defina o valor do parâmetro transparent como true e o valor do parâmetro fillColor como 0x00000000 (ou 0). Definir a propriedade transparent como false pode resultar em melhorias secundárias no desempenho de renderização.
 
fillColor:uint (default = 0xFFFFFFFF) — Um valor de cor ARGB de 32 bits usado para preencher a área da imagem bitmap. O valor padrão é 0xFFFFFFFF (branco sólido).

Lança
ArgumentError — largura e/ou altura excede as dimensões máximas.
Detalhes do método

applyFilter

()método
public function applyFilter(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, filter:BitmapFilter):void

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 9, AIR 1.0

Usa uma imagem de origem e um objeto de filtro e gera a imagem filtrada.

Esse método depende do comportamento de objetos de filtro embutidos, que determinam o retângulo de destino que é afetado por um retângulo de origem de entrada.

Após a aplicação de um filtro, a imagem resultante pode ser maior do que a imagem de entrada. Por exemplo, se você uma classe BlurFilter para aplicar desfoque a um retângulo de origem de (50,50,100,100) e um ponto de destino de (10,10), a área que será alterada na imagem de destino será maior do que (10,10,60,60) por causa do desfoque. Isso acontece internamente durante a chamada applyFilter().

Se o parâmetro retOrigem do parâmetro dadosBitmapOrigem for uma região interior, como (50,50,100,100) em uma imagem de 200 x 200, o filtro usará os pixels de origem fora do parâmetro retOrigem para gerar o retângulo de destino.

Se o objeto BitmapData e o objeto especificado como o parâmetro sourceBitmapData forem o mesmo objeto, o aplicativo usará uma cópia temporária do objeto para realizar a filtragem. Para obter o melhor desempenho, evite essa situação.

Parâmetros

sourceBitmapData:BitmapData — A imagem bitmap de entrada a ser usada. A imagem de origem pode ser um objeto BitmapData diferente ou pode fazer referência à ocorrência atual de BitmapData.
 
sourceRect:Rectangle — Um retângulo que define a área da imagem de origem a ser usada como entrada.
 
destPoint:Point — O ponto na imagem de destino (a ocorrência atual de BitmapData) que corresponde ao canto superior esquerdo do retângulo de origem.
 
filter:BitmapFilter — O objeto de filtro que você usa para realizar a operação de filtragem. Cada tipo de filtro tem certos requisitos, como os seguintes:
  • BlurFilter — esse filtro pode usar imagens de origem e destino que são opacas ou transparentes. Se os formatos das imagens não corresponderem, a cópia da imagem de origem feita durante a filtragem corresponderá ao formato da imagem de destino.
  • BevelFilter, DropShadowFilter, GlowFilter — a imagem de destino desses filtros deve ser uma imagem transparente. Chamar DropShadowFilter ou GlowFilter cria uma imagem que contém os dados de canais alfa da sombra projetada ou do brilho. Isso não cria uma sombra projetada na imagem de destino. Se você usar qualquer um desses filtros com uma imagem de destino opaca, uma exceção será lançada.
  • ConvolutionFilter — esse filtro pode usar imagens de origem e destino que são opacas ou transparentes.
  • ColorMatrixFilter — esse filtro pode usar imagens de origem e destino que são opacas ou transparentes.
  • DisplacementMapFilter — esse filtro pode usar imagens de origem e destino que são opacas ou transparentes, mas os formatos dessas imagens devem ser idênticos.


Lança
TypeError — Os parâmetros dadosBitmapOrigem, retOrigem, pontoDest ou filtro são "null".
 
IllegalOperationError — A transparência dos objetos BitmapData não é compatível com a operação de filtro.

Elementos da API relacionados


Exemplo  ( Como usar este exemplo )

O exemplo a seguir mostra como aplicar um filtro de desfoque a uma ocorrência 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

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 9, AIR 1.0, Flash Lite 4

Retorna um novo objeto BitmapData que é clone da ocorrência original com uma cópia exata do bitmap contido.

Retorna
BitmapData — Um novo objeto BitmapData é idêntico ao original.

Exemplo  ( Como usar este exemplo )

O exemplo a seguir mostra como clonar uma ocorrência de BitmapData e mostra que, quando a ocorrência de BitmapData clonada é modificada, o original permanece inalterado:
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

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 9, AIR 1.0, Flash Lite 4

Ajusta os valores de cor em uma área especificada de uma imagem bitmap usando um objeto ColorTransform. Se o retângulo corresponder aos limites da imagem bitmap, esse método transformará os valores de cor da imagem inteira.

Parâmetros

rect:Rectangle — Um objeto Rectangle que define a área da imagem na qual o objeto ColorTransform é aplicado.
 
colorTransform:flash.geom:ColorTransform — Um objeto ColorTransform que descreve os valores de transformação de cor a serem aplicados.


Lança
TypeError — O parâmetro ret ou transformaçãoCor é "null".

Elementos da API relacionados


Exemplo  ( Como usar este exemplo )

O exemplo a seguir mostra como aplicar uma transformação de cor à metade esquerda (retângulo) de um 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

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 9, AIR 1.0, Flash Lite 4

Compara dois objetos BitmapData. Se dois objetos BitmapData tiverem as mesmas dimensões (largura e altura), o método retornará um novo objeto BitmapData, no qual cada pixel é a "diferença" entre os pixels nos dois objetos de origem:

  • Se dois pixels forem iguais, o pixel de diferença será 0x00000000.
  • Se dois pixels tiverem valores RGB diferentes (ignorando o valor alfa), o pixel de diferença será 0xRRGGBB, em que RR/GG/BB são os valores de diferença individuais entre os canais de vermelho, verde e azul (o valor de pixel no objeto de origem menos o valor de pixel no objeto otherBitmapData). Diferenças de canais alfa são ignoradas nesse caso.
  • Se apenas o valor do canal alfa for diferente, o valor do pixel será 0xZZFFFFFF, em que ZZ é a diferença nos valores alfa (o valor alfa no objeto de origem menos o valor alfa no objeto otherBitmapData).

Por exemplo, considere os dois objetos BitmapData a seguir:

     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
     

Observação: As cores usadas para preencher os dois objetos BitmapData têm valores RGB um pouco diferentes (0xFF0000 e 0xFFAA00). O resultado do método compare() é um novo objeto BitmapData com cada pixel mostrando a diferença nos valores RGB entre os dois bitmaps.

Considere os dois objetos BitmapData a seguir, nos quais as cores RGB são as mesmas, mas os valores alfa são 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
     

O resultado do método compare() é um novo objeto BitmapData com cada pixel mostrando a diferença nos valores alfa entre os dois bitmaps.

Se os objetos BitmapData forem equivalentes (com as mesmas largura e altura e valores de pixels idênticos), o método retornará o número 0.

Se as larguras dos objetos BitmapData não forem iguais, o método retornará o número -3.

Se as alturas dos objetos BitmapData não forem iguais, mas as larguras forem as mesmas, o método retornará o número -4.

O exemplo a seguir compara dois objetos Bitmap com larguras diferentes (50 e 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 — O objeto BitmapData a ser comparado com o objeto BitmapData de origem.

Retorna
Object — Se dois objetos BitmapData tiverem as mesmas dimensões (largura e altura), o método retornará um novo objeto BitmapData que tem a diferença entre os dois objetos (consulte a discussão principal). Se os objetos BitmapData forem equivalentes, o método retornará o número 0. Se as larguras dos objetos BitmapData não forem iguais, o método retornará o número -3. Se as alturas dos objetos BitmapData não forem iguais, o método retornará o número -4.

Lança
TypeError — O parâmetro outrosDadosBitmap é "null".

Exemplo  ( Como usar este exemplo )

O exemplo a seguir mostra o valor de um pixel no objeto BitmapData resultante da comparação de dois objetos BitmapData com as mesmas dimensões:
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

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 9, AIR 1.0, Flash Lite 4

Transfere dados de um canal de outro objeto BitmapData ou do objeto BitmapData atual para um canal do objeto BitmapData atual. Todos os dados nos outros canais do objeto BitmapData são preservados.

O valor do canal de origem e o valor do canal de destino podem ser um dos seguintes:

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

Parâmetros

sourceBitmapData:BitmapData — A imagem bitmap de entrada a ser usada. A imagem de origem pode ser um objeto BitmapData diferente ou pode fazer referência ao objeto BitmapData atual.
 
sourceRect:Rectangle — O objeto Rectangle de origem. Para copiar apenas os dados de canal de uma área menor no bitmap, especifique um retângulo de origem que seja menor do que o tamanho geral do objeto BitmapData.
 
destPoint:Point — O objeto Point de destino que representa o canto superior esquerdo da área retangular na qual os novos dados de canal são inseridos. Para copiar apenas os dados de canal de uma área para uma área diferente na imagem de destino, especifique um ponto diferente de (0,0).
 
sourceChannel:uint — O canal de origem. Use um valor da classe BitmapDataChannel (BitmapDataChannel.RED, BitmapDataChannel.BLUE, BitmapDataChannel.GREEN, BitmapDataChannel.ALPHA).
 
destChannel:uint — O canal de destino. Use um valor da classe BitmapDataChannel (BitmapDataChannel.RED, BitmapDataChannel.BLUE, BitmapDataChannel.GREEN, BitmapDataChannel.ALPHA).


Lança
TypeError — Os parâmetros dadosBitmapOrigem, retOrigem ou pontoDest são "null".

Elementos da API relacionados


Exemplo  ( Como usar este exemplo )

O exemplo a seguir mostra como copiar o canal de vermelho em um objeto BitmapData para o seu próprio canal de azul em uma região de 20 x 20 pixels:
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

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 9, AIR 1.0, Flash Lite 4

Fornece uma rotina rápida para executar a manipulação de pixels entre imagens sem estiramento, giro ou efeitos de cor. Esse método copia uma área retangular de uma imagem de origem em uma área retangular com o mesmo tamanho no ponto de destino do objeto BitmapData de destino.

Se você incluir os parâmetros alfaBitmap e pontoAlfa, poderá usar uma imagem secundária como origem alfa para a imagem de origem. Se a imagem de origem tiver dados alfa, ambos os conjuntos de dados alfa serão usados para compor pixels da imagem de origem para a imagem de destino. O parâmetro pontoAlfa é o ponto na imagem alfa que corresponde ao canto superior esquerdo do retângulo de origem. Nenhum dos pixels fora da interseção da imagem de origem e da imagem alfa é copiado para a imagem de destino.

A propriedade mergeAlpha controla se o canal alfa é o não usado quando uma imagem transparente é copiada em outra imagem transparente. Para copiar pixels com os dados de canal alfa, defina a propriedade mergeAlpha como true. Por padrão, a propriedade mergeAlpha é false.

Parâmetros

sourceBitmapData:BitmapData — A imagem bitmap de entrada a partir da qual copiar os pixels. A imagem de origem pode ser uma ocorrência diferente de BitmapData diferente ou pode fazer referência à ocorrência atual de BitmapData.
 
sourceRect:Rectangle — Um retângulo que define a área da imagem de origem a ser usada como entrada.
 
destPoint:Point — O objeto de destino que representa o canto superior esquerdo da área retangular na qual os novos pixels são inseridos.
 
alphaBitmapData:BitmapData (default = null) — Uma origem de objeto BitmapData alfa secundária.
 
alphaPoint:Point (default = null) — O ponto na origem do objeto BitmapData alfa que corresponde ao canto superior esquerdo do parâmetro retOrigem.
 
mergeAlpha:Boolean (default = false) — Para usar o canal alfa, defina o valor como true. Para copiar pixels sem canal alfa, defina o valor como false.


Lança
TypeError — Os parâmetros dadosBitmapOrigem, retOrigem ou pontoDest são "null".

Exemplo  ( Como usar este exemplo )

O exemplo a seguir mostra como copiar pixels de uma região de 20 x 20 pixels em um objeto BitmapData para outro 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

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 11.4, AIR 3.4

Preenche uma matriz de bytes com base em uma região retangular dos dados de pixels. Iniciando-se do índice da posição do ByteArray, este método escreve um inteiro sem sinal (um valor de pixel não multiplicado de 32 bits) para cada pixel em uma matriz de bytes. Se for necessário, o tamanho da matriz de bytes é aumentada para o número necessário de bytes para armazenar todos os dados de pixels.

Parâmetros

rect:Rectangle — Uma área retangular no objeto BitmapData atual
 
data:ByteArray — o destino do objeto ByteArray


Lança
TypeError — se o argumento rect for null ou o argumento de dados for null

Elementos da API relacionados

dispose

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

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 9, AIR 1.0, Flash Lite 4

Libera a memória usada para armazenar o objeto BitmapData.

Quando o método dispose() é chamado em uma imagem, a largura e a altura dessa imagem são definidas como 0. Todas as chamadas subsequentes a métodos ou propriedades dessa ocorrência de BitmapData falharão e uma exceção será lançada.

BitmapData.dispose() libera a memória ocupada pelos dados de reais do bitmap, imediatamente (um bitmap pode consumir até 64 Mb da memória). Depois de usar BitmapData.dispose(), o objeto de BitmapData não é mais utilizável e o tempo de execução de Flash lança uma exceção se você chamar funções no objeto BitmapData. No entanto, BitmapData.dispose() não faz a coleta do lixo do objeto BitmapData (aproximadamente 128 bytes); a memória ocupada pelo objeto BitmapData real é liberada no momento em que o objeto de BitmapData é reunido pelo coletor de lixo.

Elementos da API relacionados


Exemplo  ( Como usar este exemplo )

O exemplo a seguir mostra o efeito de chamar um método de um objeto BitmapData após uma chamada ao método dispose() (uma exceção é lançada):
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

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 9, AIR 1.0, Flash Lite 4

Desenha o objeto de exibição source na imagem bitmap, usando o renderizador de vetores do tempo de execução do Flash. Você pode especificar o parâmetro matrix, transformaçãoCor, modoMesclagem e um parâmetro retCorte de destino para controlar como é feita a renderização. Opcionalmente, é possível especificar se o bitmap deve ser suavizado quando dimensionado (isso apenas funcionará se o objeto de origem for um objeto BitmapData).

Nota: O método drawWithQuality() funciona exatamente como o método draw(), mas em vez de usar a propriedade Stage.quality para determinar a qualidade da renderização de vetor, você especifica o parâmetro quality para o método drawWithQuality().

Esse método corresponde diretamente a como os objetos são desenhados com o renderizador de vetores padrão para objetos na interface da ferramenta de autoria.

O objeto de exibição de origem não usa nenhuma de suas transformações aplicadas para essa chamada. Ele é tratado como existente na biblioteca ou no arquivo, sem transformação de matriz, transformação de cor e modo de mesclagem. Para desenhar um objeto de exibição (como um clipe de filme) usando suas próprias propriedades de transformação, você pode copiar a propriedade transform do objeto para a propriedade transform do objeto Bitmap que usa o objeto BitmapData.

Este método é suportado pelo RTMP no Flash Player 9.0.115.0 e posterior e no Adobe AIR. Você pode controlar o acesso a fluxos no Flash Media Server em um script do lado do servidor. Para obter mais informações, consulte as propriedades Client.audioSampleAccess e Client.videoSampleAccess na Referência de lado do servidor do ActionScript para Adobe Flash Media Server.

Se o objeto source e (no caso de um objeto Sprite ou MovieClip) todos os seus objetos filhos não são provenientes do mesmo domínio do chamador ou não estão em um conteúdo acessível ao chamador depois que ele chamar o métodoSecurity.allowDomain(), uma chamada para o draw() lança uma exceção de SecurityError. Esta restrição não se aplica ao conteúdo do AIR na área de segurança do aplicativo.

Também há restrições quanto ao uso de uma imagem bitmap carregada como source. Uma chamada para o método draw() é bem-sucedida caso a imagem carregada esteja no mesmo domínio do chamador. Além disso, um arquivo de política em vários domínios no servidor da imagem pode conceder a permissão ao domínio do conteúdo SWF que chama o método draw(). Nesse caso, você deve definir a propriedade checkPolicyFile de um objeto LoaderContext, além de usar esse objeto como o parâmetro context durante a chamada do método load() do objeto Loader usado para carregar a imagem. Essas restrições não se aplicam ao conteúdo do AIR na área de segurança do aplicativo.

No Windows, o método draw() não pode capturar o conteúdo SWF incorporado em uma página HTML em um objeto HTMLLoader no Adobe AIR.

O método draw() não pode capturar conteúdo PDF no Adobe AIR. Ele também não pode capturar ou incorporar conteúdo SWF em HTML em que o atributo wmode é definido como "window" no Adobe AIR.

Parâmetros

source:IBitmapDrawable — O objeto de exibição ou o objeto BitmapData a ser desenhado para o objeto BitmapData. (As classes DisplayObject e BitmapData implementam a interface IBitmapDrawable.)
 
matrix:Matrix (default = null) — Um objeto Matrix usado para dimensionar, girar ou converter as coordenadas do bitmap. Se você não quiser aplicar uma transformação de matriz à imagem, defina esse parâmetro como uma matriz de identidade, criada com o construtor new Matrix() padrão, ou transmita um valor null.
 
colorTransform:flash.geom:ColorTransform (default = null) — Um objeto ColorTransform que você usa para ajustar os valores de cor do bitmap. Se nenhum objeto for fornecido, as cores da imagem bitmap não serão transformadas. Se você precisar transmitir esse parâmetro, mas não quiser transformar a imagem, defina-o para um objeto ColorTransform criado com o construtor new ColorTransform() padrão.
 
blendMode:String (default = null) — Um valor de string, da classe flash.display.BlendMode, especificando o modo de mesclagem a ser aplicado ao bitmap resultante.
 
clipRect:Rectangle (default = null) — Um objeto Rectangle que define a área do objeto de origem a ser desenhado. Se você não fornecer esse valor, nenhum corte ocorrerá e o objeto de origem inteiro será desenhado.
 
smoothing:Boolean (default = false) — Um valor booliano que determina se um objeto BitmapData é suavizado quando dimensionado ou girado, devido a um dimensionamento ou giro no parâmetro matrix. O parâmetro suavização apenas será aplicável se o parâmetro origem for um objeto BitmapData. Com o parâmetro suavização definido como false, a imagem BitmapData dimensionada ou girada pode aparecer pixelizada ou irregular. Por exemplo, as duas imagens a seguir usam o mesmo objeto BitmapData para o parâmetro origem, mas o parâmetro suavização está definido como true à esquerda e como false à direita:

Duas imagens: a esquerda com suavização e a direita sem suavização.

Desenhar um bitmap com o parâmetro suavização definido como true demora mais do que fazer o mesmo com o parâmetro suavização definido como false.


Lança
ArgumentError — O parâmetro origem não é um objeto BitmapData ou DisplayObject.
 
SecurityError — O objeto source e (no caso de um objeto Sprite ou MovieClip) todos os respectivos objetos-filho não são provenientes do mesmo domínio do chamador ou não estão em um conteúdo acessível ao chamador depois que ele chamar o método Security.allowDomain(). Esta restrição não se aplica ao conteúdo do AIR na área de segurança do aplicativo.
 
ArgumentError — A origem é nula ou não é um objeto IBitmapDrawable válido.

Elementos da API relacionados


Exemplo  ( Como usar este exemplo )

O exemplo a seguir mostra como desenhar um objeto TextField em um 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

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 11.3, AIR 3.3

Desenha o objeto de exibição source na imagem bitmap, usando o renderizador de vetores do tempo de execução do Flash. Você pode especificar o parâmetro matrix, transformaçãoCor, modoMesclagem e um parâmetro retCorte de destino para controlar como é feita a renderização. Opcionalmente, é possível especificar se o bitmap deve ser suavizado quando dimensionado (isso apenas funcionará se o objeto de origem for um objeto BitmapData).

Nota: O método drawWithQuality() funciona exatamente como o método draw(), mas em vez de usar a propriedade Stage.quality para determinar a qualidade da renderização de vetor, você especifica o parâmetro quality para o método drawWithQuality().

Esse método corresponde diretamente a como os objetos são desenhados com o renderizador de vetores padrão para objetos na interface da ferramenta de autoria.

O objeto de exibição de origem não usa nenhuma de suas transformações aplicadas para essa chamada. Ele é tratado como existente na biblioteca ou no arquivo, sem transformação de matriz, transformação de cor e modo de mesclagem. Para desenhar um objeto de exibição (como um clipe de filme) usando suas próprias propriedades de transformação, você pode copiar a propriedade transform do objeto para a propriedade transform do objeto Bitmap que usa o objeto BitmapData.

Este método é suportado pelo RTMP no Flash Player 9.0.115.0 e posterior e no Adobe AIR. Você pode controlar o acesso a fluxos no Flash Media Server em um script do lado do servidor. Para obter mais informações, consulte as propriedades Client.audioSampleAccess e Client.videoSampleAccess na Referência de lado do servidor do ActionScript para Adobe Flash Media Server.

Se o objeto de origem e (no caso de um objeto Sprite ou MovieClip) todos os seus objetos filhos não são provenientes do mesmo domínio do chamador ou não estão em um conteúdo acessível ao chamador depois que ele chamar o métodoSecurity.allowDomain(), uma chamada para o drawWithQuality() lança uma exceção de SecurityError. Esta restrição não se aplica ao conteúdo do AIR na área de segurança do aplicativo.

Também há restrições quanto ao uso de uma imagem bitmap carregada como source. Uma chamada para o método drawWithQuality() será bem-sucedida caso a imagem carregada esteja no mesmo domínio do chamador. Além disso, um arquivo de política em vários domínios no servidor da imagem pode conceder a permissão ao domínio do conteúdo SWF que chama o método drawWithQuality(). Nesse caso, você deve definir a propriedade checkPolicyFile de um objeto LoaderContext, além de usar esse objeto como o parâmetro context durante a chamada do método load() do objeto Loader usado para carregar a imagem. Essas restrições não se aplicam ao conteúdo do AIR na área de segurança do aplicativo.

No Windows, o método drawWithQuality() não pode capturar o conteúdo SWF incorporado em uma página HTML em um objeto HTMLLoader no Adobe AIR.

O método drawWithQuality() não pode capturar conteúdo PDF no Adobe AIR. Ele também não pode capturar ou incorporar conteúdo SWF em HTML em que o atributo wmode é definido como "window" no Adobe AIR.

Parâmetros

source:IBitmapDrawable — O objeto de exibição ou o objeto BitmapData a ser desenhado para o objeto BitmapData. (As classes DisplayObject e BitmapData implementam a interface IBitmapDrawable.)
 
matrix:Matrix (default = null) — Um objeto Matrix usado para dimensionar, girar ou converter as coordenadas do bitmap. Se você não quiser aplicar uma transformação de matriz à imagem, defina esse parâmetro como uma matriz de identidade, criada com o construtor new Matrix() padrão, ou transmita um valor null.
 
colorTransform:flash.geom:ColorTransform (default = null) — Um objeto ColorTransform que você usa para ajustar os valores de cor do bitmap. Se nenhum objeto for fornecido, as cores da imagem bitmap não serão transformadas. Se você precisar transmitir esse parâmetro, mas não quiser transformar a imagem, defina-o para um objeto ColorTransform criado com o construtor new ColorTransform() padrão.
 
blendMode:String (default = null) — Um valor de string, da classe flash.display.BlendMode, especificando o modo de mesclagem a ser aplicado ao bitmap resultante.
 
clipRect:Rectangle (default = null) — Um objeto Rectangle que define a área do objeto de origem a ser desenhado. Se você não fornecer esse valor, nenhum corte ocorrerá e o objeto de origem inteiro será desenhado.
 
smoothing:Boolean (default = false) — Um valor booliano que determina se um objeto BitmapData é suavizado quando dimensionado ou girado, devido a um dimensionamento ou giro no parâmetro matrix. O parâmetro suavização apenas será aplicável se o parâmetro origem for um objeto BitmapData. Com o parâmetro suavização definido como false, a imagem BitmapData dimensionada ou girada pode aparecer pixelizada ou irregular. Por exemplo, as duas imagens a seguir usam o mesmo objeto BitmapData para o parâmetro origem, mas o parâmetro suavização está definido como true à esquerda e como false à direita:

Duas imagens: a esquerda com suavização e a direita sem suavização.

Desenhar um bitmap com o parâmetro suavização definido como true demora mais do que fazer o mesmo com o parâmetro suavização definido como false.

 
quality:String (default = null) — Algum de um dos valores de StageQuality. Seleciona a qualidade de suavização de borada a ser usada ao desenhar gráficos de vetor.


Lança
ArgumentError — O parâmetro origem não é um objeto BitmapData ou DisplayObject.
 
SecurityError — O objeto source e (no caso de um objeto Sprite ou MovieClip) todos os respectivos objetos-filho não são provenientes do mesmo domínio do chamador ou não estão em um conteúdo acessível ao chamador depois que ele chamar o método Security.allowDomain(). Esta restrição não se aplica ao conteúdo do AIR na área de segurança do aplicativo.
 
ArgumentError — A origem é nula ou não é um objeto IBitmapDrawable válido.

Elementos da API relacionados


Exemplo  ( Como usar este exemplo )

O exemplo a seguir mostra como desenhar um objeto TextField em um 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

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 11.3, AIR 3.3

Compacta este objeto BitmapData usando o algoritmo de compactação selecionado e retorna um novo objeto ByteArray. Como alternativa, grava os dados resultantes na ByteArray especificada. O argumento compressor especifica o algoritmo de codificação e pode ser PNGEncoderOptions, JPEGEncoderOptions, ou JPEGXREncoderOptions.

O exemplo a seguir compacta um objeto de BitmapData usando 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 — A área do objeto BitmapData a ser compactada.
 
compressor:Object — O tipo de compactador a ser usado. Os valores válidos são: flash.display.PNGEncoderOptions, flash.display.JPEGEncoderOptions e flash.display.JPEGXREncoderOptions.
 
byteArray:ByteArray (default = null) — A ByteArray de saída para manter a imagem codificada.

Retorna
ByteArray — Uma ByteArray que contém a imagem codificada.

Elementos da API relacionados

fillRect

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

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 9, AIR 1.0, Flash Lite 4

Preenche uma área retangular de pixels com uma cor ARGB especificada.

Parâmetros

rect:Rectangle — A área retangular a ser preenchida.
 
color:uint — O valor de cor ARGB que preenche a área. As cores ARGB são frequentemente especificadas em formato hexadecimal; por exemplo, 0xFF336699.


Lança
TypeError — O parâmetro ret é "null".

Elementos da API relacionados


Exemplo  ( Como usar este exemplo )

O exemplo a seguir mostra como preencher uma região retangular de um objeto BitmapData com azul:
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

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 9, AIR 1.0, Flash Lite 4

Realiza uma operação de preenchimento em uma imagem, começando em uma coordenada (x, y) e preenchendo com uma certa cor. O método floodFill() é semelhante à ferramenta lata de tinta em vários programas de pintura. A cor é uma cor ARGB que contém informações alfa e informações de cores.

Parâmetros

x:int — A coordenada x da imagem.
 
y:int — A coordenada y da imagem.
 
color:uint — A cor ARGB a ser usada como preenchimento.


Exemplo  ( Como usar este exemplo )

O exemplo a seguir mostra como preencher com vermelho uma região de um objeto BitmapData, ou seja, a região ao redor do pixel definido pelo ponto (10, 10), no qual todas as cores correspondem à cor nesse ponto.
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

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 9, AIR 1.0

Determina o retângulo de destino afetado pela chamada do método applyFilter(), considerando um objeto BitmapData, um retângulo de origem e um objeto de filtro.

Por exemplo, um filtro de desfoque normalmente afeta uma área maior do que o tamanho da imagem original. Uma imagem de 100 x 200 pixels que está sendo filtrada por uma ocorrência de BlurFilter padrão, em que blurX = blurY = 4 gera um retângulo de destino de (-2,-2,104,204). O método generateFilterRect() permite descobrir o tamanho desse retângulo de destino com antecedência, para que você possa dimensionar a imagem de destino apropriadamente antes de realizar uma operação de filtro.

Alguns filtros cortam seu retângulo de destino com base no tamanho da imagem de origem. Por exemplo, um filtro DropShadow interno não gera um resultado maior do que sua imagem de origem. Nessa API, o objeto BitmapData é usado como os limites de origem e não o parâmetro ret de origem.

Parâmetros

sourceRect:Rectangle — Um retângulo que define a área da imagem de origem a ser usada como entrada.
 
filter:BitmapFilter — O objeto de filtro que você usa para calcular o retângulo de destino.

Retorna
Rectangle — Um retângulo de destino calculado com o uso de imagem, do parâmetro retOrigem e de um filtro.

Lança
TypeError — O parâmetro retOrigem ou filtro é "null".

Exemplo  ( Como usar este exemplo )

O exemplo a seguir mostra como você pode usar o método generateFilterRect() para determinar a área retangular que o resultado de um filtro de desfoque ocupará. Os resultados do método generateFilterRect() são processados pela função 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);
Observe que o método generateFilterRect() não aplica o filtro. Chame o método applyFilter() para aplicar o filtro.

getColorBoundsRect

()método 
public function getColorBoundsRect(mask:uint, color:uint, findColor:Boolean = true):Rectangle

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 9, AIR 1.0, Flash Lite 4

Determina uma região retangular que delimita totalmente todos os pixels de uma cor especificada dentro da imagem bitmap (se o parâmetro localizarCor estiver definido como true) ou que delimita totalmente todos os pixels que não incluem a cor especificada (se o parâmetro localizarCor estiver definido como false).

Por exemplo, se você tiver uma imagem de origem e quiser determinar o retângulo da imagem que contém um canal alfa diferente de zero, transmita {máscara: 0xFF000000, cor: 0x00000000} como parâmetros. Se o parâmetro localizarCor estiver definido como true, a imagem inteira será pesquisada quanto aos limites de pixels para os quais (valor e máscara) == cor (em que value é o valor de cor do pixel). Se o parâmetro localizarCor estiver definido como false, a imagem inteira será pesquisada quanto aos limites de pixels para os quais (valor e máscara) != cor (em que value é o valor de cor do pixel). Para determinar o espaço em branco em torno de uma imagem, passe o {mask: 0xFFFFFFFF, cor: 0xFFFFFFFF} para localizar os limites de pixels não brancos.

Parâmetros

mask:uint — Um valor hexadecimal que especifica os bits da cor ARGB a ser considerada. O valor da cor é combinado ao seu valor hexadecimal, usando o operador & (AND bit a bit).
 
color:uint — Um valor hexadecimal que especifica a cor ARGB a ser correspondida (se localizarCor estiver definido como true) ou não (se localizarCor estiver definido como false).
 
findColor:Boolean (default = true) — Se o valor estiver definido como true, retornará os limites de um valor de cor em uma imagem. Se o valor estiver definido como false, retornará os limites dos pontos em que essa cor não existe em uma imagem.

Retorna
Rectangle — A região da imagem que é a cor especificada.

Exemplo  ( Como usar este exemplo )

O exemplo a seguir cria um objeto BitmapData com vermelho na metade superior de seus pixels. Em seguida, chama o método getColorBoundsRect() para determinar o retângulo no qual os pixels são vermelhos (0xFF0000) e então chama o mesmo método para determinar o retângulo no qual os pixels não são vermelhos (definindo o parâmetro localizarCor 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

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 9, AIR 1.0, Flash Lite 4

Retorna um inteiro que representa um valor de pixel RGB a partir do objeto BitmapData em um ponto específico (x, y). O método getPixel() retorna um valor de pixel não multiplicado. Nenhuma informação de alfa é retornada.

Todos os pixels em um objeto BitmapData são armazenados como valores de cor não multiplicados. Um pixel de imagem pré-multiplicado que tem os valores dos canais de cores de vermelho, verde e azul já multiplicados pelos dados alfa. Por exemplo, se o valor de alfa for 0, os valores para os canais RGB também serão 0, independentemente dos valores não multiplicados. Essa perda de dados poderá causar alguns problemas quando você realizar operações. Todos os métodos BitmapData usam e retornam valores não multiplicados. A representação de pixels internos é convertida de pré-multiplicada em não multiplicada antes de ser retornada como um valor. Durante uma operação de definição, o valor de pixel é pré-multiplicado antes de o pixel de imagem bruto ser definido.

Parâmetros

x:int — A posição x do pixel.
 
y:int — A posição y do pixel.

Retorna
uint — Um número que representa um valor de pixel RGB. Se as coordenadas (x, y) estiverem fora dos limites da imagem, o método retornará 0.

Elementos da API relacionados


Exemplo  ( Como usar este exemplo )

O exemplo a seguir cria um objeto BitmapData preenchido com vermelho e, em seguida, usa o método getPixel() para determinar o valor de cor no pixel superior esquerdo:
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

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 9, AIR 1.0, Flash Lite 4

Retorna um valor de cor ARGB que contém dados de canais alfa e dados RGB. Esse método é semelhante ao método getPixel(), que retorna uma cor RGB sem dados de canais alfa.

Todos os pixels em um objeto BitmapData são armazenados como valores de cor não multiplicados. Um pixel de imagem pré-multiplicado que tem os valores dos canais de cores de vermelho, verde e azul já multiplicados pelos dados alfa. Por exemplo, se o valor de alfa for 0, os valores para os canais RGB também serão 0, independentemente dos valores não multiplicados. Essa perda de dados poderá causar alguns problemas quando você realizar operações. Todos os métodos BitmapData usam e retornam valores não multiplicados. A representação de pixels internos é convertida de pré-multiplicada em não multiplicada antes de ser retornada como um valor. Durante uma operação de definição, o valor de pixel é pré-multiplicado antes de o pixel de imagem bruto ser definido.

Parâmetros

x:int — A posição x do pixel.
 
y:int — A posição y do pixel.

Retorna
uint — Um número que representa um valor de pixel ARGB. Se as coordenadas (x, y) estiverem fora dos limites da imagem, 0 será retornado.

Elementos da API relacionados


Exemplo  ( Como usar este exemplo )

O exemplo a seguir cria um objeto BitmapData preenchido com uma cor, usa o método getPixel32() para determinar o valor da cor no pixel superior esquerdo e, em seguida, determina os valores hexadecimais para cada componente de cor (alfa, vermelho, verde e 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

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 9, AIR 1.0, Flash Lite 4

Gera uma matriz de bytes a partir de uma região retangular dos dados de pixels. Grava um inteiro não sem sinal (um valor de pixel não multiplicado de 32 bits) para cada pixel na matriz de bytes.

Parâmetros

rect:Rectangle — Uma área retangular no objeto BitmapData atual.

Retorna
ByteArray — Um ByteArray representando os pixels no Retângulo especificado.

Lança
TypeError — O parâmetro ret é "null".

Elementos da API relacionados


Exemplo  ( Como usar este exemplo )

O exemplo a seguir cria um objeto BitmapData preenchido com pixels de ruído aleatório e usa o método getPixels() para preencher um objeto ByteArray com os valores de pixel do 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>

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 10, AIR 1.5, Flash Lite 4

Gera uma matriz de vetores a partir de uma região retangular dos dados de pixel. Retorna um objeto Vector de inteiros não assinados (um valor de pixel não multiplicado de 32 bits) para o retângulo especificado.

Parâmetros

rect:Rectangle — Uma área retangular no objeto BitmapData atual.

Retorna
Vector.<uint> — Vector representa determinado Rectangle.

Lança
TypeError — O parâmetro ret é "null".

histogram

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

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 10, AIR 1.5, Flash Lite 4

Calcula um histograma de número binário de valor 256 de um objeto BitmapData. Esse método retorna um objeto Vector contendo quatro ocorrências de Vector.<Number> (quatro objetos Vector que contêm objetos Number). As quatro ocorrências de Vector representam os componentes vermelho, verde, azul e alfa, respectivamente. Cada ocorrência de Vector contém 256 valores que representam a contagem de preenchimento do valor de componente individual, de 0 a 255.

Parâmetros

hRect:Rectangle (default = null) — A área do objeto BitmapData a ser usada.

Retorna
Vector.<Vector.<Number>>

hitTest

()método 
public function hitTest(firstPoint:Point, firstAlphaThreshold:uint, secondObject:Object, secondBitmapDataPoint:Point = null, secondAlphaThreshold:uint = 1):Boolean

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 9, AIR 1.0, Flash Lite 4

Realiza a detecção de ocorrências em nível de pixels entre uma imagem bitmap e um ponto, um retângulo ou outra imagem bitmap. Uma ocorrência é definida como uma sobreposição de um ponto ou retângulo sobre um pixel opaco, ou dois pixels opacos de sobreposição. Nenhuma operação de estiramento, giro ou outra transformação de qualquer objeto será considerada quando o teste de ocorrência for realizado.

Se uma imagem for opaca, ela será considerada um retângulo totalmente opaco para esse método. Ambas as imagens devem ser transparentes para realizar um teste de ocorrência em nível de pixels que considere a transparência. Quando você testa duas imagens transparentes, os parâmetros de limite de alfa controlam quais valores de canais alfa, de 0 a 255, são considerados opacos.

Parâmetros

firstPoint:Point — Uma posição do canto superior esquerdo da imagem BitmapData em um espaço de coordenadas arbitrário. O mesmo espaço de coordenadas é usado na definição do parâmetro secondPointBitmap.
 
firstAlphaThreshold:uint — O valor de canal alfa mais baixo considerado opaco para esse teste de ocorrência.
 
secondObject:Object — Um objeto Rectangle, Point, Bitmap ou BitmapData.
 
secondBitmapDataPoint:Point (default = null) — Um ponto que define uma localização de pixel no segundo objeto BitmapData. Use esse parâmetro apenas quando o valor de secondObject for um objeto BitmapData.
 
secondAlphaThreshold:uint (default = 1) — O valor de canal alfa mais baixo considerado opaco no segundo objeto BitmapData. Use esse parâmetro apenas quando o valor de secondObject for um objeto BitmapData e quando ambos os objetos BitmapData forem transparentes.

Retorna
Boolean — Um valor de true se ocorrer uma ocorrência; caso contrário, false.

Lança
ArgumentError — O parâmetro secondObject não é um objeto Point, Rectangle, Bitmap ou BitmapData.
 
TypeError — O parâmetro primeiroPonto é "null".

Exemplo  ( Como usar este exemplo )

O exemplo a seguir cria um objeto BitmapData que apenas é opaco em uma região retangular (20, 20, 40, 40) e chama o método hitTest() com um objeto Point como o secondObject. Na primeira chamada, o objeto Point define o canto superior esquerdo do objeto BitmapData, que não é opaco, e, na segunda chamada, o objeto Point define o centro do objeto BitmapData, que é 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

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 9, AIR 1.0

Bloqueia uma imagem de forma que qualquer objeto que faça referência ao objeto BitmapData, como objetos Bitmap, não seja atualizado quando esse objeto BitmapData for alterado. Para melhorar o desempenho, use esse método junto com o método unlock() antes e depois de várias chamadas ao método setPixel() ou setPixel32().

Elementos da API relacionados


Exemplo  ( Como usar este exemplo )

O exemplo a seguir cria um objeto BitmapData com base na propriedade bitmapData de um objeto Bitmap, picture. Em seguida, ele chama o método lock() antes de chamar uma função personalizada complicada, complexTransformation(), que modifica o objeto BitmapData. (O objeto picture e a função complexTransformation() não são definidas neste exemplo.) Mesmo que a função complexTransformation() atualize a propriedade bitmapData do objeto picture, as alterações apenas serão refletidas quando o código chamar o método unlock() no 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

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 9, AIR 1.0, Flash Lite 4

Realiza a mesclagem por canal a partir de uma imagem de origem para uma imagem de destino. Para cada canal e cada pixel, um novo valor é calculado com base nos valores de canal dos pixels de origem e destino. Por exemplo, no canal de vermelho, o novo valor é calculado da seguinte maneira (em que redSrc é o valor do canal de vermelho para um pixel na imagem de origem e redDest é o valor do canal de vermelho no pixel correspondente da imagem de destino):

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

Os valores de redMultiplier, greenMultiplier, blueMultiplier e alphaMultiplier são os multiplicadores usados para cada canal de cor. Use um valor hexadecimal que varia de 0 a 0x100 (256), em que 0 especifica que o valor total a partir do destino é usado no resultado, 0x100 especifica que o valor total a partir da origem é usado e os números intermediários especificam que uma mesclagem é usada (como 0x80 para 50%).

Parâmetros

sourceBitmapData:BitmapData — A imagem bitmap de entrada a ser usada. A imagem de origem pode ser um objeto BitmapData diferente ou pode fazer referência ao objeto BitmapData atual.
 
sourceRect:Rectangle — Um retângulo que define a área da imagem de origem a ser usada como entrada.
 
destPoint:Point — O ponto na imagem de destino (a ocorrência atual de BitmapData) que corresponde ao canto superior esquerdo do retângulo de origem.
 
redMultiplier:uint — Um valor uint hexadecimal pelo qual multiplicar o valor do canal de vermelho.
 
greenMultiplier:uint — Um valor uint hexadecimal pelo qual multiplicar o valor do canal de verde.
 
blueMultiplier:uint — Um valor uint hexadecimal pelo qual multiplicar o valor do canal de azul.
 
alphaMultiplier:uint — Um valor uint hexadecimal pelo qual multiplicar o valor da transparência alfa.


Lança
TypeError — Os parâmetros dadosBitmapOrigem, retOrigem ou pontoDest são "null".

Exemplo  ( Como usar este exemplo )

O exemplo a seguir cria dois objetos BitmapData. Ambos têm 100 x 80 pixels de tamanho. O primeiro é preenchido com verde e o segundo, com vermelho. O código chama o método merge(), mesclando os pixels do segundo BitmapData no primeiro objeto BitmapData, mas apenas em uma área retangular 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

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 9, AIR 1.0

Preenche uma imagem com pixels que representam ruído aleatório.

Parâmetros

randomSeed:int — O número base aleatório a ser usado. Se você mantiver todos os outros parâmetros iguais, poderá gerar diferentes resultados pseudoaleatórios variando o valor base aleatório. A função de ruído é uma função de mapeamento e não uma função real de geração de números aleatórios. Sendo assim, ela cria os mesmos resultados todas as vezes a partir da mesma base aleatória.
 
low:uint (default = 0) — O valor mais baixo a ser gerado para cada canal (0 a 255).
 
high:uint (default = 255) — O valor mais alto a ser gerado para cada canal (0 a 255).
 
channelOptions:uint (default = 7) — Um número que pode ser uma combinação de qualquer dos quatro valores de canais de cor (BitmapDataChannel.RED, BitmapDataChannel.BLUE, BitmapDataChannel.GREEN e BitmapDataChannel.ALPHA). É possível usar o operador OR lógico (|) para combinar valores de canal.
 
grayScale:Boolean (default = false) — Um valor booliano. Se o valor for true, uma imagem em tons de cinza será criada ao definir todos os canais de cor como o mesmo valor. A seleção do canal alfa não é afetada pela definição desse parâmetro como true.

Elementos da API relacionados


Exemplo  ( Como usar este exemplo )

O exemplo a seguir cria dois objetos BitmapData e chama o método noise() em ambos: Entretanto, o parâmetro tonscinza está definido como false para a chamada ao método noise() do primeiro objeto e está definido como true para a chamada ao método noise() do 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

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 9, AIR 1.0, Flash Lite 4

Remapeia os valores dos canais de cor em uma imagem que possui até quatro matrizes de dados de paleta de cores, uma para cada canal.

O tempo de execução do Flash usa as etapas a seguir para gerar a imagem resultante:

  1. Após o cálculo dos valores de vermelho, verde, azul e alfa, eles são somados com o uso da aritmética padrão de inteiros de 32 bits.
  2. Os valores dos canais de vermelho, verde, azul e alfa de cada pixel são extraídos em valores separados de 0 a 255. Esses valores são usados para procurar novos valores de cores na matriz apropriada: redArray, greenArray, blueArray e alphaArray. Cada uma dessas quatro matrizes deve conter 256 valores.
  3. Após a recuperação de todos os quatro novos valores de canal, eles serão combinados em um valor ARGB padrão que é aplicado ao pixel.

Efeitos entre canais podem ser suportados com esse método. Cada matriz de entrada pode conter valores completos de 32 bits e não haverá deslocamentos quando os valores forem somados. Essa rotina não oferece suporte à fixação por canal.

Se nenhuma matriz for especificada para um canal, o canal de cor será copiado da imagem de origem para a imagem de destino.

Você pode usar esse método para uma variedade de efeitos, como mapeamento geral de paletas (usando um canal e convertendo-o em uma imagem colorida falsa). Esse método também pode ser usado para vários algoritmos avançados de manipulação de cores, como gama, curvas, níveis e quantização.

Parâmetros

sourceBitmapData:BitmapData — A imagem bitmap de entrada a ser usada. A imagem de origem pode ser um objeto BitmapData diferente ou pode fazer referência à ocorrência atual de BitmapData.
 
sourceRect:Rectangle — Um retângulo que define a área da imagem de origem a ser usada como entrada.
 
destPoint:Point — O ponto na imagem de destino (o objeto BitmapData atual) que corresponde ao canto superior esquerdo do retângulo de origem.
 
redArray:Array (default = null) — Se redArray não for null, red = redArray[source red value] else red = source rect value.
 
greenArray:Array (default = null) — Se greenArray não for null, green = greenArray[source green value] else green = source green value.
 
blueArray:Array (default = null) — Se blueArray não for null, blue = blueArray[source blue value] else blue = source blue value.
 
alphaArray:Array (default = null) — Se alphaArray não for null, alpha = alphaArray[source alpha value] else alpha = source alpha value.


Lança
TypeError — Os parâmetros dadosBitmapOrigem, retOrigem ou pontoDest são "null".

Exemplo  ( Como usar este exemplo )

O exemplo a seguir cria um objeto BitmapData verde com um quadrado centralizado vermelho e usa o método paletteMap() para alternar o vermelho com o verde na metade retangular inferior do 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

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 9, AIR 1.0

Gera uma imagem de ruído Perlin.

O algoritmo de geração de ruído Perlin interpola e combina funções individuais de ruído aleatório (chamadas de oitavas) em uma única função que gera ruído aleatório com aparência mais natural. Como oitavas musicais, cada função de oitava é duas vezes a frequência da anterior. O ruído Perlin foi descrito como uma "soma fractal de ruído" porque combina vários conjuntos de dados de ruído com diferentes camadas de detalhe.

Você pode usar funções de ruído Perlin para simular paisagens e fenômenos naturais, como fibras de madeira, nuvens e cadeias de montanha. Na maioria dos casos, a saída de uma função de ruído Perlin não é exibida diretamente, mas é usada para melhorar outras imagens e lhes dar variações pseudoaleatórias.

Funções de ruído aleatório digital simples frequentemente produzem imagens com pontos ásperos contrastantes. Em geral, esse tipo de contraste áspero não é encontrado em essência. O algoritmo de ruído Perlin mescla várias funções de ruído que operam em diferentes níveis de detalhes. Esse algoritmo resulta em variações menores entre os valores de pixels vizinhos.

Parâmetros

baseX:Number — A frequência a ser usada na direção x. Por exemplo, para gerar um ruído dimensionado para uma imagem de 64 x 128, transmita 64 para o valor baseX.
 
baseY:Number — A frequência a ser usada na direção y. Por exemplo, para gerar um ruído dimensionado para uma imagem de 64 x 128, transmita 128 para o valor baseY.
 
numOctaves:uint — Número de oitavas ou funções de ruído individuais a serem combinadas para criar esse ruído. Números maiores de oitavas criam imagens com mais detalhes. Números maiores de oitavas também exigem mais tempo de processamento.
 
randomSeed:int — O número base aleatório a ser usado. Se você mantiver todos os outros parâmetros iguais, poderá gerar diferentes resultados pseudoaleatórios variando o valor base aleatório. A função de ruído Perlin é uma função de mapeamento e não uma função real de geração de números aleatórios. Sendo assim, ela cria os mesmos resultados todas as vezes a partir da mesma base aleatória.
 
stitch:Boolean — Um valor booliano. Se o valor for true, o método tentará suavizar as bordas de transição da imagem para criar texturas contínuas para colocação lado a lado como um preenchimento de gradiente.
 
fractalNoise:Boolean — Um valor booliano. Se o valor for true, o método gerará ruído fractal; caso contrário, gerará turbulência. Uma imagem com turbulência tem descontinuidades visíveis no gradiente que podem fazer com que ela aproxime melhor os efeitos visuais mais nítidos, como chamas e ondas do mar.
 
channelOptions:uint (default = 7) — Um número que pode ser uma combinação de qualquer dos quatro valores de canais de cor (BitmapDataChannel.RED, BitmapDataChannel.BLUE, BitmapDataChannel.GREEN e BitmapDataChannel.ALPHA). É possível usar o operador OR lógico (|) para combinar valores de canal.
 
grayScale:Boolean (default = false) — Um valor booliano. Se o valor for true, uma imagem em tons de cinza será criada ao definir cada um dos canais de cor de vermelho, verde e azul como valores idênticos. O valor do canal alfa não será afetado se esse valor for definido como true.
 
offsets:Array (default = null) — Uma matriz de pontos que correspondem a deslocamentos x e y para cada oitava. Ao manipular os valores de deslocamento, você pode rolar suavemente as camadas de uma imagem perlinNoise. Cada ponto na matriz de deslocamento afeta uma função de ruído de oitava específica.


Exemplo  ( Como usar este exemplo )

O exemplo a seguir cria um objeto BitmapData de 200 x 200 pixels que chama o método perlinNoise() para gerar um efeito de aquarela em vermelho e 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

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 9, AIR 1.0

Realiza uma operação de dissolver pixels a partir de uma imagem de origem para uma imagem de destino ou usando a mesma imagem. O tempo de execução do Flash usa um valor randomSeed para gerar uma dissolução de pixels aleatória. O valor de retorno da função deve ser transmitido em chamadas subsequentes para continuar a dissolução de pixels até ela terminar.

Se a imagem de origem não for igual à de destino, os pixels serão copiados da origem para o destino usando todas as propriedades. Esse processo permite a dissolução de uma imagem branca em uma imagem totalmente preenchida.

Se as imagens de origem e destino forem iguais, os pixels serão preenchidos com o parâmetro cor. Esse processo permite a dissolução a partir de uma imagem totalmente preenchida. Nesse modo, o parâmetro ponto de destino é ignorado.

Parâmetros

sourceBitmapData:BitmapData — A imagem bitmap de entrada a ser usada. A imagem de origem pode ser um objeto BitmapData diferente ou pode fazer referência à ocorrência atual de BitmapData.
 
sourceRect:Rectangle — Um retângulo que define a área da imagem de origem a ser usada como entrada.
 
destPoint:Point — O ponto na imagem de destino (a ocorrência atual de BitmapData) que corresponde ao canto superior esquerdo do retângulo de origem.
 
randomSeed:int (default = 0) — A base aleatória a ser usada para iniciar a dissolução de pixels.
 
numPixels:int (default = 0) — O padrão é 1/30 da área de origem (largura x altura).
 
fillColor:uint (default = 0) — Um valor de cor ARGB que é usado para preencher pixels cujo valor de origem seja igual ao seu valor de destino.

Retorna
int — O novo valor base aleatório a ser usado para chamadas subsequentes.

Lança
TypeError — Os parâmetros dadosBitmapOrigem, retOrigem ou pontoDest são "null".
 
TypeError — O valor de numPixels é negativo

Exemplo  ( Como usar este exemplo )

O exemplo a seguir usa o método pixelDissolve() para converter um objeto BitmapData cinza em um vermelho dissolvendo 40 pixels de uma vez até que todos os pixels tenham mudado de cor:
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

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 9, AIR 1.0

Rola uma imagem em uma certa quantidade de pixels (x, y). As regiões de borda fora da área de rolagem são inalteradas.

Parâmetros

x:int — A intensidade na qual rolar horizontalmente.
 
y:int — A intensidade na qual rolar verticalmente.


Exemplo  ( Como usar este exemplo )

O exemplo a seguir mostra o efeito de rolar um objeto de dados Bitmap 40 pixels à direita:
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

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 9, AIR 1.0, Flash Lite 4

Define um único pixel de um objeto BitmapData. O valor do canal alfa atual do pixel de imagem é preservado durante essa operação. O valor do parâmetro de cor RGB é tratado como um valor de cor não multiplicado.

Observação: Para aumentar o desempenho, ao usar o método setPixel() ou setPixel32() repetidamente, chame o método lock() antes de chamar o método setPixel() ou setPixel32() e então chame o método unlock() quando tiver feito todas as alterações de pixel. Esse processo impede que os objetos que fazem referência a essa ocorrência de BitmapData sejam atualizados até você terminar de fazer as alterações de pixel.

Parâmetros

x:int — A posição x do pixel cujo valor é alterado.
 
y:int — A posição y do pixel cujo valor é alterado.
 
color:uint — A cor RGB resultante para o pixel.

Elementos da API relacionados


Exemplo  ( Como usar este exemplo )

O exemplo a seguir usa o método setPixel() para desenhar uma linha vermelha em um 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

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 9, AIR 1.0, Flash Lite 4

Define os valores de cor e transparência alfa de um único pixel de um objeto BitmapData. Esse método é semelhante ao método setPixel(); a principal diferença é que o método setPixel32() usa um valor de cor ARGB que contém informações de canais alfa.

Todos os pixels em um objeto BitmapData são armazenados como valores de cor não multiplicados. Um pixel de imagem pré-multiplicado que tem os valores dos canais de cores de vermelho, verde e azul já multiplicados pelos dados alfa. Por exemplo, se o valor de alfa for 0, os valores para os canais RGB também serão 0, independentemente dos valores não multiplicados. Essa perda de dados poderá causar alguns problemas quando você realizar operações. Todos os métodos BitmapData usam e retornam valores não multiplicados. A representação de pixels internos é convertida de pré-multiplicada em não multiplicada antes de ser retornada como um valor. Durante uma operação de definição, o valor de pixel é pré-multiplicado antes de o pixel de imagem bruto ser definido.

Observação: Para aumentar o desempenho, ao usar o método setPixel() ou setPixel32() repetidamente, chame o método lock() antes de chamar o método setPixel() ou setPixel32() e então chame o método unlock() quando tiver feito todas as alterações de pixel. Esse processo impede que os objetos que fazem referência a essa ocorrência de BitmapData sejam atualizados até você terminar de fazer as alterações de pixel.

Parâmetros

x:int — A posição x do pixel cujo valor é alterado.
 
y:int — A posição y do pixel cujo valor é alterado.
 
color:uint — A cor ARGB resultante para o pixel. Se o bitmap for opaco (não transparente), a parte da transparência alfa desse valor de cor será ignorada.

Elementos da API relacionados


Exemplo  ( Como usar este exemplo )

O exemplo a seguir usa o método setPixel32() para desenhar uma linha vermelha transparente (alfa == 0x60) em um 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

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 9, AIR 1.0, Flash Lite 4

Converte uma matriz de bytes em uma região retangular de dados de pixels. Para cada pixel, o método ByteArray.readUnsignedInt() é chamada e o valor de retorno é gravado no pixel. Se a matriz de bytes terminar antes da gravação de todo o retângulo, a função será retornada. Espera-se que os dados na matriz de bytes sejam valores de pixels ARGB de 32 bits. Nenhuma busca é realizada na matriz de bytes antes ou após a leitura dos pixels.

Parâmetros

rect:Rectangle — Especifica a região retangular do objeto BitmapData.
 
inputByteArray:ByteArray — Um objeto ByteArray que consistem em valores de pixels não multiplicados de 32 bits a serem usados na região retangular.


Lança
EOFError — O objeto inputByteArray não inclui dados suficientes para preencher a área do retângulo rect. O método preenche a maior quantidade possível de pixels antes de lançar a exceção.
 
TypeError — O parâmetro ret ou matrizBytesEntrada é "null".

Elementos da API relacionados


Exemplo  ( Como usar este exemplo )

O exemplo a seguir usa os métodos getPixels() e setPixels() para copiar pixels de um objeto BitmapData para outro:
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

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 10, AIR 1.5, Flash Lite 4

Converte um Vector em uma região retangular de dados de pixels. Para cada pixel, um elemento de Vector é lido e gravado no pixel BitmapData. Espera-se que os dados no Vector sejam valores de pixels ARGB de 32 bits.

Parâmetros

rect:Rectangle — Especifica a região retangular do objeto BitmapData.
 
inputVector:Vector.<uint> — Um objeto Vector que consistem em valores de pixels não multiplicados de 32 bits a serem usados na região retangular.


Lança
RangeError — A matriz de vetor não é grande o suficiente para ler todos os dados de pixel.

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

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 9, AIR 1.0

Testa valores de pixels em uma imagem com base em um limite especificado e define os pixels aprovados no texto como novos valores de cor. Usando o método threshold(), você pode isolar e substituir faixas de cores em uma imagem e realizar outras operações lógicas em pixels de imagens.

A lógica de teste do método threshold() é a seguinte:

  1. Se ((valorPixel e máscara) operação (limite e máscara)), defina o pixel como cor;
  2. Caso contrário, se copiarOrigem == true, defina o pixel como o valor de pixel correspondente a partir de bitmapOrigem.

O parâmetro operação especifica o operador de comparação a ser usado para o teste de limite. Por exemplo, usando "==" como o parâmetro operação, você pode isolar um valor de cor específico em uma imagem. Ou usando o {operação: "<", máscara: 0xFF000000, limite: 0x7F000000, cor: 0x00000000}, é possível definir todos os pixels de destino de forma que eles sejam totalmente transparentes quando o alfa da imagem de origem for menor do que 0x7F. Essa técnica pode ser usada para transições animadas e outros efeitos.

Parâmetros

sourceBitmapData:BitmapData — A imagem bitmap de entrada a ser usada. A imagem de origem pode ser um objeto BitmapData diferente ou pode fazer referência à ocorrência atual de BitmapData.
 
sourceRect:Rectangle — Um retângulo que define a área da imagem de origem a ser usada como entrada.
 
destPoint:Point — O ponto na imagem de destino (a ocorrência atual de BitmapData) que corresponde ao canto superior esquerdo do retângulo de origem.
 
operation:String — Um dos seguintes operadores de comparação, transmitidos como uma String: "<", "<=", ">", ">=", "==", "!="
 
threshold:uint — O valor com base no qual cada pixel é testado para ver se ele atende ou excede o limite.
 
color:uint (default = 0) — O valor de cor para o qual um pixel será definido se o teste de limite for bem-sucedido. O valor padrão é 0x00000000.
 
mask:uint (default = 0xFFFFFFFF) — A máscara a ser usada para isolar um componente de cor.
 
copySource:Boolean (default = false) — Se o valor for true, os valores de pixel da imagem de origem serão copiados para o destino quando o teste de limite falhar. Se o valor for false, a imagem de origem não será copiada quando o teste de limite falhar.

Retorna
uint — O número de pixels que foram alterados.

Lança
TypeError — Os parâmetros dadosBitmapOrigem, retOrigem, pontoDest ou operação são "null".
 
ArgumentError — A string de operação não é uma operação válida

Exemplo  ( Como usar este exemplo )

O exemplo a seguir usa o método perlinNoise() para adicionar um padrão de azul e vermelho a um objeto BitmapData e usa o método threshold() para copiar esses pixels do primeiro objeto BitmapData para um segundo objeto, substituindo os pixels nos quais o valor de vermelho é maior do que 0x80 (50%) por um pixel definido como vermelho 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

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 9, AIR 1.0

Desbloqueia uma imagem de forma que qualquer objeto que faça referência ao objeto BitmapData, como objetos Bitmap, seja atualizado quando esse objeto BitmapData for alterado. Para melhorar o desempenho, use esse método junto com o método lock() antes e depois de várias chamadas ao método setPixel() ou setPixel32().

Parâmetros

changeRect:Rectangle (default = null) — A área do objeto BitmapData que foi alterada. Se você não especificar um valor para esse parâmetro, a área inteira do objeto BitmapData será considerada alterada. Este parâmetro exige o Flash Player versão 9.0.115.0 ou posterior.

Elementos da API relacionados


Exemplo  ( Como usar este exemplo )

O exemplo a seguir cria um objeto BitmapData com base na propriedade bitmapData de um objeto Bitmap, picture. Em seguida, ele chama o método lock() antes de chamar uma função personalizada complicada, complexTransformation(), que modifica o objeto BitmapData. (O objeto picture e a função complexTransformation() não são definidas neste exemplo.) Mesmo que a função complexTransformation() atualize a propriedade bitmapData do objeto picture, as alterações apenas serão refletidas quando o código chamar o método unlock() no objeto bitmapData:
import flash.display.BitmapData;

var bitmapData:BitmapData = picture.bitmapData;
bitmapData.lock();
bitmapData = complexTransformation(bitmapData);
bitmapData.unlock();
picture.bitmapData = bitmapData;
BitmapDataExample.as

O exemplo a seguir usa a classe BitmapDataExample para carregar a imagem Image.gif em DisplayObject, na localização padrão (0, 0). Uma cópia de Image.gif é então inserida à direita do original, que tem novas cores aplicadas aos pixels que passam em um teste usando o método threshold(). A tarefa é concluída com as seguintes etapas:
  1. Uma propriedade url é criada, representando a localização e o nome do arquivo de imagem
  2. O construtor da classe cria um objeto Loader, que então instancia um ouvinte de evento que é despachado quando o método completeHandler() completa a manipulação da imagem.
  3. O objeto URLRequest request é transmitido a loader.load(), que carrega a imagem na memória usando um objeto de exibição.
  4. A imagem é então inserida na lista de exibição, que a exibe nas coordenadas x = 0, y = 0 da tela.
  5. O método completeHandler() realiza as seguintes tarefas:
    • Cria um segundo Loader, junto com um objeto Bitmap, que é inicializado com o objeto Loader.
    • Cria um segundo objeto Bitmap, duplicate, que, por sua vez, chama o método duplicateImage(), que cria uma duplicata da imagem original.
    • Cria um objeto BitmapData, que é atribuído ao objeto BitmapData do objeto duplicate.
    • Cria um novo objeto Rectangle inicializado com as mesmas coordenadas, largura e altura que a imagem original.
    • Cria um novo objeto Point, que assume como padrão x = 0, y = 0.
    • Cria as seguintes variáveis:
      • operation – Aplica a nova cor quando o valor de limite é maior do que ou igual ao original.
      • threshold – O valor com base no qual cada pixel é comparado (neste exemplo, cinza-claro com um alfa de 0xCC).
      • color – A cor com a qual serão definidos os pixels que passarem no teste de limite, que é amarelo sólido nesse caso.
      • mask – O oposto exato da cor (azul transparente).
      • copySource – Defina como false, indicando que os valores de pixel não serão copiados se o valor de limite não passar no teste. Esse valor não tem significado, já que a imagem é duplicada e somente os pixels que passarem no teste de limite serão alterados.
    • Chama o método threshold() usando as variáveis anteriores. A equação de limite resultante é a seguinte: se (Valor de pixel atual & 0x000000FF) >= (0xCCCCCCCC & 0x000000FF) defina o pixel como 0xFFFFFF00.

Observações:

  • Será necessário compilar o arquivo SWF com a Segurança de reprodução local definida como Acessar somente arquivos locais.
  • Esse exemplo requer que um arquivo denominado Image.gif seja inserido no mesmo diretório que o seu arquivo SWF.
  • Convém usar uma imagem com aproximadamente até 80 pixels de largura.

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 que inglês?
O conteúdo na Referência do ActionScript 3.0 aparece em inglês

Nem todas as partes da Referência do ActionScript 3.0 estão traduzidas em todos os idiomas. Quando um elemento de um idioma não está traduzido, ele é exibido em inglês. Por exemplo, a classe ga.controls.HelpBox não está traduzida em nenhum idioma. Por isso, na versão da referência em português do Brasil, a classe ga.controls.HelpBox é exibida em inglês.