Guide de référence ActionScript® 3.0 pour la plate-forme Adobe® Flash®
Accueil  |  Masquer la liste des packages et des classes |  Packages  |  Classes  |  Nouveautés  |  Index  |  Annexes  |  Pourquoi existe-t-il du contenu en anglais ?
Filtres : AIR 30.0 et versions antérieures, Flash Player 30.0 et versions antérieures, Flash Lite 4
Flex 4.6 et versions antérieures, Flash Pro CS6 et versions antérieures
Masquer les filtres
flash.display 

BitmapData  - AS3

Packagesx

Niveau supérieur
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

Eléments du langage

Constantes globales
Fonctions globales
Opérateurs
Instructions, mots clés et directives
Types spéciaux

Annexes

Nouveautés
Erreurs de compilation
Avertissements du compilateur
Erreurs d’exécution
Migration vers ActionScript 3
Jeux de caractères pris en charge
Balises MXML uniquement
Eléments XML de mouvement
Balises Timed Text
Liste des éléments déconseillés
Constantes d’implémentation d’accessibilité
Utilisation des exemples de code ActionScript
Informations juridiques
Packageflash.display
Classepublic class BitmapData
HéritageBitmapData Inheritance Object
Implémente IBitmapDrawable

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 9, AIR 1.0, Flash Lite 4

La classe BitmapData vous permet d’utiliser les données (pixels) d’un objet Bitmap. Les méthodes de cette classe vous permettent de créer des images bitmap transparentes ou opaques dimensionnées de manière arbitraire et de les manipuler à votre guise lors de l’exécution. Vous pouvez également accéder aux objets BitmapData pour une image bitmap chargée avec la classe flash.display.Loader.

Cette classe vous permet de séparer les opérations de rendu de bitmap dans les routines de mise à jour de l’affichage interne de Flash Player. En manipulant un objet BitmapData directement, vous pouvez créer des images complexes sans utiliser de temps système supplémentaire par image résultant du retraçage constant du contenu des données vectorielles.

Les méthodes de la classe BitmapData prennent en charge les effets qui ne sont pas disponibles par le biais des filtres associés aux objets d’affichage non bitmap.

Un objet BitmapData contient un tableau de données de pixels. Ces données peuvent représenter une image bitmap entièrement opaque ou entièrement transparente contenant des données de canal alpha. Chaque type d’objet BitmapData est stocké en tant que tampon converti en entiers 32 bits. Chaque entier 32 bits détermine les propriétés d’un pixel unique de l’image bitmap.

Chaque entier 32 bits est une combinaison de quatre valeurs de canal de 8 bits (de 0 à 255) décrivant les valeurs de transparence alpha et les valeurs de rouge, vert et bleu (ARVB) du pixel (pour les valeurs ARVB, l’octet le plus significatif représente la valeur du canal alpha, suivie de rouge, vert et bleu).

Les quatre canaux (alpha, rouge, vert et bleu) sont représentés sous forme de nombres lorsque vous les utilisez avec la méthode BitmapData.copyChannel() ou les propriétés DisplacementMapFilter.componentX et DisplacementMapFilter.componentY. Ces nombres sont en retour représentés par les constantes suivantes dans la classe BitmapDataChannel :

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

Vous pouvez associer des objets BitmapData à un objet Bitmap à l’aide de la propriété bitmapData de l’objet Bitmap.

Vous pouvez utiliser un objet BitmapData pour remplir un objet Graphics à l’aide de la méthode Graphics.beginBitmapFill().

Dans le moteur d’exécution AIR, les classes DockIcon, Icon, InteractiveIcon et SystemTrayIcon comprennent chacune une propriété bitmaps qui est un tableau d’objets BitmapData qui définissent les images bitmap pour une icône.

Dans AIR 1.5 et Flash Player 10, la taille maximale d’un objet BitmapData est de 8 191 pixels en largeur ou en hauteur, et le nombre total de pixels ne peut pas excéder 16 777 215 pixels (ainsi, si la largeur d’un objet BitmapData est de 8 191 pixels, sa hauteur maximale doit être de 2 048 pixels). Dans Flash Player 9 et les versions antérieures, ainsi que dans AIR 1.1 et les versions antérieures, la limite est de 2 880 pixels de haut sur 2 880 pixels de large.

Dans AIR 3 et Flash Player 11 et les versions ultérieures, les limites de taille pour un objet BitmapData ont été supprimées. La taille maximale d’un bitmap dépend désormais du système d’exploitation.

Les appels de toute méthode ou propriété d’un objet BitmapData renvoient une erreur ArgumentError si l’objet BitmapData n’est pas valide (si height == 0 et width == 0, par exemple) ou s’il a été éliminé par le biais de dispose().

Consulter les exemples

Plus d’exemples

Informations complémentaires

Eléments de l’API associés



Propriétés publiques
 PropriétéDéfini par
 Inheritedconstructor : Object
Référence à l’objet de classe ou à la fonction constructeur d’une occurrence donnée d’un objet.
Object
  height : int
[lecture seule] La hauteur de l’image bitmap en pixels.
BitmapData
  rect : Rectangle
[lecture seule] Le rectangle qui délimite la taille et l’emplacement de l’image bitmap.
BitmapData
  transparent : Boolean
[lecture seule] Définit si l’image bitmap prend en charge la transparence par pixel.
BitmapData
  width : int
[lecture seule] Largeur de l’image bitmap en pixels.
BitmapData
Méthodes publiques
 MéthodeDéfini par
  
BitmapData(width:int, height:int, transparent:Boolean = true, fillColor:uint = 0xFFFFFFFF)
Crée un objet BitmapData à la largeur et la hauteur spécifiées.
BitmapData
  
applyFilter(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, filter:BitmapFilter):void
Prend une image source et un objet filtre et génère l’image filtrée.
BitmapData
  
Renvoie un nouvel objet BitmapData, clone de l’occurrence d’origine avec une copie exacte de l’image bitmap contenue.
BitmapData
  
Définit les valeurs de couleur dans une zone spécifiée d’une image bitmap avec un objet ColorTransform.
BitmapData
  
compare(otherBitmapData:BitmapData):Object
Compare deux objets BitmapData.
BitmapData
  
copyChannel(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, sourceChannel:uint, destChannel:uint):void
Transfère les données du canal d’un autre objet BitmapData ou de l’objet BitmapData actuel vers un canal de l’objet BitmapData actuel.
BitmapData
  
copyPixels(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, alphaBitmapData:BitmapData = null, alphaPoint:Point = null, mergeAlpha:Boolean = false):void
Met en place une routine rapide permettant de manipuler les pixels de différentes images sans effets d’étirement, de rotation ou de couleur.
BitmapData
  
Remplit un tableau d’octets à partir d’une zone rectangulaire de données de pixels.
BitmapData
  
Libère la mémoire utilisée pour stocker l’objet BitmapData.
BitmapData
  
draw(source:IBitmapDrawable, matrix:Matrix = null, colorTransform:flash.geom:ColorTransform = null, blendMode:String = null, clipRect:Rectangle = null, smoothing:Boolean = false):void
Dessine l’objet d’affichage source sur l’image bitmap avec la fonctionnalité de rendu vectoriel du moteur d’exécution de Flash.
BitmapData
  
drawWithQuality(source:IBitmapDrawable, matrix:Matrix = null, colorTransform:flash.geom:ColorTransform = null, blendMode:String = null, clipRect:Rectangle = null, smoothing:Boolean = false, quality:String = null):void
Dessine l’objet d’affichage source sur l’image bitmap avec la fonctionnalité de rendu vectoriel du moteur d’exécution de Flash.
BitmapData
  
encode(rect:Rectangle, compressor:Object, byteArray:ByteArray = null):ByteArray
Compresse l’objet BitmapData à l’aide de l’algorithme de compression sélectionné et renvoie un nouvel objet ByteArray.
BitmapData
  
Remplit une zone rectangulaire de pixels avec une couleur ARVB spécifiée.
BitmapData
  
floodFill(x:int, y:int, color:uint):void
Effectue une opération de peinture sur une image à partir de certaines coordonnées (x, y) et à l’aide d’une certaine couleur.
BitmapData
  
Détermine le rectangle de destination affecté par l’appel de la méthode applyFilter(), en fonction d’un objet BitmapData, d’un rectangle source et d’un objet filtre spécifiés.
BitmapData
  
getColorBoundsRect(mask:uint, color:uint, findColor:Boolean = true):Rectangle
Détermine une zone rectangulaire qui regroupe entièrement tous les pixels d’une couleur spécifiée au sein de l’image bitmap (si le paramètre findColor est défini sur true) ou tous les pixels qui n’incluent pas la couleur spécifiée (si le paramètre findColor est défini sur false).
BitmapData
  
Renvoie un entier représentant une valeur de pixels RVB à partir d’un objet BitmapData à un point spécifique (x, y).
BitmapData
  
Renvoie une valeur de couleur ARVB qui contient des données de canal alpha, ainsi que les données RVB.
BitmapData
  
Génère un tableau d’octets à partir d’une zone rectangulaire de données de pixels.
BitmapData
  
Génère un tableau de vecteurs à partir d’une zone rectangulaire de données de pixels.
BitmapData
 Inherited
Indique si la propriété spécifiée d’un objet est définie.
Object
  
Calcule l’histogramme binaire à 256 valeurs d’un objet BitmapData.
BitmapData
  
hitTest(firstPoint:Point, firstAlphaThreshold:uint, secondObject:Object, secondBitmapDataPoint:Point = null, secondAlphaThreshold:uint = 1):Boolean
Procède à la détection des clics au niveau des pixels entre une image bitmap et un point, un rectangle ou toute autre image bitmap.
BitmapData
 Inherited
Indique si une occurrence de la classe Object figure dans la chaîne de prototype de l’objet spécifié en tant que paramètre.
Object
  
Verrouille une image de sorte que les objets qui référencent l’objet BitmapData, tels que les objets Bitmap, ne sont pas mis à jour lorsque celui-ci est modifié.
BitmapData
  
merge(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, redMultiplier:uint, greenMultiplier:uint, blueMultiplier:uint, alphaMultiplier:uint):void
Procède à la fusion canal par canal d’une image source vers une image de destination.
BitmapData
  
noise(randomSeed:int, low:uint = 0, high:uint = 255, channelOptions:uint = 7, grayScale:Boolean = false):void
Remplit une image avec des pixels représentant un bruit aléatoire.
BitmapData
  
paletteMap(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, redArray:Array = null, greenArray:Array = null, blueArray:Array = null, alphaArray:Array = null):void
Remappe les valeurs des canaux de couleur dans une image recevant jusqu’à quatre tableaux de données de palette de couleurs, un pour chaque 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
Génère une image de bruit Perlin.
BitmapData
  
pixelDissolve(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, randomSeed:int = 0, numPixels:int = 0, fillColor:uint = 0):int
Procède à la dissolution de pixels, soit d’une image source vers une image de destination, soit en utilisant la même image.
BitmapData
 Inherited
Indique si la propriété spécifiée existe et est énumérable.
Object
  
Fait défiler une image en fonction d’un certain montant en pixels (x, y).
BitmapData
  
setPixel(x:int, y:int, color:uint):void
Définit un pixel unique d’un objet BitmapData.
BitmapData
  
setPixel32(x:int, y:int, color:uint):void
Définit les valeurs de couleur et transparence alpha d’un pixel unique d’un objet BitmapData.
BitmapData
  
setPixels(rect:Rectangle, inputByteArray:ByteArray):void
Convertit un tableau d’octets en une zone rectangulaire de données de pixels.
BitmapData
 Inherited
Définit la disponibilité d’une propriété dynamique pour les opérations en boucle.
Object
  
setVector(rect:Rectangle, inputVector:Vector.<uint>):void
Convertit un objet Vector en une zone rectangulaire de données de pixels.
BitmapData
  
threshold(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, operation:String, threshold:uint, color:uint = 0, mask:uint = 0xFFFFFFFF, copySource:Boolean = false):uint
Teste les valeurs de pixels d’une image selon un seuil spécifié et définit les pixels qui réussissent le test sur de nouvelles valeurs de couleur.
BitmapData
 Inherited
Renvoie la représentation de chaîne de cet objet, formatée selon les paramètres régionaux en vigueur.
Object
 Inherited
Renvoie la représentation sous forme de chaîne de l’objet spécifié.
Object
  
unlock(changeRect:Rectangle = null):void
Déverrouille une image de sorte que les objets qui référencent l’objet BitmapData, tels que les objets Bitmap, sont mis à jour lorsque celui est modifié.
BitmapData
 Inherited
Renvoie la valeur primitive de l’objet spécifié.
Object
Détails de la propriété

height

propriété
height:int  [lecture seule]

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 9, AIR 1.0, Flash Lite 4

La hauteur de l’image bitmap en pixels.



Implémentation
    public function get height():int

rect

propriété 
rect:Rectangle  [lecture seule]

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 9, AIR 1.0, Flash Lite 4

Le rectangle qui délimite la taille et l’emplacement de l’image bitmap. Le haut et le côté gauche du rectangle sont définis sur 0 ; la largeur et la hauteur sont égales à la largeur et à la hauteur, en pixels, de l’objet BitmapData.



Implémentation
    public function get rect():Rectangle

transparent

propriété 
transparent:Boolean  [lecture seule]

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 9, AIR 1.0, Flash Lite 4

Définit si l’image bitmap prend en charge la transparence par pixel. Vous pouvez définir cette valeur uniquement lorsque vous créez un objet BitmapData en transmettant la valeur true au paramètre transparent du constructeur. Après avoir créé un objet BitmapData, vous pouvez alors vérifier s’il prend en charge la transparence par pixel en déterminant si la valeur de la propriété transparent est true.



Implémentation
    public function get transparent():Boolean

width

propriété 
width:int  [lecture seule]

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 9, AIR 1.0, Flash Lite 4

Largeur de l’image bitmap en pixels.



Implémentation
    public function get width():int
Détails du constructeur

BitmapData

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

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 9, AIR 1.0, Flash Lite 4

Crée un objet BitmapData à la largeur et la hauteur spécifiées. Si vous spécifiez une valeur pour le paramètre fillColor, chaque pixel de l’image bitmap est défini sur cette couleur.

Par défaut, l’image bitmap créée est transparente, sauf si vous transmettez la valeur false au paramètre transparent. Une fois l’image bitmap opaque créée, vous ne pouvez pas la transformer en bitmap transparente. Chaque pixel d’une image bitmap opaque utilise uniquement 24 bits d’informations du canal de couleur. Si vous réglez l’image bitmap sur transparent, chaque pixel utilise 32 bits d’informations de canal de couleur, y compris un canal de transparence alpha.

Dans AIR 1.5 et Flash Player 10, la taille maximale d’un objet BitmapData est de 8 191 pixels en largeur ou en hauteur, et le nombre total de pixels ne peut pas excéder 16 777 215 pixels (ainsi, si la largeur d’un objet BitmapData est de 8 191 pixels, sa hauteur maximale doit être de 2 048 pixels). Dans Flash Player 9 et les versions antérieures, ainsi que dans AIR 1.1 et les versions antérieures, la limite est de 2 880 pixels de haut sur 2 880 pixels de large. Si vous spécifiez une valeur de largeur ou de hauteur supérieure à 2880, la nouvelle occurrence n’est pas créée.

Paramètres
width:int — Largeur de l’image bitmap en pixels.
 
height:int — La hauteur de l’image bitmap en pixels.
 
transparent:Boolean (default = true) — Spécifie si l’image bitmap prend en charge la transparence par pixel. La valeur par défaut est true (transparent). Pour créer une image bitmap entièrement transparente, réglez la valeur du paramètre transparent sur true et celle du paramètre fillColor sur 0x00000000 (ou sur 0). Le réglage de la propriété transparent sur false peut entraîner une légère amélioration des performances de rendu.
 
fillColor:uint (default = 0xFFFFFFFF) — Valeur de couleur ARVB 32 bits utilisée pour remplir la zone de l’image bitmap. La valeur par défaut est 0xFFFFFFFF (blanc uni).

Valeur émise
ArgumentError — La largeur et/ou la hauteur dépassent les dimensions maximales.
Détails de la méthode

applyFilter

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

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 9, AIR 1.0

Prend une image source et un objet filtre et génère l’image filtrée.

Cette méthode repose sur le comportement des objets filtres intégrés, qui déterminent le rectangle de destination affecté par un rectangle source d’entrée.

Une fois le filtre appliqué, la taille de l’image obtenue peut être supérieure à celle de l’image d’entrée. Par exemple, si vous utilisez une classe BlurFilter pour rendre flou un rectangle source de (50,50,100,100) et un point de destination de (10,10), la zone modifiée sur l’image de destination est supérieure à (10,10,60,60) en raison du flou. Cela se produit en interne au cours de l’appel applyFilter().

Si le paramètre sourceRect du paramètre sourceBitmapData est une zone intérieure, telle que (50,50,100,100) sur une image 200 x 200, le filtre utilise les pixels source hors du paramètre sourceRect pour générer le rectangle de destination.

Si l’objet BitmapData et l’objet spécifié en tant que paramètre sourceBitmapData sont identiques, l’application utilise une copie temporaire de l’objet pour effectuer le filtrage. Pour optimiser les performances, évitez ce cas de figure.

Paramètres

sourceBitmapData:BitmapData — L’image bitmap d’entrée à utiliser. L’image source peut être un autre objet BitmapData ou faire référence à l’occurrence de BitmapData actuelle.
 
sourceRect:Rectangle — Rectangle qui définit la zone de l’image source à utiliser en tant qu’entrée.
 
destPoint:Point — Point de l’image de destination (l’occurrence de BitmapData actuelle) correspondant au coin supérieur gauche du rectangle source.
 
filter:BitmapFilter — Objet filtre utilisé pour effectuer l’opération de filtrage. Chaque type de filtre dispose d’exigences spécifiques, comme suit :
  • BlurFilter - Ce filtre peut utiliser les images source et de destination opaques ou transparentes. Si les formats des images sont différents, la copie de l’image source effectuée lors du filtrage correspond au format de l’image de destination.
  • BevelFilter, DropShadowFilter, GlowFilter – L’image de destination de ces filtres doit être transparente. L’appel de DropShadowFilter ou de GlowFilter permet de créer une image contenant les données de canal alpha de l’ombre portée ou du rayonnement. Il ne permet pas de créer l’ombre portée sur l’image de destination. Si vous utilisez l’un de ces filtres sur une image de destination opaque, une exception est renvoyée.
  • ConvolutionFilter - Ce filtre peut utiliser les images source et de destination opaques ou transparentes.
  • ColorMatrixFilter - Ce filtre peut utiliser les images source et de destination opaques ou transparentes.
  • DisplacementMapFilter - Ce filtre peut utiliser les images source et de destination opaques ou transparentes à condition que leurs formats soient identiques.


Valeur émise
TypeError — Les paramètres sourceBitmapData, sourceRect, destPoint ou filter sont réglés sur la valeur null.
 
IllegalOperationError — La transparence des objets BitmapData n’est pas compatible avec l’opération de filtrage.

Plus d’exemples

Eléments de l’API associés


Exemple  ( Comment utiliser cet exemple )

L’exemple suivant indique comment appliquer un filtre de flou à une occurrence 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éthode 
public function clone():BitmapData

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 9, AIR 1.0, Flash Lite 4

Renvoie un nouvel objet BitmapData, clone de l’occurrence d’origine avec une copie exacte de l’image bitmap contenue.

Valeur renvoyée
BitmapData — Nouvel objet BitmapData identique à l’original.

Exemple  ( Comment utiliser cet exemple )

L’exemple suivant indique comment cloner une occurrence BitmapData. Elle indique également que lorsque vous modifiez l’occurrence BitmapData clonée, l’original reste tel quel :
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éthode 
public function colorTransform(rect:Rectangle, colorTransform:flash.geom:ColorTransform):void

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 9, AIR 1.0, Flash Lite 4

Définit les valeurs de couleur dans une zone spécifiée d’une image bitmap en utilisant un objet ColorTransform. Si le rectangle correspond aux limites de l’image bitmap, cette méthode transforme les valeurs de couleur de l’image tout entière.

Paramètres

rect:Rectangle — Objet Rectangle qui définit la zone de l’image dans laquelle l’objet ColorTransform est appliqué.
 
colorTransform:flash.geom:ColorTransform — Objet ColorTransform décrivant les valeurs de transformation de couleur à appliquer.


Valeur émise
TypeError — Le paramètre rect ou colorTransform est défini sur null.

Eléments de l’API associés


Exemple  ( Comment utiliser cet exemple )

L’exemple suivant indique comment appliquer une transformation de couleur à la partie gauche (rectangle) d’un objet 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éthode 
public function compare(otherBitmapData:BitmapData):Object

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 9, AIR 1.0, Flash Lite 4

Compare deux objets BitmapData. S’ils ont tous deux les mêmes dimensions (largeur et hauteur), la méthode renvoie un nouvel objet BitmapData, dans lequel chaque pixel correspond à la « différence » entre les pixels des deux objets source :

  • Si deux pixels sont équivalents, le pixel de différence est 0x00000000.
  • Si deux pixels ont des valeurs RVB différentes (en dehors de la valeur alpha), le pixel de différence est 0xRRGGBB où RR/GG/BB sont les valeurs de différences individuelles entre les canaux rouge, vert et bleu (la valeur du pixel dans l’objet source moins la valeur du pixel dans l’objet otherBitmapData). Les différences relatives au canal alpha ne sont pas prises en compte dans ce cas.
  • Si seule la valeur du canal alpha diffère, la valeur du pixel est 0xZZFFFFFF, où ZZ est la différence entre les valeurs alpha (la valeur alpha dans l’objet source moins la valeur alpha dans l’objet otherBitmapData).

Prenons l’exemple des deux objets BitmapData suivants :

     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
     

Remarque : les couleurs utilisées pour remplir les deux objets BitmapData ont des valeurs RVB légèrement différentes (0xFF0000 et 0xFFAA00). L’utilisation de la méthode compare() entraîne la création d’un objet BitmapData dont chaque pixel indique la différence entre les valeurs RVB des deux bitmaps.

Prenez l’exemple des deux objets BitmapData suivants, dans lesquels les couleurs RVB sont identiques, mais les valeurs alpha sont différentes :

     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
     

L’utilisation de la méthode compare() entraîne la création d’un objet BitmapData dont chaque pixel indique la différence entre les valeurs alpha des deux bitmaps.

Si les objets BitmapData sont équivalents (largeur, hauteur et valeurs de pixels identiques), la méthode renvoie la valeur 0.

Si les largeurs des objets BitmapData ne sont pas identiques, la méthode renvoie la valeur -3.

Si les hauteurs des objets BitmapData ne sont pas identiques, mais que les largeurs sont les mêmes, la méthode renvoie la valeur -4.

L’exemple suivant compare deux objets Bitmap de différentes largeurs (50 et 60) :

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

Paramètres

otherBitmapData:BitmapData — Objet BitmapData à comparer à l’objet BitmapData source.

Valeur renvoyée
Object — S’ils ont tous deux les mêmes dimensions (largeur et hauteur), la méthode renvoie un nouvel objet BitmapData, qui reprend la différence entre les deux objets (voir la discussion principale). Si les objets BitmapData sont équivalents, la méthode renvoie la valeur 0. Si les largeurs des objets BitmapData ne sont pas identiques, la méthode renvoie la valeur -3. Si les hauteurs des objets BitmapData ne sont pas identiques, la méthode renvoie la valeur -4.

Valeur émise
TypeError — Le paramètre otherBitmapData est défini sur null.

Exemple  ( Comment utiliser cet exemple )

L’exemple suivant affiche la valeur d’un pixel dans l’objet BitmapData qui résulte de la comparaison entre deux objets BitmapData de mêmes dimensions :
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éthode 
public function copyChannel(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, sourceChannel:uint, destChannel:uint):void

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 9, AIR 1.0, Flash Lite 4

Transfère les données du canal d’un autre objet BitmapData ou de l’objet BitmapData actuel vers un canal de l’objet BitmapData actuel. Toutes les données contenues dans les autres canaux de l’objet BitmapData de destination sont préservées.

La valeur du canal source et de destination peut être l’une des valeurs suivantes :

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

Paramètres

sourceBitmapData:BitmapData — L’image bitmap d’entrée à utiliser. L’image source peut être un objet BitmapData différent ou peut faire référence à l’objet BitmapData actuel.
 
sourceRect:Rectangle — Objet Rectangle source. Pour copier uniquement les données de canal à partir d’une zone de taille inférieure sur l’image bitmap, spécifiez un rectangle source dont la taille est inférieure à la taille globale de l’objet BitmapData.
 
destPoint:Point — Objet Point de destination qui représente le coin supérieur gauche de la zone rectangulaire dans laquelle les nouvelles données de canal sont placées. Pour copier uniquement les données de canal d’une zone vers une autre sur l’image de destination, spécifiez un point autre que (0,0).
 
sourceChannel:uint — Canal source. Utilisez une valeur provenant de la classe BitmapDataChannel (BitmapDataChannel.RED, BitmapDataChannel.BLUE, BitmapDataChannel.GREEN, BitmapDataChannel.ALPHA).
 
destChannel:uint — Canal de destination. Utilisez une valeur provenant de la classe BitmapDataChannel (BitmapDataChannel.RED, BitmapDataChannel.BLUE, BitmapDataChannel.GREEN, BitmapDataChannel.ALPHA).


Valeur émise
TypeError — Les paramètres sourceBitmapData, sourceRect ou destPoint sont définis sur null.

Eléments de l’API associés


Exemple  ( Comment utiliser cet exemple )

L’exemple suivant indique comment copier le canal rouge dans un objet BitmapData, dans son propre canal bleu, dans une zone 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éthode 
public function copyPixels(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, alphaBitmapData:BitmapData = null, alphaPoint:Point = null, mergeAlpha:Boolean = false):void

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 9, AIR 1.0, Flash Lite 4

Met en place une routine rapide permettant de manipuler les pixels de différentes images sans effets d’étirement, de rotation ou de couleur. Cette méthode copie une zone rectangulaire d’une image source dans une zone rectangulaire de taille identique au point de destination de l’objet BitmapData de destination.

Si vous incluez les paramètres alphaBitmap et alphaPoint, vous pouvez utiliser une image secondaire en tant que source alpha pour l’image source. Si l’image source contient des données alpha, les deux ensembles de données alpha sont utilisés pour composer des pixels de l’image source vers l’image de destination. Le paramètre alphaPoint est le point, sur l’image alpha, correspondant au coin supérieur gauche du rectangle source. Aucun pixel situé hors de l’intersection de l’image source et de l’image alpha n’est copié sur l’image de destination.

La propriété mergeAlpha contrôle si le canal alpha est utilisé ou non lorsqu’une image transparente est copiée sur une autre image transparente. Pour copier des pixels avec les données du canal alpha, définissez la propriété mergeAlpha sur true . Par défaut, la propriété mergeAlpha est définie sur false.

Paramètres

sourceBitmapData:BitmapData — Image bitmap d’entrée à partir de laquelle les pixels sont copiés. L’image source peut être une occurrence de BitmapData différente ou peut faire référence à l’occurrence de BitmapData actuelle.
 
sourceRect:Rectangle — Rectangle qui définit la zone de l’image source à utiliser en tant qu’entrée.
 
destPoint:Point — Point de destination représentant le coin supérieur gauche de la zone rectangulaire dans laquelle les nouveaux pixels sont placés.
 
alphaBitmapData:BitmapData (default = null) — Source de l’objet BitmapData alpha secondaire.
 
alphaPoint:Point (default = null) — Point, sur l’objet BitmapData alpha, correspondant au coin supérieur gauche du paramètre sourceRect.
 
mergeAlpha:Boolean (default = false) — Pour utiliser le canal alpha, définissez la valeur sur true. Pour copier des pixels sans canal alpha, définissez la valeur sur false.


Valeur émise
TypeError — Les paramètres sourceBitmapData, sourceRect et destPoint sont définis sur null.

Exemple  ( Comment utiliser cet exemple )

L’exemple suivant indique comment copier des pixels à partir d’une zone de 20 x 20 pixels d’un objet BitmapData vers un autre objet 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éthode 
public function copyPixelsToByteArray(rect:Rectangle, data:ByteArray):void

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 11.4, AIR 3.4

Remplit un tableau d’octets à partir d’une zone rectangulaire de données de pixels. En commençant par l’index position de l’objet ByteArray, cette méthode écrit un entier non signé (valeur de pixel non multipliée de 32 bits) pour chaque pixel dans le tableau d’octets. Si besoin est, la taille du tableau d’octets est augmentée du nombre d’octets nécessaire pour pouvoir contenir toutes les données de pixel.

Paramètres

rect:Rectangle — Zone rectangulaire de l’objet BitmapData en cours
 
data:ByteArray — objet ByteArray de destination


Valeur émise
TypeError — si l’argument rect est null ou l’argument data est null

Eléments de l’API associés

dispose

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

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 9, AIR 1.0, Flash Lite 4

Libère la mémoire utilisée pour stocker l’objet BitmapData.

Lorsque la méthode dispose() est appelée sur une image, la largeur et la hauteur de celle-ci sont définies sur 0. Tous les appels ultérieurs des méthodes ou des propriétés de cette occurrence de BitmapData échouent et une exception est renvoyée.

BitmapData.dispose() libère immédiatement la mémoire occupée par les données bitmap actuelles (une image bitmap peut consommer jusqu’à 64 Mo de mémoire). Après avoir utilisé BitmapData.dispose(), l’objet BitmapData n’est plus utilisable et le moteur d’exécution de Flash renvoie une exception si vous appelez des fonctions sur l’objet BitmapData. Toutefois, BitmapData.dispose() ne nettoie pas l’objet BitmapData (environ 128 octets) ; la mémoire occupée par l’objet BitmapData actuel est libérée lorsque le nettoyeur de mémoire collecte l’objet BitmapData.

Eléments de l’API associés


Exemple  ( Comment utiliser cet exemple )

L’exemple suivant illustre l’effet de l’appel d’une méthode d’objet BitmapData consécutif à l’appel de la méthode dispose() (une exception est renvoyée) :
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éthode 
public function draw(source:IBitmapDrawable, matrix:Matrix = null, colorTransform:flash.geom:ColorTransform = null, blendMode:String = null, clipRect:Rectangle = null, smoothing:Boolean = false):void

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 9, AIR 1.0, Flash Lite 4

Dessine l’objet d’affichage source sur l’image bitmap avec la fonctionnalité de rendu vectoriel du moteur d’exécution de Flash. Vous pouvez spécifier les paramètres matrix, colorTransform, blendMode, ainsi qu’un paramètre de destination clipRect pour contrôler l’exécution du rendu. Vous pouvez éventuellement indiquer si l’image bitmap doit être lissée lorsqu’elle est redimensionnée (cette opération ne fonctionne que si l’objet source est un objet BitmapData).

Remarque : la méthode drawWithQuality() fonctionne exactement comme la méthode draw(), mais au lieu d’utiliser la propriété Stage.quality pour déterminer la qualité de rendu vectoriel, vous spécifiez le paramètre quality sur la méthode drawWithQuality().

Cette méthode correspond directement au mode de traçage des objets à l’aide de la fonctionnalité de rendu vectoriel standard dans l’interface de l’outil de création.

L’objet d’affichage source n’utilise pas les transformations appliquées pour cet appel. Il est traité de la manière dont il apparaît dans la bibliothèque ou dans le fichier, sans transformation de matrice, de couleurs et sans mode de fondu. Pour dessiner un objet d’affichage, tel qu’un clip, en utilisant ses propres propriétés de transformation, vous pouvez copier sa propriété transform dans la propriété transform de l’objet Bitmap qui utilise l’objet BitmapData.

Cette méthode est prise en charge sur RTMP dans Flash Player 9.0.115.0 et versions ultérieures, et dans Adobe AIR. Vous pouvez contrôler l’accès aux flux sur un serveur FMS (Flash Media Server) dans un script coté serveur. Pour plus de détails, voir les propriétés Client.audioSampleAccess et Client.videoSampleAccess dans le Guide de référence du langage ActionScript d’Adobe Flash Media Server côté serveur.

Si l’objet source et (dans le cas d’un objet Sprite ou MovieClip) tous les objets enfant correspondants ne proviennent pas du même domaine que l’appelant, ou ne résident pas dans un contenu auquel ce dernier peut accéder par le biais de la méthode Security.allowDomain(), un appel à la méthode draw() renvoie une exception SecurityError. Cette restriction ne s’applique pas au contenu AIR dans le sandbox de sécurité de l’application.

Il existe également des restrictions concernant l’utilisation d’une image bitmap chargée en tant que source. Un appel de la méthode draw() aboutit si l’image chargée provient du même domaine que l’appelant. Par ailleurs, un fichier de régulation interdomaine sur le serveur de l’image peut autoriser le domaine du contenu SWF qui appelle la méthode draw(). Le cas échéant, vous devez définir la propriété checkPolicyFile d’un objet LoaderContext, puis utiliser cet objet en tant que paramètre context lors de l’appel de la méthode load() de l’objet Loader utilisée pour charger l’image. Le contenu AIR du sandbox de sécurité de l’application n’est pas soumis à ces restrictions.

Dans Windows, la méthode draw() ne peut pas capturer le contenu SWF incorporé dans une page HTML dans un objet HTMLLoader dans Adobe AIR.

La méthode draw() ne peut pas capturer un contenu PDF dans Adobe AIR. Elle ne peut pas non plus capturer un contenu SWF intégré dans HTML dont l’attribut wmode est défini sur "window" dans Adobe AIR.

Paramètres

source:IBitmapDrawable — Objet d’affichage ou objet BitmapData à dessiner sur l’objet BitmapData (les classes DisplayObject et BitmapData mettent en œuvre l’interface IBitmapDrawable).
 
matrix:Matrix (default = null) — Objet Matrix utilisé pour redimensionner, faire pivoter ou traduire les coordonnées de l’image bitmap. Si vous ne souhaitez pas appliquer une matrice de transformation à l’image, réglez ce paramètre sur une matrice d’identité, créée à l’aide du constructeur new Matrix() par défaut, ou transmettez une valeur null.
 
colorTransform:flash.geom:ColorTransform (default = null) — Objet ColorTransform utilisé pour définir les valeurs de couleur du bitmap. Si aucun objet n’est fourni, les couleurs de l’image bitmap ne sont pas transformées. Si ce paramètre doit être transmis, alors que vous ne souhaitez pas transformer l’image, réglez-le sur un objet ColorTransform créé à l’aide du constructeur new ColorTransform() par défaut.
 
blendMode:String (default = null) — Chaîne extraite de la classe flash.display.BlendMode, qui spécifie le mode de fondu à appliquer au bitmap générée par l’opération.
 
clipRect:Rectangle (default = null) — Objet Rectangle qui définit la zone de l’image source à dessiner. Si cette valeur n’est pas fournie, aucun découpage n’est effectué et l’objet source est dessiné dans sa totalité.
 
smoothing:Boolean (default = false) — Une valeur booléenne qui détermine si l’objet BitmapData doit être lissé lors d’une mise à l’échelle ou d’une rotation demandée par le paramètre matrix. Le paramètre smoothing s’applique uniquement lorsque le paramètre source est un objet BitmapData. Lorsque le paramètre smoothing est défini sur false, l’image BitmapData pivotée ou mise à l’échelle peut sembler pixélisée ou irrégulière. Par exemple, les deux images suivantes utilisent le même objet BitmapData pour le paramètre source, mais le paramètre smoothing est défini sur true à gauche et sur false à droite :

Deux images : à gauche avec lissage et à droite sans lissage.

Le traçage d’une image bitmap avec le paramètre smoothing défini sur true prend plus de temps que lorsque smoothing est défini sur false.


Valeur émise
ArgumentError — Le paramètre source n’est pas un objet BitmapData ou DisplayObject.
 
SecurityError — L’objet source et (dans le cas d’un objet Sprite ou MovieClip) tous les objets enfant correspondants ne proviennent pas du même domaine que l’appelant, ou ne résident pas dans un contenu auquel ce dernier peut accéder par le biais de la méthode Security.allowDomain(). Cette restriction ne s’applique pas au contenu AIR dans le sandbox de sécurité de l’application.
 
ArgumentError — La source est réglée sur null ou n’est pas un objet IBitmapDrawable valide.

Eléments de l’API associés


Exemple  ( Comment utiliser cet exemple )

L’exemple suivant indique comment dessiner un objet TextField sur un objet 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éthode 
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

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 11.3, AIR 3.3

Dessine l’objet d’affichage source sur l’image bitmap avec la fonctionnalité de rendu vectoriel du moteur d’exécution de Flash. Vous pouvez spécifier les paramètres matrix, colorTransform, blendMode, ainsi qu’un paramètre de destination clipRect pour contrôler l’exécution du rendu. Vous pouvez éventuellement indiquer si l’image bitmap doit être lissée lorsqu’elle est redimensionnée (cette opération ne fonctionne que si l’objet source est un objet BitmapData).

Remarque : la méthode drawWithQuality() fonctionne exactement comme la méthode draw(), mais au lieu d’utiliser la propriété Stage.quality pour déterminer la qualité de rendu vectoriel, vous spécifiez le paramètre quality sur la méthode drawWithQuality().

Cette méthode correspond directement au mode de traçage des objets à l’aide de la fonctionnalité de rendu vectoriel standard dans l’interface de l’outil de création.

L’objet d’affichage source n’utilise pas les transformations appliquées pour cet appel. Il est traité de la manière dont il apparaît dans la bibliothèque ou dans le fichier, sans transformation de matrice, de couleurs et sans mode de fondu. Pour dessiner un objet d’affichage, tel qu’un clip, en utilisant ses propres propriétés de transformation, vous pouvez copier sa propriété transform dans la propriété transform de l’objet Bitmap qui utilise l’objet BitmapData.

Cette méthode est prise en charge sur RTMP dans Flash Player 9.0.115.0 et versions ultérieures, et dans Adobe AIR. Vous pouvez contrôler l’accès aux flux sur un serveur FMS (Flash Media Server) dans un script coté serveur. Pour plus d’informations, voir les propriétés Client.audioSampleAccess et Client.videoSampleAccess dans le Guide de référence du langage ActionScript d’Adobe Flash Media Server côté serveur.

Si l’objet source et (dans le cas d’un objet Sprite ou MovieClip) tous les objets enfants correspondants ne proviennent pas du même domaine que l’appelant, ou ne résident pas dans un contenu auquel ce dernier peut accéder par le biais de la méthode Security.allowDomain(), un appel à la méthode drawWithQuality() renvoie une exception SecurityError. Cette restriction ne s’applique pas au contenu AIR dans le sandbox de sécurité de l’application.

Il existe également des restrictions concernant l’utilisation d’une image bitmap chargée en tant que source. Un appel de la méthode drawWithQuality() aboutit si l’image chargée provient du même domaine que l’appelant. Par ailleurs, un fichier de régulation interdomaine sur le serveur de l’image peut autoriser le domaine du contenu SWF qui appelle la méthode drawWithQuality(). Le cas échéant, vous devez définir la propriété checkPolicyFile d’un objet LoaderContext, puis utiliser cet objet en tant que paramètre context lors de l’appel de la méthode load() de l’objet Loader utilisée pour charger l’image. Le contenu AIR du sandbox de sécurité de l’application n’est pas soumis à ces restrictions.

Dans Windows, la méthode drawWithQuality() ne peut pas capturer le contenu SWF incorporé dans une page HTML dans un objet HTMLLoader dans Adobe AIR.

La méthode drawWithQuality() ne peut pas capturer un contenu PDF dans Adobe AIR. Elle ne peut pas non plus capturer un contenu SWF intégré dans HTML dont l’attribut wmode est défini sur "window" dans Adobe AIR.

Paramètres

source:IBitmapDrawable — Objet d’affichage ou objet BitmapData à dessiner sur l’objet BitmapData (les classes DisplayObject et BitmapData mettent en œuvre l’interface IBitmapDrawable).
 
matrix:Matrix (default = null) — Objet Matrix utilisé pour redimensionner, faire pivoter ou traduire les coordonnées de l’image bitmap. Si vous ne souhaitez pas appliquer une matrice de transformation à l’image, réglez ce paramètre sur une matrice d’identité, créée à l’aide du constructeur new Matrix() par défaut, ou transmettez une valeur null.
 
colorTransform:flash.geom:ColorTransform (default = null) — Objet ColorTransform utilisé pour définir les valeurs de couleur du bitmap. Si aucun objet n’est fourni, les couleurs de l’image bitmap ne sont pas transformées. Si ce paramètre doit être transmis, alors que vous ne souhaitez pas transformer l’image, réglez-le sur un objet ColorTransform créé à l’aide du constructeur new ColorTransform() par défaut.
 
blendMode:String (default = null) — Chaîne extraite de la classe flash.display.BlendMode, qui spécifie le mode de fondu à appliquer au bitmap générée par l’opération.
 
clipRect:Rectangle (default = null) — Objet Rectangle qui définit la zone de l’image source à dessiner. Si cette valeur n’est pas fournie, aucun découpage n’est effectué et l’objet source est dessiné dans sa totalité.
 
smoothing:Boolean (default = false) — Une valeur booléenne qui détermine si l’objet BitmapData doit être lissé lors d’une mise à l’échelle ou d’une rotation demandée par le paramètre matrix. Le paramètre smoothing s’applique uniquement lorsque le paramètre source est un objet BitmapData. Lorsque le paramètre smoothing est défini sur false, l’image BitmapData pivotée ou mise à l’échelle peut sembler pixélisée ou irrégulière. Par exemple, les deux images suivantes utilisent le même objet BitmapData pour le paramètre source, mais le paramètre smoothing est défini sur true à gauche et sur false à droite :

Deux images : à gauche avec lissage et à droite sans lissage.

Le traçage d’une image bitmap avec le paramètre smoothing défini sur true prend plus de temps que lorsque smoothing est défini sur false.

 
quality:String (default = null) — L’une des valeurs de StageQuality. Sélectionne la qualité d’anticrénelage à utiliser lors de la création de graphiques vectoriels.


Valeur émise
ArgumentError — Le paramètre source n’est pas un objet BitmapData ou DisplayObject.
 
SecurityError — L’objet source et (dans le cas d’un objet Sprite ou MovieClip) tous les objets enfant correspondants ne proviennent pas du même domaine que l’appelant, ou ne résident pas dans un contenu auquel ce dernier peut accéder par le biais de la méthode Security.allowDomain(). Cette restriction ne s’applique pas au contenu AIR dans le sandbox de sécurité de l’application.
 
ArgumentError — La source est réglée sur null ou n’est pas un objet IBitmapDrawable valide.

Eléments de l’API associés


Exemple  ( Comment utiliser cet exemple )

L’exemple suivant indique comment dessiner un objet TextField sur un objet 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éthode 
public function encode(rect:Rectangle, compressor:Object, byteArray:ByteArray = null):ByteArray

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 11.3, AIR 3.3

Compresse l’objet BitmapData à l’aide de l’algorithme de compression sélectionné et renvoie un nouvel objet ByteArray. Ecrit les données résultantes dans l’objet ByteArray spécifié (facultatif). L’argument compressor spécifie l’algorithme de codage, qui peut être PNGEncoderOptions, JPEGEncoderOptions ou JPEGXREncoderOptions.

L’exemple suivant compresse un objet BitmapData à l’aide de 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); 

Paramètres

rect:Rectangle — Zone de l’objet BitmapData à compresser.
 
compressor:Object — Type de compresseur à utiliser. Les valeurs valides sont les suivantes : flash.display.PNGEncoderOptions, flash.display.JPEGEncoderOptions et flash.display.JPEGXREncoderOptions.
 
byteArray:ByteArray (default = null) — Objet ByteArray de sortie destiné à contenir l’image codée.

Valeur renvoyée
ByteArray — Un objet ByteArray contenant l’image codée.

Eléments de l’API associés

fillRect

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

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 9, AIR 1.0, Flash Lite 4

Remplit une zone rectangulaire de pixels avec une couleur ARVB spécifiée.

Paramètres

rect:Rectangle — Zone rectangulaire à remplir.
 
color:uint — Valeur de couleur ARVB qui remplit la zone. Les couleurs ARVB sont souvent spécifiées au format hexadécimal, par exemple 0xFF336699.


Valeur émise
TypeError — Le paramètre rect est défini sur null.

Eléments de l’API associés


Exemple  ( Comment utiliser cet exemple )

L’exemple suivant indique comment remplir une zone rectangulaire d’un objet BitmapData en bleu :
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éthode 
public function floodFill(x:int, y:int, color:uint):void

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 9, AIR 1.0, Flash Lite 4

Effectue une opération de peinture sur une image à partir de certaines coordonnées (x, y) et à l’aide d’une certaine couleur. La méthode floodFill() est similaire à l’outil Pot de peinture dans divers programmes de dessin. La couleur ARVB contient des informations alpha ainsi que des informations sur les couleurs.

Paramètres

x:int — Coordonnée x de l’image.
 
y:int — Coordonnée y de l’image.
 
color:uint — Couleur ARVB à utiliser pour le remplissage.


Exemple  ( Comment utiliser cet exemple )

L’exemple suivant indique comment remplir la zone d’un objet BitmapData, c’est-à-dire la zone qui entoure le pixel défini par le point (10, 10) où toutes les couleurs correspondent à ce stade avec le rouge.
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éthode 
public function generateFilterRect(sourceRect:Rectangle, filter:BitmapFilter):Rectangle

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 9, AIR 1.0

Détermine le rectangle de destination affecté par l’appel de la méthode applyFilter(), en fonction d’un objet BitmapData, d’un rectangle source et d’un objet filtre spécifiés.

Par exemple, un filtre de flou affecte normalement une zone dont la taille est supérieure à celle de l’image d’origine. Une image de 100 x 200 pixels filtrée par une occurrence BlurFilter par défaut, où blurX = blurY = 4 génère un rectangle de destination de (-2,-2,104,204). La méthode generateFilterRect() permet de déterminer la taille de ce rectangle de destination à l’avance, de sorte que vous puissiez dimensionner l’image de destination en conséquence avant d’effectuer une opération de filtrage.

Certains filtres découpent leur rectangle de destination selon la taille de l’image source. Par exemple, un filtre DropShadow interne ne génère pas de résultat de taille supérieure à celle de son image source. Dans cette interface API, l’objet BitmapData fait office de limites source et n’est pas utilisé en tant que paramètre rect.

Paramètres

sourceRect:Rectangle — Rectangle définissant la zone de l’image source à utiliser en tant qu’entrée.
 
filter:BitmapFilter — Objet filtre utilisé pour calculer les dimensions du rectangle de destination.

Valeur renvoyée
Rectangle — Rectangle de destination dont les dimensions ont été calculées à l’aide d’une image, du paramètre sourceRect et d’un filtre.

Valeur émise
TypeError — Le paramètre sourceRect ou filter est défini sur une valeur null.

Exemple  ( Comment utiliser cet exemple )

L’exemple suivant indique comment utiliser la méthode generateFilterRect() pour déterminer la zone rectangulaire devant recevoir le résultat du filtre de flou. Les résultats de la méthode generateFilterRect() sont renvoyés par la fonction 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);
Tenez compte du fait que la méthode generateFilterRect() ne s’applique pas au filtre. Appelez la méthode applyFilter() pour appliquer le filtre.

getColorBoundsRect

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

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 9, AIR 1.0, Flash Lite 4

Détermine une zone rectangulaire qui regroupe entièrement tous les pixels d’une couleur spécifiée au sein de l’image bitmap (si le paramètre findColor est défini sur true) ou tous les pixels qui n’incluent pas la couleur spécifiée (si le paramètre findColor est défini sur false).

Par exemple, si vous disposez d’une image source et souhaitez déterminer le rectangle de l’image qui contient un canal alpha différent de zéro, utilisez {mask: 0xFF000000, color: 0x00000000} en tant que paramètres. Si le paramètre findColor est défini sur true, les limites de pixels caractérisées par (value & mask) == color (value correspondant à la valeur de la couleur du pixel) sont recherchées dans l’image entière. Si le paramètre findColor est défini sur false, la recherche des limites des pixels porte sur l’ensemble de l’image pour laquelle (value & mask) != color (où value correspond à la valeur de couleur du pixel). Pour déterminer l’espace blanc entourant une image, transmettez {mask: 0xFFFFFFFF, color: 0xFFFFFFFF} pour rechercher les limites des pixels qui ne sont pas blancs.

Paramètres

mask:uint — Valeur hexadécimale qui spécifie les bits de la couleur ARVB à prendre en compte. La valeur de la couleur est combinée à cette valeur hexadécimale à l’aide de l’opérateur & (AND au niveau du bit).
 
color:uint — Valeur hexadécimale qui spécifie la couleur ARVB à prendre en compte (si findColor est défini sur true) ou à ne pas prendre en compte (si findColor est défini sur false).
 
findColor:Boolean (default = true) — Si la valeur est définie sur true, renvoie les limites d’une valeur de couleur dans une image. Si la valeur est définie sur false, renvoie les limites dans lesquelles cette couleur n’existe pas dans une image.

Valeur renvoyée
Rectangle — Zone de l’image correspondant à la couleur spécifiée.

Exemple  ( Comment utiliser cet exemple )

L’exemple suivant crée un objet BitmapData comportant du rouge dans la partie supérieure de ses pixels. Il appelle ensuite la méthode getColorBoundsRect() pour déterminer le rectangle où les pixels sont rouges (0xFF0000), puis à nouveau la même méthode pour déterminer le rectangle où les pixels ne sont pas rouges (en définissant le paramètre findColor sur 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éthode 
public function getPixel(x:int, y:int):uint

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 9, AIR 1.0, Flash Lite 4

Renvoie un entier représentant une valeur de pixels RVB à partir d’un objet BitmapData à un point spécifique (x, y). La méthode getPixel() renvoie une valeur de pixels non multipliée. Aucune information alpha n’est renvoyée.

Tous les pixels d’un objet BitmapData sont stockés en tant que valeurs de couleur prémultipliées. Les valeurs des canaux de couleur rouge, vert et bleu d’un pixel image prémultiplié sont déjà multipliées par les données alpha. Par exemple, si la valeur alpha est 0, les canaux RVB sont également définis sur 0, indépendamment de leurs valeurs non multipliées. Cette perte de données peut entraîner certains problèmes lorsque vous effectuez ces opérations. Toutes les méthodes BitmapData utilisent et renvoient des valeurs non multipliées. La représentation des pixels interne est convertie du format prémultiplié au format non multiplié avant d’être renvoyée en tant que valeur. Au cours d’une opération de définition, la valeur de pixels est prémultipliée avant de définir le pixel d’image brut.

Paramètres

x:int — Coordonnée x du pixel.
 
y:int — Coordonnée y du pixel.

Valeur renvoyée
uint — Nombre représentant une valeur de pixels RVB. Si les coordonnées (x, y) se trouvent à l’extérieur des limites de l’image, la méthode renvoie 0.

Eléments de l’API associés


Exemple  ( Comment utiliser cet exemple )

L’exemple suivant crée un objet BitmapData en rouge, puis utilise la méthode getPixel() pour déterminer la valeur de couleur dans le pixel supérieur gauche :
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éthode 
public function getPixel32(x:int, y:int):uint

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 9, AIR 1.0, Flash Lite 4

Renvoie une valeur de couleur ARVB qui contient des données de canal alpha, ainsi que les données RVB. Cette méthode est similaire à la méthode getPixel() qui renvoie une couleur RVB sans les données de canal alpha.

Tous les pixels d’un objet BitmapData sont stockés en tant que valeurs de couleur prémultipliées. Les valeurs des canaux de couleur rouge, vert et bleu d’un pixel image prémultiplié sont déjà multipliées par les données alpha. Par exemple, si la valeur alpha est 0, les canaux RVB sont également définis sur 0, indépendamment de leurs valeurs non multipliées. Cette perte de données peut entraîner certains problèmes lorsque vous effectuez ces opérations. Toutes les méthodes BitmapData utilisent et renvoient des valeurs non multipliées. La représentation des pixels interne est convertie du format prémultiplié au format non multiplié avant d’être renvoyée en tant que valeur. Au cours d’une opération de définition, la valeur de pixels est prémultipliée avant de définir le pixel d’image brut.

Paramètres

x:int — Coordonnée x du pixel.
 
y:int — Coordonnée y du pixel.

Valeur renvoyée
uint — Nombre représentant une valeur de pixels ARVB. Si les coordonnées (x, y) se trouvent à l’extérieur des limites de l’image, 0 est renvoyé.

Eléments de l’API associés


Exemple  ( Comment utiliser cet exemple )

L’exemple suivant crée un objet BitmapData de la couleur spécifiée, puis utilise la méthode getPixel32() pour déterminer la valeur de couleur du pixel supérieur gauche. Enfin, elle détermine les valeurs hexadécimales de chaque composant de couleur (alpha, rouge, vert et bleu) :
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éthode 
public function getPixels(rect:Rectangle):ByteArray

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 9, AIR 1.0, Flash Lite 4

Génère un tableau d’octets à partir d’une zone rectangulaire de données de pixels. Écrit un entier non signé (valeur de pixel non multipliée 32 bits) pour chaque pixel dans le tableau d’octets.

Paramètres

rect:Rectangle — Zone rectangulaire de l’objet BitmapData en cours.

Valeur renvoyée
ByteArray — ByteArray représentant les pixels dans le paramètre Rectangle spécifié.

Valeur émise
TypeError — Le paramètre rect est défini sur null.

Eléments de l’API associés


Exemple  ( Comment utiliser cet exemple )

L’exemple suivant crée un objet BitmapData rempli avec des pixels de bruit aléatoires, puis applique la méthode getPixels() pour remplir un objet ByteArray avec la valeur de pixels pour l’objet 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éthode 
public function getVector(rect:Rectangle):Vector.<uint>

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 10, AIR 1.5, Flash Lite 4

Génère un tableau de vecteurs à partir d’une zone rectangulaire de données de pixels. Renvoie un objet Vector d’entiers non signés (une valeur de pixel non multipliée de 32 bits) pour le rectangle spécifié.

Paramètres

rect:Rectangle — Zone rectangulaire de l’objet BitmapData en cours.

Valeur renvoyée
Vector.<uint> — Vecteur représentant le Rectangle donné.

Valeur émise
TypeError — Le paramètre rect est défini sur null.

histogram

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

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 10, AIR 1.5, Flash Lite 4

Calcule l’histogramme binaire à 256 valeurs d’un objet BitmapData. Cette méthode renvoie un objet Vector contenant quatre occurrences de Vector.<Number> (quatre objets Vector qui contiennent des objets Number). Les quatre occurrences de Vector représentent les composants rouge, vert, bleu et alpha, dans l’ordre. Chaque occurrence de Vector contient 256 valeurs qui représentent le nombre de remplissages d’un composant individuel, de 0 à 255.

Paramètres

hRect:Rectangle (default = null) — La zone de l’objet BitmapData à utiliser.

Valeur renvoyée
Vector.<Vector.<Number>>

hitTest

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

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 9, AIR 1.0, Flash Lite 4

Procède à la détection des clics au niveau des pixels entre une image bitmap et un point, un rectangle ou toute autre image bitmap. Un clic est défini comme le chevauchement d’un point ou d’un rectangle sur un pixel opaque, ou comme deux pixels opaque se chevauchant. Aucun étirement, aucune rotation ou autre transformation n’est pris en compte lorsque vous effectuez un test de recherche.

Si une image est opaque, elle est considérée comme étant un rectangle entièrement opaque pour cette méthode. Les deux images doivent être transparentes pour effectuer un test de recherche au niveau des pixels tenant compte de la transparence. Lorsque vous testez deux images transparentes, les paramètres de seuil alpha déterminent les valeurs des canaux alpha, comprises entre 0 et 255, considérées comme étant opaques.

Paramètres

firstPoint:Point — Position du coin supérieur gauche de l’image BitmapData dans un espace de coordonnées arbitraire. Le même espace de coordonnées est utilisé pour définir le paramètre secondBitmapPoint.
 
firstAlphaThreshold:uint — Plus petite valeur du canal alpha considéré comme étant opaque pour ce test de recherche.
 
secondObject:Object — Objet Rectangle, Point, Bitmap ou BitmapData.
 
secondBitmapDataPoint:Point (default = null) — Point qui définit l’emplacement d’un pixel dans le deuxième objet BitmapData. Utilisez uniquement ce paramètre lorsque la valeur de secondObject est un objet BitmapData.
 
secondAlphaThreshold:uint (default = 1) — Plus petite valeur du canal alpha considéré comme étant opaque dans le deuxième objet BitmapData. Utilisez uniquement ce paramètre lorsque la valeur de secondObject est un objet BitmapData et que les deux objets BitmapData sont transparents.

Valeur renvoyée
Boolean — Valeur true s’il se produit un clic, false dans le cas contraire.

Valeur émise
ArgumentError — Le paramètre secondObject n’est pas un objet Point, Rectangle, Bitmap ou BitmapData.
 
TypeError — Le paramètre firstPoint est défini sur null.

Exemple  ( Comment utiliser cet exemple )

L’exemple suivant crée un objet BitmapData qui n’est opaque que dans une zone rectangulaire (20, 20, 40, 40) et appelle la méthode hitTest() avec un objet Point en tant qu’objet secondObject. Lors du premier appel, l’objet Point définit le coin supérieur gauche de l’objet BitmapData, qui n’est pas opaque, et lors du second appel, l’objet Point définit le centre de l’objet BitmapData, qui est opaque.
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éthode 
public function lock():void

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 9, AIR 1.0

Verrouille une image de sorte que les objets qui référencent l’objet BitmapData, tels que les objets Bitmap, ne sont pas mis à jour lorsque celui-ci est modifié. Pour améliorer les performances, utilisez cette méthode en conjonction avec la méthode unlock() avant et après les appels répétés de la méthode setPixel() ou setPixel32().

Eléments de l’API associés


Exemple  ( Comment utiliser cet exemple )

L’exemple suivant crée un objet BitmapData reposant sur la propriété bitmapData d’un objet Bitmap, picture. Il appelle ensuite la méthode lock() avant d’appeler une fonction personnalisée complexe, complexTransformation(), qui modifie l’objet BitmapData (l’objet picture et la fonction complexTransformation() ne sont pas définis dans cet exemple). Même si la fonction complexTransformation() met à jour la propriété bitmapData de l’objet picture, les modifications ne sont reportées que lorsque le code appelle la méthode unlock() sur l’objet bitmapData :
import flash.display.BitmapData;

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

merge

()méthode 
public function merge(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, redMultiplier:uint, greenMultiplier:uint, blueMultiplier:uint, alphaMultiplier:uint):void

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 9, AIR 1.0, Flash Lite 4

Procède à la fusion canal par canal d’une image source vers une image de destination. Pour chaque canal et chaque pixel, une nouvelle valeur est calculée en fonction des valeurs de canal des pixels source et cible. Par exemple, dans le canal rouge, la nouvelle valeur est calculée comme suit (où redSrc est la valeur du canal rouge d’un pixel dans l’image source et redDest la valeur du canal rouge du pixel correspondant dans l’image cible) :

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

Les multiplicateurs redMultiplier, greenMultiplier, blueMultiplier et alphaMultiplier sont utilisés pour chaque canal de couleur. Servez-vous d’une valeur hexadécimale comprise entre 0 et 0x100 (256), où 0 spécifie que la valeur entière de la cible est utilisée dans le résultat, 0x100 spécifie que la valeur entière de la source est utilisée, et les nombres intermédiaires spécifient l’utilisation de la fusion (par exemple 0x80 pour 50 %).

Paramètres

sourceBitmapData:BitmapData — L’image bitmap d’entrée à utiliser. L’image source peut être un objet BitmapData différent ou peut faire référence à l’objet BitmapData actuel.
 
sourceRect:Rectangle — Rectangle qui définit la zone de l’image source à utiliser en tant qu’entrée.
 
destPoint:Point — Point de l’image de destination (l’occurrence de BitmapData actuelle) correspondant au coin supérieur gauche du rectangle source.
 
redMultiplier:uint — Valeur uint hexadécimale par laquelle la valeur du canal rouge doit être multipliée.
 
greenMultiplier:uint — Valeur uint hexadécimale par laquelle la valeur du canal vert doit être multipliée.
 
blueMultiplier:uint — Valeur uint hexadécimale par laquelle la valeur du canal bleu doit être multipliée.
 
alphaMultiplier:uint — Valeur uint hexadécimale par laquelle la valeur du canal alpha doit être multipliée.


Valeur émise
TypeError — Les paramètres sourceBitmapData, sourceRect ou destPoint sont définis sur null.

Exemple  ( Comment utiliser cet exemple )

L’exemple suivant crée deux objets BitmapData. Tous deux font 100 x 80 pixels. Le premier est rempli en vert et le deuxième en rouge. Le code appelle la méthode merge(), fusionne les pixels du deuxième objet BitmapData avec ceux du premier, mais uniquement dans la zone rectangulaire spécifiée :
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éthode 
public function noise(randomSeed:int, low:uint = 0, high:uint = 255, channelOptions:uint = 7, grayScale:Boolean = false):void

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 9, AIR 1.0

Remplit une image avec des pixels représentant un bruit aléatoire.

Paramètres

randomSeed:int — Nombre de la valeur de départ aléatoire à utiliser. Si vous conservez tous les autres paramètres, vous pouvez générer différents résultats pseudo-aléatoires en variant la valeur de départ aléatoire. La fonction de bruit est une fonction de mappage et non une véritable fonction de génération de nombres aléatoires. Elle permet donc de créer systématiquement les mêmes résultats à partir d’une même valeur de départ aléatoire.
 
low:uint (default = 0) — Valeur la plus faible à générer pour chaque canal (de 0 à 255).
 
high:uint (default = 255) — Valeur la plus élevée à générer pour chaque canal (de 0 à 255).
 
channelOptions:uint (default = 7) — Nombre pouvant être une combinaison des quatre valeurs de canaux de couleur (BitmapDataChannel.RED, BitmapDataChannel.BLUE, BitmapDataChannel.GREEN et BitmapDataChannel.ALPHA). Vous pouvez utiliser l’opérateur logique OR (|) pour combiner les valeurs de canaux.
 
grayScale:Boolean (default = false) — Valeur booléenne. Si la valeur est true, une image en nuances de gris est créée en définissant tous les canaux de couleur sur la même valeur. La sélection du canal alpha n’est pas affectée en définissant ce paramètre sur true.

Eléments de l’API associés


Exemple  ( Comment utiliser cet exemple )

L’exemple suivant crée deux objets BitmapData et appelle la méthode noise() sur les deux. Cependant, le paramètre grayscale est défini sur false pour l’appel à la méthode noise() du premier objet, et est défini sur true pour l’appel à la méthode noise() du deuxième objet :
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éthode 
public function paletteMap(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, redArray:Array = null, greenArray:Array = null, blueArray:Array = null, alphaArray:Array = null):void

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 9, AIR 1.0, Flash Lite 4

Remappe les valeurs des canaux de couleur dans une image recevant jusqu’à quatre tableaux de données de palette de couleurs, un pour chaque canal.

Les moteurs d’exécution de Flash utilisent la procédure suivante pour générer l’image résultante :

  1. Une fois le calcul des valeurs rouge, vert, bleu et alpha effectué, celles-ci sont additionnées en effectuant une opération arithmétique standard s’articulant autour d’un entier 32 bits.
  2. Les valeurs de couleur rouge, vert, bleu et alpha de chaque pixel sont extraites dans des valeurs distinctes comprises entre 0 et 255. Ces valeurs permettent de rechercher de nouvelles valeurs de couleur dans le tableau voulu : redArray, greenArray, blueArray et alphaArray. Chacun de ces quatre tableaux doit contenir 256 valeurs.
  3. Une fois les quatre nouvelles valeurs de canaux récupérées, elles sont combinées dans une valeur ARVB standard appliquée au pixel.

Les effets multicanaux sont pris en charge par cette méthode. Chaque tableau d’entrée peut contenir des valeurs entières 32 bits ; aucun décalage ne se produit lorsque les valeurs sont additionnées. Cette routine ne prend pas en charge le verrouillage canal par canal.

Si aucun tableau n’est spécifié pour un canal, le canal de couleur est copié de l’image source vers l’image de destination.

Vous pouvez utiliser cette méthode pour de nombreux effets, tel que le mappage de palette général (qui consiste à sélectionner un canal pour le convertir en image couleur de valeur false). Vous pouvez également utiliser cette méthode pour de nombreux algorithmes de manipulation de couleurs avancés, tels que gamma, courbes, niveaux et quantification.

Paramètres

sourceBitmapData:BitmapData — L’image bitmap d’entrée à utiliser. L’image source peut être un autre objet BitmapData ou faire référence à l’occurrence de BitmapData actuelle.
 
sourceRect:Rectangle — Rectangle qui définit la zone de l’image source à utiliser en tant qu’entrée.
 
destPoint:Point — Point de l’image de destination (l’objet BitmapData actuel) correspondant au coin supérieur gauche du rectangle source.
 
redArray:Array (default = null) — Si redArray n’a pas la valeur null, red = redArray[source red value] else red = source rect value.
 
greenArray:Array (default = null) — Si greenArray n’a pas la valeur null, green = greenArray[source green value] else green = source green value.
 
blueArray:Array (default = null) — Si blueArray n’a pas la valeur null, blue = blueArray[source blue value] else blue = source blue value.
 
alphaArray:Array (default = null) — Si alphaArray n’a pas la valeur null, alpha = alphaArray[source alpha value] else alpha = source alpha value.


Valeur émise
TypeError — Les paramètres sourceBitmapData, sourceRect ou destPoint sont définis sur null.

Exemple  ( Comment utiliser cet exemple )

L’exemple suivant crée un objet BitmapData avec un carré central rouge, puis utilise la méthode paletteMap() pour remplacer le rouge par du vert dans la moitié rectangulaire du bas de l’objet 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éthode 
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

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 9, AIR 1.0

Génère une image de bruit Perlin.

L’algorithme permettant de générer un bruit Perlin interpole et combine des fonctions de bruit aléatoire individuelles (appelées octaves) en fonction unique qui génère un bruit aléatoire qui semble plus naturel. Tout comme les octaves musicales, la fréquence de chaque fonction d’octave est doublée par rapport à celle qui la précède. Le bruit Perlin est décrit comme étant une « somme de bruit fractale » car il combine plusieurs ensembles de données de bruit avec différents niveaux de détails.

Vous pouvez utiliser les fonctions de bruit Perlin pour simuler des phénomènes naturels et des paysages tels que le grain du bois, les nuages ou les chaînes de montagnes. Dans la plupart des cas, la sortie d’une fonction de bruit Perlin ne s’affiche pas directement mais est utilisée pour améliorer d’autres images et leur attribuer des variations pseudo-aléatoires.

Les fonctions de bruit aléatoire numériques simples produisent souvent des images aux points durs et contrastés. On ne retrouve pas souvent ce type de contraste dur dans la nature. L’algorithme de bruit Perlin mélange plusieurs fonctions de bruit ayant des niveaux de détails différents. Cet algorithme engendre des variations plus petites parmi les valeurs des pixels environnants.

Paramètres

baseX:Number — Fréquence à utiliser dans la direction x. Par exemple, pour générer un bruit adapté à une image de 64x128 pixels, réglez la valeur baseX sur 64.
 
baseY:Number — Fréquence à utiliser dans la direction y. Par exemple, pour générer un bruit adapté à une image de 64x128 pixels, réglez la valeur baseY sur 128.
 
numOctaves:uint — Nombre d’octaves ou de fonctions de bruit individuelles à combiner pour créer ce bruit. Plus les nombres d’octaves sont élevés, plus les images créées sont détaillées. Les nombres d’octaves plus élevés nécessitent également un temps de traitement plus important.
 
randomSeed:int — Nombre de la valeur de départ aléatoire à utiliser. Si vous conservez tous les autres paramètres, vous pouvez générer différents résultats pseudo-aléatoires en variant la valeur de départ aléatoire. La fonction de bruit Perlin est une fonction de mappage, plutôt qu’une véritable fonction de génération de nombres aléatoires. Elle permet donc de créer systématiquement les mêmes résultats à partir d’une même valeur de départ aléatoire.
 
stitch:Boolean — Valeur booléenne. Si la valeur est true, la méthode tente de lisser les bords de transition de l’image pour créer des textures transparentes en vue du remplissage en mosaïque bitmap.
 
fractalNoise:Boolean — Valeur booléenne. Si la valeur est true, la méthode génère un bruit fractal ; sinon, elle génère une turbulence. Les dégradés d’une image créée à partir d’une turbulence présentent des discontinuités visibles qui lui permettent de mieux appréhender les effets visuels plus saillants, comme les flammes ou les vagues de l’océan.
 
channelOptions:uint (default = 7) — Nombre pouvant être une combinaison des quatre valeurs de canaux de couleur (BitmapDataChannel.RED, BitmapDataChannel.BLUE, BitmapDataChannel.GREEN et BitmapDataChannel.ALPHA). Vous pouvez utiliser l’opérateur logique OR (|) pour combiner les valeurs de canaux.
 
grayScale:Boolean (default = false) — Valeur booléenne. Si la valeur est true, une image en nuances de gris est créée en définissant les canaux de couleur rouge, vert et bleu sur des valeurs identiques. La valeur du canal alpha n’est pas affectée si cette valeur est définie sur true.
 
offsets:Array (default = null) — Tableau de points correspondant aux décalages x et y pour chaque octave. En manipulant les valeurs de décalage, vous pouvez effectuer un défilement lisse d’une image perlinNoise. Chaque point du tableau de décalage affecte une fonction de bruit d’octave spécifique.


Exemple  ( Comment utiliser cet exemple )

L’exemple suivant crée un objet BitmapData de 200x200 pixels qui appelle la méthode perlinNoise() pour générer un effet d’aquarelle rouge et bleu :
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éthode 
public function pixelDissolve(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, randomSeed:int = 0, numPixels:int = 0, fillColor:uint = 0):int

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 9, AIR 1.0

Procède à la dissolution de pixels, soit d’une image source vers une image de destination, soit en utilisant la même image. Les moteurs d’exécution de Flash utilisent une valeur randomSeed pour générer une dissolution de pixels aléatoire. La valeur renvoyée par la fonction doit être transmise lors des appels suivants pour poursuivre la dissolution de pixels jusqu’à ce qu’elle soit terminée.

Si l’image source diffère de l’image de destination, les pixels sont copiés de la source vers la destination à l’aide de toutes les propriétés. Ce processus permet de procéder à la dissolution d’une image vide dans une image entièrement remplie.

Si les images source et de destination sont équivalentes, les pixels sont remplis avec le paramètre color. Ce processus permet de procéder à la dissolution d’une image entièrement remplie. Dans ce mode, le paramètre point de destination est ignoré.

Paramètres

sourceBitmapData:BitmapData — L’image bitmap d’entrée à utiliser. L’image source peut être un autre objet BitmapData ou faire référence à l’occurrence de BitmapData actuelle.
 
sourceRect:Rectangle — Rectangle qui définit la zone de l’image source à utiliser en tant qu’entrée.
 
destPoint:Point — Point de l’image de destination (l’occurrence de BitmapData actuelle) correspondant au coin supérieur gauche du rectangle source.
 
randomSeed:int (default = 0) — Valeur de départ aléatoire à utiliser pour démarrer la dissolution de pixels.
 
numPixels:int (default = 0) — La valeur par défaut est égale à 1/30 de la zone source (largeur x hauteur).
 
fillColor:uint (default = 0) — Valeur de couleur ARVB utilisée pour remplir les pixels dont la valeur source est égale à la valeur de destination.

Valeur renvoyée
int — Nouvelle valeur de départ aléatoire à utiliser pour les appels suivants.

Valeur émise
TypeError — Les paramètres sourceBitmapData, sourceRect ou destPoint sont définis sur null.
 
TypeError — La valeur numPixels est négative.

Exemple  ( Comment utiliser cet exemple )

L’exemple suivant utilise la méthode pixelDissolve() pour convertir un objet BitmapData gris en rouge en procédant à la dissolution de 40 pixels à la fois jusqu’à ce que tous les pixels aient changé de couleur :
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éthode 
public function scroll(x:int, y:int):void

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 9, AIR 1.0

Fait défiler une image en fonction d’un certain montant en pixels (x, y). Les zones du bord situées hors de la zone de défilement demeurent inchangées.

Paramètres

x:int — Valeur du défilement horizontal.
 
y:int — Valeur du défilement vertical.


Exemple  ( Comment utiliser cet exemple )

L’exemple suivant affiche l’effet du défilement d’un objet de données Bitmap de 40 pixels vers la droite :
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éthode 
public function setPixel(x:int, y:int, color:uint):void

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 9, AIR 1.0, Flash Lite 4

Définit un pixel unique d’un objet BitmapData. La valeur de canal alpha actuelle du pixel de l’image est préservée au cours de cette opération. La valeur du paramètre de couleur RVB est traitée en tant que valeur de couleur non multipliée.

Remarque : lorsque vous utilisez à plusieurs reprises la méthode setPixel() ou setPixel32(), appelez la méthode lock() avant setPixel() ou setPixel32(), puis appelez la méthode unlock() une fois tous les pixels modifiés. Vous optimiserez ainsi les performances. Ce processus empêche la mise à jour des objets qui référencent cette occurrence de BitmapData tant que les modifications de pixels ne sont pas terminées.

Paramètres

x:int — Coordonnée x du pixel dont la valeur change.
 
y:int — Coordonnée y du pixel dont la valeur change.
 
color:uint — Couleur RVB résultante du pixel.

Eléments de l’API associés


Exemple  ( Comment utiliser cet exemple )

L’exemple suivant utilise la méthode setPixel() pour tracer une ligne rouge autour de l’objet 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éthode 
public function setPixel32(x:int, y:int, color:uint):void

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 9, AIR 1.0, Flash Lite 4

Définit les valeurs de couleur et transparence alpha d’un pixel unique d’un objet BitmapData. Cette méthode est similaire à la méthode setPixel() ; la principale différence réside dans le fait que la méthode setPixel32() adopte une valeur de couleur ARVB contenant les informations de canal alpha.

Tous les pixels d’un objet BitmapData sont stockés en tant que valeurs de couleur prémultipliées. Les valeurs des canaux de couleur rouge, vert et bleu d’un pixel image prémultiplié sont déjà multipliées par les données alpha. Par exemple, si la valeur alpha est 0, les canaux RVB sont également définis sur 0, indépendamment de leurs valeurs non multipliées. Cette perte de données peut entraîner certains problèmes lorsque vous effectuez ces opérations. Toutes les méthodes BitmapData utilisent et renvoient des valeurs non multipliées. La représentation des pixels interne est convertie du format prémultiplié au format non multiplié avant d’être renvoyée en tant que valeur. Au cours d’une opération de définition, la valeur de pixels est prémultipliée avant de définir le pixel d’image brut.

Remarque : lorsque vous utilisez à plusieurs reprises la méthode setPixel() ou setPixel32(), appelez la méthode lock() avant setPixel() ou setPixel32(), puis appelez la méthode unlock() une fois tous les pixels modifiés. Vous optimiserez ainsi les performances. Ce processus empêche la mise à jour des objets qui référencent cette occurrence de BitmapData tant que les modifications de pixels ne sont pas terminées.

Paramètres

x:int — Coordonnée x du pixel dont la valeur change.
 
y:int — Coordonnée y du pixel dont la valeur change.
 
color:uint — Couleur ARVB résultante du pixel. Si l’image bitmap est opaque (non transparente), la partie de transparence alpha de cette valeur de couleur est ignorée.

Eléments de l’API associés


Exemple  ( Comment utiliser cet exemple )

L’exemple suivant utilise la méthode setPixel32() pour tracer une ligne rouge (alpha == 0x60) autour de l’objet 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éthode 
public function setPixels(rect:Rectangle, inputByteArray:ByteArray):void

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 9, AIR 1.0, Flash Lite 4

Convertit un tableau d’octets en une zone rectangulaire de données de pixels. La méthode ByteArray.readUnsignedInt() est appelée pour chaque pixel et la valeur renvoyée est écrite dans ce dernier. Si le tableau d’octets prend fin avant l’écriture du rectangle complet, la fonction renvoie une valeur. Le système s’attend à ce que les données du tableau d’octets soient des valeurs de pixel ARVB 32 bits. Aucune recherche n’est effectuée dans le tableau d’octets avant ou après la lecture des pixels.

Paramètres

rect:Rectangle — Spécifie la zone rectangulaire de l’objet BitmapData.
 
inputByteArray:ByteArray — Objet ByteArray composé de valeurs de pixel non multipliées 32 bits à utiliser dans la zone rectangulaire.


Valeur émise
EOFError — L’objet inputByteArray ne comprend pas suffisamment de données pour remplir la zone du rectangle rect. La méthode remplit autant de pixels que possible avant de renvoyer l’exception.
 
TypeError — Les paramètres rect ou inputByteArray sont réglés sur une valeur null.

Eléments de l’API associés


Exemple  ( Comment utiliser cet exemple )

L’exemple suivant a recours aux méthodes getPixels() et setPixels() pour copier des pixels d’un objet BitmapData à l’autre :
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éthode 
public function setVector(rect:Rectangle, inputVector:Vector.<uint>):void

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 10, AIR 1.5, Flash Lite 4

Convertit un objet Vector en une zone rectangulaire de données de pixels. Pour chaque pixel, un élément Vector est lu et écrit dans le pixel BitmapData. Le système s’attend à ce que les données de l’objet Vector soient des valeurs de pixel ARVB 32 bits.

Paramètres

rect:Rectangle — Spécifie la zone rectangulaire de l’objet BitmapData.
 
inputVector:Vector.<uint> — Objet Vector composé de valeurs de pixel non multipliées 32 bits à utiliser dans la zone rectangulaire.


Valeur émise
RangeError — Le tableau de vecteurs n’est pas assez grand pour lire toutes les données de pixels.

threshold

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

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 9, AIR 1.0

Teste les valeurs de pixels d’une image selon un seuil spécifié et définit les pixels qui réussissent le test sur de nouvelles valeurs de couleur. L’utilisation de la méthode threshold() permet d’isoler et de remplacer les gammes de couleurs d’une image et d’effectuer d’autres opérations logiques sur les pixels de l’image.

La logique du test de la méthode threshold() est définie comme suit :

  1. Si ((pixelValue & mask) operation (threshold & mask)), définissez le pixel sur color.
  2. Dans le cas contraire, si copySource == true, réglez le pixel sur la valeur de pixel correspondante dans sourceBitmap.

Le paramètre operation spécifie l’opérateur de comparaison à utiliser pour le test de seuil. Par exemple, si vous utilisez « == » en tant que paramètre operation, vous pouvez isoler une valeur de couleur spécifique dans une image. Ou si vous utilisez {operation: "<", mask: 0xFF000000, threshold: 0x7F000000, color: 0x00000000}, vous pouvez définir tous les pixels de destination comme étant entièrement transparents lorsque la valeur alpha du pixel de l’image source est inférieure à 0x7F. Vous pouvez utiliser cette technique pour les transitions animées et d’autres effets.

Paramètres

sourceBitmapData:BitmapData — L’image bitmap d’entrée à utiliser. L’image source peut être un autre objet BitmapData ou faire référence à l’occurrence de BitmapData actuelle.
 
sourceRect:Rectangle — Rectangle qui définit la zone de l’image source à utiliser en tant qu’entrée.
 
destPoint:Point — Point de l’image de destination (l’occurrence de BitmapData actuelle) correspondant au coin supérieur gauche du rectangle source.
 
operation:String — L’un des opérateurs de comparaison suivants, transmis en tant que chaîne : "<", "<=", ">", ">=", "==", "!="
 
threshold:uint — Valeur par rapport à laquelle chaque pixel est testé afin de déterminer s’il est inférieur ou égal au seuil ou s’il le dépasse.
 
color:uint (default = 0) — Valeur de couleur sur laquelle un pixel est réglé si le test de seuil aboutit. La valeur par défaut est 0x00000000.
 
mask:uint (default = 0xFFFFFFFF) — Masque à utiliser pour isoler un composant de couleur.
 
copySource:Boolean (default = false) — Si la valeur est true, les valeurs de pixels de l’image source sont copiées vers la destination lorsque le test de seuil échoue. Si la valeur est false, l’image source n’est pas copiée lorsque le test de seuil échoue.

Valeur renvoyée
uint — Nombre de pixels modifiés.

Valeur émise
TypeError — Les paramètres sourceBitmapData, sourceRect, destPoint ou operation sont définis sur null.
 
ArgumentError — L’opération de chaîne n’est pas une opération valide.

Exemple  ( Comment utiliser cet exemple )

L’exemple suivant exploite la méthode perlinNoise() pour ajouter un motif bleu et rouge à un objet BitmapData, puis applique la méthode threshold() pour copier ces pixels du premier objet BitmapData vers un deuxième, en remplaçant les pixels dont la valeur de rouge est supérieure à 0x80 (50 %) par des pixels en rouge transparent (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éthode 
public function unlock(changeRect:Rectangle = null):void

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 9, AIR 1.0

Déverrouille une image de sorte que les objets qui référencent l’objet BitmapData, tels que les objets Bitmap, sont mis à jour lorsque celui est modifié. Pour améliorer les performances, utilisez cette méthode en conjonction avec la méthode lock() avant et après les appels répétés de la méthode setPixel() ou setPixel32().

Paramètres

changeRect:Rectangle (default = null) — La zone de l’objet BitmapData qui a été modifiée. Si vous ne spécifiez pas de valeur pour ce paramètre, la zone entière de l’objet BitmapData est considérée comme modifiée. Ce paramètre requiert Flash Player version 9.0.115.0 ou ultérieure.

Eléments de l’API associés


Exemple  ( Comment utiliser cet exemple )

L’exemple suivant crée un objet BitmapData reposant sur la propriété bitmapData d’un objet Bitmap, picture. Il appelle ensuite la méthode lock() avant d’appeler une fonction personnalisée complexe, complexTransformation(), qui modifie l’objet BitmapData (l’objet picture et la fonction complexTransformation() ne sont pas définis dans cet exemple). Même si la fonction complexTransformation() met à jour la propriété bitmapData de l’objet picture, les modifications ne sont reportées que lorsque le code appelle la méthode unlock() sur l’objet bitmapData :
import flash.display.BitmapData;

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

L’exemple suivant utilise la classe BitmapDataExample pour charger le fichier Image.gif dans DisplayObject à l’emplacement par défaut (0, 0). Une copie d’Image.gif est ensuite placée à droite de l’original, qui applique de nouvelles couleurs aux pixels qui répondent aux critères définis par la méthode threshold(). La tâche s’accomplit de la façon suivante :
  1. Une propriété url est créée pour désigner l’emplacement et le nom du fichier d’image.
  2. Le constructeur de classe crée un objet Loader, qui crée à son tour un écouteur d’événements, qui est transmis lorsque la méthode completeHandler() termine la manipulation de l’image.
  3. Le paramètre request de l’objet URLRequest est ensuite transmise à loader.load(), qui charge l’image en mémoire à l’aide d’un objet d’affichage.
  4. L’image est ensuite placée dans la liste d’affichage, qui affiche l’image aux coordonnées x = 0, y = 0.
  5. La méthode completeHandler() effectue ensuite les opérations suivantes :
    • Crée un deuxième objet Loader, ainsi qu’un objet Bitmap, qui est initialisé avec l’objet Loader.
    • Crée un deuxième objet Bitmap, duplicate, qui appelle en retour la méthode duplicateImage(), qui crée elle-même un double de l’image d’origine.
    • Crée un objet BitmapData qui est associé à l’objet BitmapData de l’objet duplicate.
    • Crée un objet Rectangle qui est initialisé avec les mêmes coordonnées, la même largeur et hauteur, que l’image d’origine.
    • Crée un objet Point, qui emploie par défaut les coordonnées x = 0, y = 0.
    • Crée les variables suivantes :
      • operation — Applique la nouvelle couleur lorsque la valeur de seuil est supérieure ou égale à l’original.
      • threshold — La valeur de chaque pixel est comparée (dans cet exemple, gris clair avec une valeur alpha de 0xCC).
      • color — La couleur des pixels qui répondent aux critères imposés, soit jaune uni dans ce cas.
      • mask — Le contraire exact de la couleur (bleu transparent).
      • copySource — Défini sur false, indique que les valeurs des pixels ne sont pas copiées si les critères de la valeur de seuil ne sont pas réunis. Cette valeur n’a aucune signification, car l’image est dupliquée et seuls les pixels qui répondent aux critères de seuil sont modifiés.
    • Appelle la méthode threshold() à l’aide des variables précédentes. L’équation de seuil qui en résulte figure ci-dessous : if (current pixel Value & 0x000000FF) >= (0xCCCCCCCC & 0x000000FF) then set pixel to 0xFFFFFF00.

Remarques :

  • Vous devrez compiler le fichier SWF en définissant Sécurité de lecture locale sur Accès aux fichiers locaux uniquement.
  • Pour exécuter cet exemple, il est nécessaire de placer un fichier intitulé Image.txt dans le même répertoire que votre fichier SWF.
  • Il est recommandé d’utiliser une image qui ne dépasse pas 80 pixels de largeur.

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 ]Pourquoi existe-t-il du contenu en anglais ?
Certaines parties du Guide de référence ActionScript 3.0 sont en anglais

Tout le contenu du Guide de référence ActionScript 3.0 n’a pas été traduit dans toutes les langues. Si un élément de langage n’est pas traduit, il s’affiche en anglais. Par exemple, la classe ga.controls.HelpBox n’est traduite dans aucune langue. Ainsi, dans la version française du guide de référence, la classe ga.controls.HelpBox apparaît en anglais.