ActionScript® 3.0 Referenzhandbuch für die Adobe® Flash®-Plattform
Home  |  Liste der Pakete und Klassen ausblenden |  Pakete  |  Klassen  |  Neue Funktionen  |  Stichwortverzeichnis  |  Anhänge  |  Warum auf Englisch?
Filter: AIR 30.0 und früher, Flash Player 30.0 und früher, Flash Lite 4
Flex 4.6 und früher, Flash Pro CS6 und früher
Filter ausblenden
flash.display 

BitmapData  - AS3

Paketex

Oberste Ebene
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

Sprachelemente

Globale Konstanten
Globale Funktionen
Operatoren
Anweisungen, Schlüsselwörter und Direktiven
Sondertypen

Anhänge

Neue Funktionen
Compiler-Fehler
Compiler-Warnungen
Laufzeitfehler
Migration zu ActionScript 3
Unterstützte Zeichensätze
Nur MXML-Tags
Motion-XML-Elemente
Timed Text-Tags
Liste veralteter Elemente
Konstanten für die Implementierung von Eingabehilfen
Verwendung der ActionScript-Beispiele
Rechtliche Hinweise
Paketflash.display
Klassepublic class BitmapData
VererbungBitmapData Inheritance Object
Implementiert IBitmapDrawable

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 9, AIR 1.0, Flash Lite 4

Die BitmapData-Klasse ermöglicht Ihnen die Arbeit mit den Daten (Pixeln) eines Bitmap-Objekts. Sie können die Methoden der BitmapData-Klasse verwenden, um transparente oder undurchsichtige Bitmaps mit beliebig festgelegter Größe zu erstellen und zur Laufzeit auf verschiedene Weise zu bearbeiten. Sie können auch auf die Bitmap-Daten einer Bitmap zugreifen, die Sie mit der flash.display.Loader-Klasse laden.

Mit dieser Klasse können Sie Bitmap-Wiedergabeoperationen von den internen Anzeigeaktualisierungsroutinen von Flash Player trennen. Mit einer unmittelbaren Bearbeitung der BitmapData-Objekte können Sie komplexe Bilder erstellen, ohne bei jedem Bild den Aufwand für die ständig erneuerte Darstellung der Vektordaten berücksichtigen zu müssen.

Die Methoden der BitmapData-Klasse unterstützen Effekte, die über die Filter für Nicht-Bitmap-Anzeigeobjekte nicht verfügbar sind.

Ein BitmapData-Objekt enthält eine ganze Reihe von Pixeldaten. Diese Daten repräsentieren entweder eine vollständig transparente oder eine vollständig undurchsichtige Bitmap mit Alphakanaldaten. Jeder BitmapData-Objekttyp wird als Puffer mit 32-Bit-Ganzzahlen gespeichert. Dabei bestimmt jede 32-Bit-Ganzzahl die Eigenschaften eines Pixels in der Bitmap.

Bei diesen Zahlen handelt es sich um eine Kombination von vier 8-Bit-Kanalwerten zwischen 0 und 255, mit denen die Alphatransparenz sowie die Werte für Rot, Grün und Blau (ARGB) des Pixels bezeichnet werden. (Für ARGB-Werte repräsentiert das höchstwertige Byte den Alphakanalwert, gefolgt von Rot, Grün und Blau.)

Die vier Kanäle (Alpha, Rot, Grün und Blau) werden durch Zahlen repräsentiert, wenn Sie sie mit der BitmapData.copyChannel()-Methode oder den Eigenschaften DisplacementMapFilter.componentX und DisplacementMapFilter.componentY verwenden. Diese Zahlen werden in der BitmapDataChannel-Klasse durch die folgenden Konstanten repräsentiert:

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

Sie können BitmapData-Objekte mit einem Bitmap-Objekt verbinden, indem Sie die bitmapData-Eigenschaft des Bitmap-Objekts verwenden.

Sie können ein BitmapData-Objekt verwenden, um ein Graphics-Objekt zu füllen, indem Sie die Graphics.beginBitmapFill()-Methode verwenden.

In der AIR-Laufzeitumgebung umfassen die DockIcon-, Icon-, InteractiveIcon- und SystemTrayIcon-Klassen eine bitmaps-Eigenschaft, bei der es sich um ein Array der BitmapData-Objekte handelt, die die Bitmapbilder für ein Symbol definieren.

In AIR 1.5 und Flash Player 10 beträgt die maximale Höhe oder Breite eines BitmapData-Objekts 8.191 Pixel, die gesamte Pixelzahl darf 16.777.215 nicht übersteigen. (Wenn ein BitmapData-Objekt also 8.191 Pixel breit ist, darf es nur 2.048 Pixel hoch sein.) In Flash Player 9 und niedriger und AIR 1.1 und niedriger liegt die Grenze bei je 2.880 Pixel Höhe und Breite.

Beginnend mit AIR 3 und Flash Player 11 wurden die Größenbegrenzungen für BitmapData-Objekte entfernt. Die maximale Bitmapgröße wird jetzt durch das Betriebssystem festgelegt.

Aufrufe von Methoden oder Eigenschaften eines BitmapData-Objekts lösen einen ArgumentError-Fehler aus, wenn das BitmapData-Objekt ungültig ist (wenn z. B. height == 0 und width == 0 ist) oder wenn es mithilfe von „dispose()“ entfernt worden ist.

Beispiele anzeigen

Verwandte API-Elemente



Öffentliche Eigenschaften
 EigenschaftDefiniert von
 Inheritedconstructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz.
Object
  height : int
[schreibgeschützt] Die Höhe der Bitmap in Pixel.
BitmapData
  rect : Rectangle
[schreibgeschützt] Das Rechteck, das die Größe und Lage der Bitmap definiert.
BitmapData
  transparent : Boolean
[schreibgeschützt] Gibt an, ob die Bitmap Transparenz pro Pixel unterstützt.
BitmapData
  width : int
[schreibgeschützt] Die Breite der Bitmap in Pixel.
BitmapData
Öffentliche Methoden
 MethodeDefiniert von
  
BitmapData(width:int, height:int, transparent:Boolean = true, fillColor:uint = 0xFFFFFFFF)
Erstellt ein neues BitmapData-Objekt mit der angegebenen Breite und Höhe.
BitmapData
  
applyFilter(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, filter:BitmapFilter):void
Erstellt anhand eines Quellbilds und eines filter-Objekts das gefilterte Bild.
BitmapData
  
Gibt ein neues BitmapData-Objekt zurück, das ein Klon der ursprünglichen Instanz ist, mit einer exakten Kopie der enthaltenen Bitmap.
BitmapData
  
Passt die Farbwerte in einem angegebenen Bereich einer Bitmap mithilfe eines ColorTransform-Objekts an.
BitmapData
  
compare(otherBitmapData:BitmapData):Object
Vergleicht zwei BitmapData-Objekte.
BitmapData
  
copyChannel(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, sourceChannel:uint, destChannel:uint):void
Überträgt Daten innerhalb des aktuellen BitmapData-Objekts aus einem Kanal in einen anderen bzw. überträgt Daten in einen Kanal des aktuellen BitmapData-Objekts, die aus einem Kanal eines anderen BitmapData-Objekts stammen.
BitmapData
  
copyPixels(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, alphaBitmapData:BitmapData = null, alphaPoint:Point = null, mergeAlpha:Boolean = false):void
Bietet eine schnelle Routine zur Bearbeitung von Pixeln zwischen Bildern ohne Dehnung, Drehung oder Farbeffekte.
BitmapData
  
Füllt ein Byte-Array aus einem rechteckigen Bereich mit Pixeldaten.
BitmapData
  
Gibt Speicher frei, der zum Speichern des BitmapData-Objekts verwendet wird.
BitmapData
  
draw(source:IBitmapDrawable, matrix:Matrix = null, colorTransform:flash.geom:ColorTransform = null, blendMode:String = null, clipRect:Rectangle = null, smoothing:Boolean = false):void
Zeichnet das source-Anzeigeobjekt mithilfe des Vektorrenderers der Flash-Laufzeitumgebung auf das Bitmapbild.
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
Zeichnet das source-Anzeigeobjekt mithilfe des Vektorrenderers der Flash-Laufzeitumgebung auf das Bitmapbild.
BitmapData
  
encode(rect:Rectangle, compressor:Object, byteArray:ByteArray = null):ByteArray
Komprimiert dieses BitmapData-Objekt mit dem ausgewählten Komprimierungsalgorithmus und gibt ein neues ByteArray-Objekt zurück.
BitmapData
  
Füllt einen rechteckigen Pixelbereich mit der angegebenen ARGB-Farbe.
BitmapData
  
floodFill(x:int, y:int, color:uint):void
Führt für ein Bild ausgehend von einer (x, y)-Koordinate einen Flood-Fill-Vorgang mit einer bestimmten Farbe durch.
BitmapData
  
Bestimmt das Zielrechteck, auf das sich der Aufruf der applyFilter()-Methode auswirkt. Die Angaben beziehen sich auf ein BitmapData-Objekt, ein Quellrechteck und ein filter-Objekt.
BitmapData
  
getColorBoundsRect(mask:uint, color:uint, findColor:Boolean = true):Rectangle
Legt einen rechteckigen Bereich fest, der entweder innerhalb der Bitmap alle Pixel einer bestimmten Farbe vollständig umschließt (wenn der findColor-Parameter auf „true“ gesetzt ist) oder alle Pixel vollständig umschließt, die die angegebene Farbe nicht enthalten (wenn der findColor-Parameter auf „false“ gesetzt ist).
BitmapData
  
Gibt eine Ganzzahl zurück, die einen RGB-Pixelwert eines BitmapData-Objekts an einem bestimmten Punkt (x, y) darstellt.
BitmapData
  
Gibt einen ARGB-Farbwert zurück, der Alphakanal- und RGB-Daten enthält.
BitmapData
  
Erzeugt ein Byte-Array aus einem rechteckigen Bereich mit Pixeldaten.
BitmapData
  
Erzeugt ein Vektor-Array aus einem rechteckigen Bereich mit Pixeldaten.
BitmapData
 Inherited
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde.
Object
  
Berechnet ein Histogramm mit 256 Binärzahlwerten für ein BitmapData-Objekt.
BitmapData
  
hitTest(firstPoint:Point, firstAlphaThreshold:uint, secondObject:Object, secondBitmapDataPoint:Point = null, secondAlphaThreshold:uint = 1):Boolean
Führt zwischen einer Bitmap und einem Punkt, einem Rechteck oder einer anderen Bitmap eine Kollisionserkennung auf Pixelebene durch.
BitmapData
 Inherited
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde.
Object
  
Sperrt ein Bild, sodass Objekte, die auf das BitmapData-Objekt verweisen, z. B. Bitmap-Objekte, nicht aktualisiert werden, wenn sich dieses BitmapData-Objekt ändert.
BitmapData
  
merge(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, redMultiplier:uint, greenMultiplier:uint, blueMultiplier:uint, alphaMultiplier:uint):void
Führt von einem Quellbild zu einem Zielbild eine Mischung pro Kanal durch.
BitmapData
  
noise(randomSeed:int, low:uint = 0, high:uint = 255, channelOptions:uint = 7, grayScale:Boolean = false):void
Füllt ein Bild mit Pixeln, die zufällige Störungen darstellen.
BitmapData
  
paletteMap(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, redArray:Array = null, greenArray:Array = null, blueArray:Array = null, alphaArray:Array = null):void
Ordnet die Farbkanalwerte in einem Bild mit maximal vier Arrays von Farbpalettendaten neu zu, wobei die einzelnen Arrays jeweils einen Kanal darstellen.
BitmapData
  
perlinNoise(baseX:Number, baseY:Number, numOctaves:uint, randomSeed:int, stitch:Boolean, fractalNoise:Boolean, channelOptions:uint = 7, grayScale:Boolean = false, offsets:Array = null):void
Erstellt ein Perlin-Störungsbild.
BitmapData
  
pixelDissolve(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, randomSeed:int = 0, numPixels:int = 0, fillColor:uint = 0):int
Führt eine Pixelauflösung von einem Quellbild zu einem Zielbild oder anhand desselben Bilds durch.
BitmapData
 Inherited
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann.
Object
  
Führt für ein Bild einen Bildlauf anhand eines bestimmten Pixelbetrags (x, y) durch.
BitmapData
  
setPixel(x:int, y:int, color:uint):void
Legt den Farbwert eines einzelnen Pixels eines BitmapData-Objekts fest.
BitmapData
  
setPixel32(x:int, y:int, color:uint):void
Legt den Farb- und Alphatransparenzwert eines einzelnen Pixels eines BitmapData-Objekts fest.
BitmapData
  
setPixels(rect:Rectangle, inputByteArray:ByteArray):void
Erzeugt ein Byte-Array aus einem rechteckigen Bereich mit Pixeldaten.
BitmapData
 Inherited
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest.
Object
  
setVector(rect:Rectangle, inputVector:Vector.<uint>):void
Konvertiert einen Vektor in einen rechteckigen Bereich mit Pixeldaten.
BitmapData
  
threshold(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, operation:String, threshold:uint, color:uint = 0, mask:uint = 0xFFFFFFFF, copySource:Boolean = false):uint
Prüft die Pixelwerte eines Bilds für einen angegebenen Schwellenwert und weist den Pixeln, die die Bedingung des Tests erfüllen, neue Farbwerte zu.
BitmapData
 Inherited
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas.
Object
 Inherited
Gibt das angegebene Objekt als String zurück.
Object
  
unlock(changeRect:Rectangle = null):void
Entsperrt ein Bild, sodass Objekte, die auf das BitmapData-Objekt verweisen, z. B. Bitmap-Objekte, aktualisiert werden, wenn sich dieses BitmapData-Objekt ändert.
BitmapData
 Inherited
Gibt den Grundwert des angegebenen Objekts zurück.
Object
Eigenschaftendetails

height

Eigenschaft
height:int  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 9, AIR 1.0, Flash Lite 4

Die Höhe der Bitmap in Pixel.



Implementierung
    public function get height():int

rect

Eigenschaft 
rect:Rectangle  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 9, AIR 1.0, Flash Lite 4

Das Rechteck, das die Größe und Lage der Bitmap definiert. Der obere und linke Rand des Rechtecks liegen jeweils an der Position 0 (null). Die Werte für Breite und Höhe sind mit der Breite und Höhe des BitmapData-Objekts identisch.



Implementierung
    public function get rect():Rectangle

transparent

Eigenschaft 
transparent:Boolean  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 9, AIR 1.0, Flash Lite 4

Gibt an, ob die Bitmap Transparenz pro Pixel unterstützt. Sie können diesen Wert nur dann einstellen, wenn Sie beim Erstellen des BitmapData-Objekts den Wert true für den Parameter transparent des Konstruktors übergeben. Nachdem Sie ein BitmapData-Objekt erstellt haben, können Sie dieses Objekt auf die Unterstützung der Transparenz pro Pixel prüfen, indem Sie feststellen, ob die transparent-Eigenschaft auf true gesetzt ist.



Implementierung
    public function get transparent():Boolean

width

Eigenschaft 
width:int  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 9, AIR 1.0, Flash Lite 4

Die Breite der Bitmap in Pixel.



Implementierung
    public function get width():int
Konstruktordetails

BitmapData

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

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 9, AIR 1.0, Flash Lite 4

Erstellt ein neues BitmapData-Objekt mit der angegebenen Breite und Höhe. Wenn Sie einen Wert für den Parameter fillColor eingeben, wird jedes Pixel der Bitmap auf diese Farbe eingestellt.

In der Standardeinstellung wird die Bitmap als transparente Grafik erstellt, es sei denn, Sie übergeben für den Parameter false den Wert transparent. Eine als undurchsichtiges Bild erstellte Bitmap kann nicht mehr in eine transparente Bitmap umgewandelt werden. Jedes Pixel einer undurchsichtigen Bitmap verwendet nur 24 Bit der Farbkanaldaten. Wenn Sie eine Bitmap dagegen als transparent definieren, müssen für jedes Pixel, einschließlich der Alphatransparenzdaten, 32 Bit an Farbkanaldaten verwendet werden.

In AIR 1.5 und Flash Player 10 beträgt die maximale Höhe oder Breite eines BitmapData-Objekts 8.191 Pixel, die gesamte Pixelzahl darf 16.777.215 nicht übersteigen. (Wenn ein BitmapData-Objekt also 8.191 Pixel breit ist, darf es nur 2.048 Pixel hoch sein.) In Flash Player 9 und niedriger und AIR 1.1 und niedriger liegt die Grenze bei je 2.880 Pixel Höhe und Breite. Falls Sie für „width“ oder „height“ höhere Werte als 2.880 angeben, wird keine neue Instanz erstellt.

Parameter
width:int — Die Breite der Bitmap in Pixel.
 
height:int — Die Höhe der Bitmap in Pixel.
 
transparent:Boolean (default = true) — Gibt an, ob die Bitmap Transparenz pro Pixel unterstützt. Der Standardwert lautet true (transparent). Um eine vollständig transparente Bitmap zu erstellen, setzen Sie den Wert des Parameters transparent auf true und den Wert des Parameters fillColor auf 0x00000000 (bzw. auf 0). Die Einstellung der transparent-Eigenschaft auf false kann eine leichte Verbesserung der Wiedergabe-Performance zur Folge haben.
 
fillColor:uint (default = 0xFFFFFFFF) — Ein 32-Bit-ARGB-Farbwert, der die Füllfarbe des Bitmap-Bereichs angibt. Der Standardwert lautet 0xFFFFFFFF (reines Weiß).

Auslöser
ArgumentError — Breite und/oder Höhe übersteigen die maximalen Abmessungen.
Methodendetails

applyFilter

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

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 9, AIR 1.0

Erstellt anhand eines Quellbilds und eines filter-Objekts das gefilterte Bild.

Diese Methode greift auf das Verhalten integrierter filter-Objekte zurück, mit deren Code das Zielrechteck bestimmt werden kann, das durch ein Eingabequellrechteck geändert wird.

Nach dem Anwenden des Filters ist das Ergebnis unter Umständen größer als das Ausgangsbild. Wenn beispielsweise ein Eingabequellrechteck mit den Werten (50,50,100,100) und dem Zielpunkt (10,10) mithilfe einer BlurFilter-Klasse weichgezeichnet wird, wird der geänderte Bereich im Zielbild wegen der Weichzeichnung größer als (10,10,60,60). Dies geschieht intern während des Aufrufs von applyFilter().

Wenn der Parameter sourceRect des Parameters sourceBitmapData einen inneren Bereich wie (50,50,100,100) in einer Grafik der Größe 200 x 200 Pixel angibt, generiert der Filter das Zielrechteck anhand der Quellpixel außerhalb des Parameters sourceRect.

Wenn es sich bei dem BitmapData-Objekt und dem als sourceBitmapData-Parameter festgelegten Objekt um dasselbe Objekt handelt, verwendet die Anwendung eine temporäre Kopie des Objekts, um den Filter anzuwenden. Die beste Performance erhalten Sie jedoch, wenn Sie diese Situation vermeiden.

Parameter

sourceBitmapData:BitmapData — Die als Eingabe verwendete Bitmap. Das Quellbild kann ein anderes BitmapData-Objekt oder ein Verweis auf die aktuelle BitmapData-Instanz sein.
 
sourceRect:Rectangle — Ein Rechteck, mit dem der Bereich des als Eingabe zu verwendenden Quellbilds definiert wird.
 
destPoint:Point — Der Punkt innerhalb des Zielbilds (die aktuelle BitmapData-Instanz), der der linken oberen Ecke des Quellrechtecks entspricht.
 
filter:BitmapFilter — Das filter-Objekt, mit dem die Filteroperation durchgeführt wird. Jeder Filtertyp hat bestimmte Grundvoraussetzungen, und zwar:
  • BlurFilter: Dieser Filter verwendet Quell- und Zielbilder, die entweder transparent oder undurchsichtig sind. Sollten die Formate der Bilder nicht übereinstimmen, entspricht die Kopie des Quellbilds, die während der Filterung angelegt wird, dem Format des Zielbilds.
  • BevelFilter, DropShadowFilter, GlowFilter: Das Zielbild dieser Filter muss ein transparentes Bild sein. Der Aufruf von „DropShadowFilter“ bzw. „GlowFilter“ erstellt ein Bild mit den Alphakanaldaten des Schlagschattens bzw. des Glühens. Er erstellt aber nicht den Schlagschatten auf dem Zielbild selbst. Werden diese Filter bei einem undurchsichtigen Zielbild angewendet, wird eine Ausnahme ausgelöst.
  • ConvolutionFilter: Dieser Filter verwendet Quell- und Zielbilder, die entweder transparent oder undurchsichtig sind.
  • ColorMatrixFilter: Dieser Filter verwendet Quell- und Zielbilder, die entweder transparent oder undurchsichtig sind.
  • DisplacementMapFilter: Dieser Filter verwendet Quell- und Zielbilder, die entweder transparent oder undurchsichtig sind, aber die Formate der Quell- und Zielbilder müssen dabei identisch sein.


Auslöser
TypeError — „sourceBitmapData“, „sourceRect“, „destPoint“ oder „filter“ haben den Wert null.
 
IllegalOperationError — Die Transparenzwerte der BitmapData-Objekte sind nicht kompatibel mit der filter-Operation.

Verwandte API-Elemente


Beispiel  ( Verwendung dieses Beispiels )

Aus dem folgenden Beispiel geht hervor, wie Sie einen Weichzeichnungsfilter auf eine BitmapData-Instanz anwenden:
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

()Methode 
public function clone():BitmapData

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 9, AIR 1.0, Flash Lite 4

Gibt ein neues BitmapData-Objekt zurück, das ein Klon der ursprünglichen Instanz ist, mit einer exakten Kopie der enthaltenen Bitmap.

Rückgabewerte
BitmapData — Ein mit dem Original identisches neues BitmapData-Objekt.

Beispiel  ( Verwendung dieses Beispiels )

Das folgende Beispiel zeigt das Klonen einer BitmapData-Instanz. Außerdem zeigt es, dass sich das Original beim Ändern der geklonten BitmapData-Instanz nicht ändert:
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

()Methode 
public function colorTransform(rect:Rectangle, colorTransform:flash.geom:ColorTransform):void

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 9, AIR 1.0, Flash Lite 4

Passt die Farbwerte in einem angegebenen Bereich einer Bitmap mithilfe eines ColorTransform-Objekts an. Falls das Rechteck mit den Begrenzungen der Bitmap übereinstimmt, wandelt diese Methode die Farbwerte des gesamten Bilds um.

Parameter

rect:Rectangle — Ein Rechteckobjekt, das den Bereich des Bilds definiert, auf den das ColorTransform-Objekt angewendet wird.
 
colorTransform:flash.geom:ColorTransform — Ein ColorTransform-Objekt, das die anzuwendenden Werte für die Farbtransformation beschreibt.


Auslöser
TypeError — „rect“ oder „colorTransform“ haben den Wert null.

Verwandte API-Elemente


Beispiel  ( Verwendung dieses Beispiels )

Aus dem folgenden Beispiel geht hervor, wie Sie eine Farbtransformation auf die linke Hälfte (Rechteck) eines BitmapData-Objekts anwenden:
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

()Methode 
public function compare(otherBitmapData:BitmapData):Object

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 9, AIR 1.0, Flash Lite 4

Vergleicht zwei BitmapData-Objekte. Besitzen die beiden BitmapData-Objekte dieselben Abmessungen (Breite und Höhe), gibt die Methode ein neues BitmapData-Objekt zurück, in dem jedes Pixel die „Differenz“ zwischen den Pixeln in den beiden Quellobjekten beschreibt:

  • Sind zwei Pixel gleich, hat das Differenzpixel den Wert 0x00000000.
  • Besitzen zwei Pixel unterschiedliche RGB-Werte (ohne den Alphawert zu berücksichtigen), hat das Differenzpixel den Wert 0xRRGGBB, wobei RR/GG/BB die einzelnen Differenzwerte zwischen den Rot-, Grün- und Blaukanälen darstellen (Pixelwert im Quellobjekt minus Pixelwert im otherBitmapData-Objekt). Alphakanaldifferenzen werden in diesem Fall ignoriert.
  • Weist nur der Alphakanal einen anderen Wert auf, ist der Pixelwert 0xZZFFFFFF, wobei ZZ den Unterschied zwischen den Alphawerten darstellt (Alphawert im Quellobjekt minus Alphawert im otherBitmapData-Objekt).

Betrachten Sie beispielsweise die folgenden beiden BitmapData-Objekte:

     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
     

Hinweis: Die zum Füllen der beiden BitmapData-Objekte verwendeten Farben haben leicht abweichende RGB-Werte (0xFF0000 und 0xFFAA00). Das Ergebnis der compare()-Methode ist ein neues BitmapData-Objekt, in dem jedes Pixel die Abweichung zwischen den beiden Bitmaps in den RGB-Werten aufzeigt.

Betrachten Sie die folgenden beiden BitmapData-Objekte, in denen die RGB-Farben gleich sind, der Alphawert aber unterschiedlich ist:

     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
     

Das Ergebnis der compare()-Methode ist ein neues BitmapData-Objekt, in dem jedes Pixel die Abweichung zwischen den beiden Bitmaps in den Alphawerten aufzeigt.

Sind die beiden BitmapData-Objekte gleich (mit derselben Breite, Höhe und identischen Pixelwerten), gibt die Methode die Zahl 0 zurück.

Wenn die Breiten der BitmapData-Objekte ungleich sind, gibt die Methode die Zahl -3 zurück.

Ist die Höhe der beiden BitmapData-Objekte nicht gleich, dafür jedoch die Breite, gibt die Methode die Zahl -4 zurück.

Das folgende Beispiel vergleicht zwei Bitmap-Objekte mit unterschiedlicher Breite (50 und 60):

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

Parameter

otherBitmapData:BitmapData — Das BitmapData-Objekt, das mit dem BitmapData-Quellobjekt verglichen werden soll.

Rückgabewerte
Object — Besitzen die beiden BitmapData-Objekte dieselben Abmessungen (Breite und Höhe), gibt die Methode ein neues BitmapData-Objekt zurück, das den Unterschied zwischen den beiden Objekten enthält (siehe Hauptthema). Sind die BitmapData-Objekte gleich, gibt die Methode die Zahl 0 zurück. Wenn die Breiten der BitmapData-Objekte ungleich sind, gibt die Methode die Zahl -3 zurück. Wenn die Höhen der BitmapData-Objekte ungleich sind, gibt die Methode die Zahl -4 zurück.

Auslöser
TypeError — „otherBitmapData“ hat den Wert null.

Beispiel  ( Verwendung dieses Beispiels )

Das folgende Beispiel zeigt den Wert eines Pixels im BitmapData-Objekt, das sich aus dem Vergleich zweier BitmapData-Objekte mit gleichen Abmessungen ergibt:
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

()Methode 
public function copyChannel(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, sourceChannel:uint, destChannel:uint):void

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 9, AIR 1.0, Flash Lite 4

Überträgt Daten innerhalb des aktuellen BitmapData-Objekts aus einem Kanal in einen anderen bzw. überträgt Daten in einen Kanal des aktuellen BitmapData-Objekts, die aus einem Kanal eines anderen BitmapData-Objekts stammen. Alle Daten der anderen Kanäle im BitmapData-Zielobjekt bleiben erhalten.

Die Einstellungen für den Quell- und Zielkanal können einen der folgenden Werte annehmen:

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

Parameter

sourceBitmapData:BitmapData — Die als Eingabe verwendete Bitmap. Das Quellbild kann ein anderes BitmapData-Objekt oder ein Verweis auf das aktuelle BitmapData-Objekt sein.
 
sourceRect:Rectangle — Das Quellrechteckobjekt. Um nur die Kanaldaten eines kleineren Bereichs innerhalb der Bitmap zu kopieren, geben Sie ein Quellrechteck an, das kleiner ist als das ganze BitmapData-Objekt.
 
destPoint:Point — Das Point-Zielobjekt, das die linke obere Ecke des Rechteckbereichs darstellt, in den die neuen Kanaldaten eingefügt werden. Um nur die Kanaldaten eines Bereichs im Zielbild in einen anderen Bereich dieses Zielbilds zu kopieren, geben Sie einen anderen Punkt als (0,0) an.
 
sourceChannel:uint — Der Quellkanal. Verwenden Sie einen Wert aus der BitmapDataChannel-Klasse (BitmapDataChannel.RED, BitmapDataChannel.BLUE, BitmapDataChannel.GREEN, BitmapDataChannel.ALPHA).
 
destChannel:uint — Der Zielkanal. Verwenden Sie einen Wert aus der BitmapDataChannel-Klasse (BitmapDataChannel.RED, BitmapDataChannel.BLUE, BitmapDataChannel.GREEN, BitmapDataChannel.ALPHA).


Auslöser
TypeError — „sourceBitmapData“, „sourceRect“ oder „destPoint“ haben den Wert null.

Verwandte API-Elemente


Beispiel  ( Verwendung dieses Beispiels )

Das folgende Beispiel zeigt, wie Sie den roten Kanal eines BitmapData-Objekts für einen Pixelbereich der Größe 20 x 20 in seinen blauen Kanal kopieren:
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

()Methode 
public function copyPixels(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, alphaBitmapData:BitmapData = null, alphaPoint:Point = null, mergeAlpha:Boolean = false):void

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 9, AIR 1.0, Flash Lite 4

Bietet eine schnelle Routine zur Bearbeitung von Pixeln zwischen Bildern ohne Dehnung, Drehung oder Farbeffekte. Diese Methode kopiert einen Rechteckbereich eines Quellbilds in einen Rechteckbereich gleicher Größe an den Zielpunkt im BitmapData-Zielobjekt.

Wenn Sie auch die Parameter alphaBitmap und alphaPoint angeben, können Sie ein zweites Bild als Alphaquelle für das Quellbild verwenden. Verfügt auch das Quellbild über Alphadaten, werden die Alphadaten beider Bilder verwendet, um die Pixel des Quellbilds in das Zielbild zu projizieren. Der Parameter alphaPoint gibt dabei den Punkt innerhalb des Zielbilds an, der der linken oberen Ecke des Quellrechtecks entspricht. Sämtliche Pixel außerhalb des Überschneidungsbereichs von Quell- und Alphabild werden nicht in das Zielbild kopiert.

Die mergeAlpha-Eigenschaft steuert, ob das Kopieren eines transparenten Bilds auf ein anderes transparentes Bild unter Berücksichtigung des Alphakanals durchgeführt wird. Um die Pixel mit Alphakanaldaten zu kopieren, setzen Sie die mergeAlpha-Eigenschaft auf true. In der Standardeinstellung hat die mergeAlpha-Eigenschaft den Wert false.

Parameter

sourceBitmapData:BitmapData — Die Eingabe-Bitmap, aus der die Pixel kopiert werden sollen. Das Quellbild kann eine andere BitmapData-Instanz oder ein Verweis auf die aktuelle BitmapData-Instanz sein.
 
sourceRect:Rectangle — Ein Rechteck, mit dem der Bereich des als Eingabe zu verwendenden Quellbilds definiert wird.
 
destPoint:Point — Der Zielpunkt, der die linke obere Ecke des Rechteckbereichs darstellt, in den die kopierten Pixel eingefügt werden.
 
alphaBitmapData:BitmapData (default = null) — Ein zweites BitmapData-Objekt als Alphaquelle.
 
alphaPoint:Point (default = null) — Der Punkt in der BitmapData-Objektquelle, der der linken oberen Ecke des sourceRect-Parameters entspricht.
 
mergeAlpha:Boolean (default = false) — Um den Alphakanal zu verwenden, setzen Sie den Wert auf true. Um die Pixel ohne Alphadaten zu kopieren, setzen Sie den Wert auf false.


Auslöser
TypeError — „sourceBitmapData“, „sourceRect“, „destPoint“ haben den Wert null.

Beispiel  ( Verwendung dieses Beispiels )

Das folgende Beispiel zeigt, wie Sie Pixel aus einem Pixelbereich der Größe 20 x 20 eines BitmapData-Objekts in ein anderes BitmapData-Objekt kopieren:
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

()Methode 
public function copyPixelsToByteArray(rect:Rectangle, data:ByteArray):void

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 11.4, AIR 3.4

Füllt ein Byte-Array aus einem rechteckigen Bereich mit Pixeldaten. Beginnend beim position-Index des ByteArray, schreibt diese Methode für jedes Pixel eine vorzeichenlose Ganzzahl (einen nicht multiplizierten 32-Bit-Pixelwert) in das Bytearray. Falls erforderlich, wird die Größe des Bytearrays auf die erforderliche Anzahl Bytes erhöht, um alle Pixeldaten aufzunehmen.

Parameter

rect:Rectangle — Ein rechteckiger Bereich im aktuellen BitmapData-Objekt
 
data:ByteArray — das ByteArray-Zielobjekt


Auslöser
TypeError — wenn das rect-Argument null oder das data-Argument null ist

Verwandte API-Elemente

dispose

()Methode 
public function dispose():void

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 9, AIR 1.0, Flash Lite 4

Gibt Speicher frei, der zum Speichern des BitmapData-Objekts verwendet wird.

Wenn die dispose()-Methode für ein Bild aufgerufen wird, werden Breite und Höhe des Bilds auf 0 gesetzt. Alle nachfolgenden Aufrufe von Methoden und Eigenschaften für diese BitmapData-Instanz schlagen fehl, und eine Ausnahme wird ausgelöst.

BitmapData.dispose() gibt den Arbeitsspeicher, der von den tatsächlichen Bitmapdaten belegt wird, sofort frei (ein Bitmap kann bis zu 64 MB Arbeitsspeicher belegen). Nach der Verwendung von BitmapData.dispose() kann das BitmapData-Objekt nicht mehr verwendet werden und die Flash-Laufzeitumgebung gibt eine Ausnahme aus, wenn Sie Funktionen für das BitmapData-Objekt aufrufen. Mit BitmapData.dispose() wird jedoch nicht das BitmapData-Objekt (ca. 128 Byte) aus dem Speicher entfernt; der vom eigentlichen BitmapData-Objekt belegte Arbeitsspeicher wird frei, wenn das BitmapData-Objekt vom Garbage Collector aus dem Speicher entfernt wird.

Verwandte API-Elemente


Beispiel  ( Verwendung dieses Beispiels )

Das folgende Beispiel zeigt, wie sich das Aufrufen einer Methode eines BitmapData-Objekts nach einem Aufruf der dispose()-Methode auswirkt (es wird eine Ausnahme ausgelöst):
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

()Methode 
public function draw(source:IBitmapDrawable, matrix:Matrix = null, colorTransform:flash.geom:ColorTransform = null, blendMode:String = null, clipRect:Rectangle = null, smoothing:Boolean = false):void

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 9, AIR 1.0, Flash Lite 4

Zeichnet das source-Anzeigeobjekt mithilfe des Vektorrenderers der Flash-Laufzeitumgebung auf das Bitmapbild. Sie können matrix, colorTransform, blendMode und einen Zielparameter clipRect angeben, der steuert, wie das Rendern durchgeführt wird. Optional können Sie auch festlegen, ob die Bitmap beim Skalieren geglättet werden soll (dies funktioniert nur, wenn es sich beim Quellobjekt um ein BitmapData-Objekt handelt).

Hinweis: Die drawWithQuality()-Methode funktioniert genauso wie die draw()-Methode, aber anstatt die Stage.quality-Eigenschaft zum Bestimmen der Qualität des Vektorrenderings zu verwenden, geben Sie den quality-Parameter für die drawWithQuality()-Methode an.

Diese Methode entspricht der Einstellung des Zeichnungsverfahrens mithilfe des Standardvektorrenderers für Objekte in der Authoring-Umgebung.

Das Quellanzeigeobjekt verwendet bei diesem Aufruf keines seiner angewendeten Transformationsverfahren. Es wird so verarbeitet, wie es in der Bibliothek oder Datei vorliegt. Dabei werden keine Matrix- oder Farbtransformationen durchgeführt und keine Mischmodi verwendet. Wenn Sie beim Zeichnen des Anzeigeobjekts (etwa eines Movieclips) seine eigenen Transformationseigenschaften verwenden möchten, können Sie das entsprechende transform-Eigenschaftsobjekt in die transform-Eigenschaft des Bitmap-Objekts kopieren, die das BitmapData-Objekt verwendet.

Diese Methode wird in Flash Player 9.0.115.0 und höher sowie in Adobe AIR über RTMP unterstützt. Sie können den Zugriff auf Streams auf Flash Media Server in einem serverseitigen Skript steuern. Weitere Informationen finden Sie in den Abschnitten zu den Eigenschaften Client.audioSampleAccess und Client.videoSampleAccess in Server-Side ActionScript Language Reference for Adobe Flash Media Server.

Wenn das source-Objekt und (bei einem Sprite- oder MovieClip-Objekt) alle seine untergeordneten Objekte nicht aus derselben Domäne wie der Aufrufer stammen oder sich nicht in Inhalt befinden, auf den der Aufrufer über einen Aufruf der Security.allowDomain()-Methode zugreifen kann, tritt bei einem Aufruf von draw() eine SecurityError-Ausnahme auf. Diese Einschränkung gilt nicht für AIR-Inhalt in der Sicherheits-Sandbox der Anwendung.

Es gibt auch Beschränkungen für die Verwendung eines geladenen Bitmapbilds als source. Das Aufrufen der draw()-Methode ist erfolgreich, wenn das geladene Bild aus derselben Domäne stammt wie der Aufrufer. Des Weiteren kann eine domänenübergreifende Richtliniendatei auf dem Server des Bilds der Domäne des SWF-Inhalts, der die draw()-Methode aufruft, die Berechtigung erteilen. In diesem Fall setzen Sie die checkPolicyFile-Eigenschaft eines LoaderContext-Objekts und verwenden dieses Objekt als context-Parameter beim Aufrufen der load()-Methode des Loader-Objekts, das für das Laden des Bilds verwendet wird. Diese Sicherheitseinschränkungen gelten nicht für AIR-Inhalte in der Sicherheitssandbox der Anwendung.

Unter Windows kann die draw()-Methode keinen SWF-Inhalt erfassen, der in einer HTML-Seite in einem HTMLLoader-Objekt in Adobe AIR eingebettet ist.

Die draw()-Methode kann keinen PDF-Inhalt in Adobe AIR erfassen. Sie kann auch keinen in HTML eingebetteten SWF-Inhalt erfassen, bei dem das wmode-Attribut auf "window" gesetzt ist in Adobe AIR.

Parameter

source:IBitmapDrawable — Das Anzeigeobjekt oder BitmapData-Objekt, das in das BitmapData-Objekt gezeichnet werden soll. (Die Klassen DisplayObject und BitmapData implementieren die IBitmapDrawable-Schnittstelle.)
 
matrix:Matrix (default = null) — Ein Matrix-Objekt, mit dem die Koordinaten der Bitmap skaliert, gedreht oder umgesetzt werden können. Wenn Sie auf das Bild keine Matrixtransformation anwenden möchten, setzen Sie diesen Parameter auf eine Identitätsmatrix, die mit dem Standardkonstruktor new Matrix() erstellt wurde, oder übergeben Sie einen null-Wert.
 
colorTransform:flash.geom:ColorTransform (default = null) — Ein ColorTransform-Objekt, mit dem die Farbwerte der Bitmap angepasst werden können. Falls kein Objekt vorhanden ist, findet keine Transformation der Bitmap-Farben statt. Wenn Sie diesen Parameter übergeben müssen, das Bild aber nicht transformieren möchten, setzen Sie diesen Parameter auf ein ColorTransform-Objekt, das mit dem Standardkonstruktor new ColorTransform() erstellt worden ist.
 
blendMode:String (default = null) — Ein String-Wert aus der flash.display.BlendMode-Klasse, der den Mischmodus festlegt, der auf die resultierende Bitmap angewendet werden soll.
 
clipRect:Rectangle (default = null) — Ein Rechteckobjekt, das den Bereich des zu zeichnenden Quellobjekts definiert. Wenn Sie diesen Wert nicht angeben, wird das Bild nicht abgeschnitten, und das gesamte Quellobjekt wird gezeichnet.
 
smoothing:Boolean (default = false) — Ein boolescher Wert, der festlegt, ob ein BitmapData-Objekt bei der Skalierung oder Drehung aufgrund einer Skalierung oder Drehung im Parameter matrix geglättet wird. Der Parameter smoothing ist nur anwendbar, wenn es sich beim Parameter source um ein BitmapData-Objekt handelt. Wenn smoothing auf false gesetzt ist, wirkt das gedrehte bzw. skalierte BitmapData-Bild grobkörnig oder ungeglättet. Die folgenden beiden Bilder verwenden z. B. beide das gleiche BitmapData-Objekt als source-Parameter, aber der Parameter smoothing ist links auf true und rechts auf false gesetzt:

Zwei Bilder: das linke mit und das rechte ohne Glättung.

Das Zeichnen einer Bitmap dauert länger, wenn smoothing auf true gesetzt ist, und geht schneller, wenn smoothing auf false gesetzt ist.


Auslöser
ArgumentError — Beim source-Parameter handelt es sich nicht um ein BitmapData- oder DisplayObject-Objekt.
 
SecurityError — Das source-Objekt und (bei einem Sprite- oder MovieClip-Objekt) alle seine untergeordneten Objekte stammen nicht aus derselben Domäne wie der Aufrufer oder befinden sich nicht in Inhalt, auf den der Aufrufer über einen Aufruf der Security.allowDomain()-Methode zugreifen kann. Diese Einschränkung gilt nicht für AIR-Inhalt in der Sicherheits-Sandbox der Anwendung.
 
ArgumentError — Die Quelle ist null oder kein zulässiges IBitmapDrawable-Objekt.

Verwandte API-Elemente


Beispiel  ( Verwendung dieses Beispiels )

Aus dem folgenden Beispiel geht hervor, wie Sie ein TextField-Objekt für ein BitmapData-Objekt zeichnen:
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

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

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 11.3, AIR 3.3

Zeichnet das source-Anzeigeobjekt mithilfe des Vektorrenderers der Flash-Laufzeitumgebung auf das Bitmapbild. Sie können matrix, colorTransform, blendMode und einen Zielparameter clipRect angeben, der steuert, wie das Rendern durchgeführt wird. Optional können Sie auch festlegen, ob die Bitmap beim Skalieren geglättet werden soll (dies funktioniert nur, wenn es sich beim Quellobjekt um ein BitmapData-Objekt handelt).

Hinweis: Die drawWithQuality()-Methode funktioniert genauso wie die draw()-Methode, aber anstatt die Stage.quality-Eigenschaft zum Bestimmen der Qualität des Vektorrenderings zu verwenden, geben Sie den quality-Parameter für die drawWithQuality()-Methode an.

Diese Methode entspricht der Einstellung des Zeichnungsverfahrens mithilfe des Standardvektorrenderers für Objekte in der Authoring-Umgebung.

Das Quellanzeigeobjekt verwendet bei diesem Aufruf keines seiner angewendeten Transformationsverfahren. Es wird so verarbeitet, wie es in der Bibliothek oder Datei vorliegt. Dabei werden keine Matrix- oder Farbtransformationen durchgeführt und keine Mischmodi verwendet. Wenn Sie beim Zeichnen des Anzeigeobjekts (etwa eines Movieclips) seine eigenen Transformationseigenschaften verwenden möchten, können Sie das entsprechende transform-Eigenschaftsobjekt in die transform-Eigenschaft des Bitmap-Objekts kopieren, die das BitmapData-Objekt verwendet.

Diese Methode wird in Flash Player 9.0.115.0 und höher sowie in Adobe AIR über RTMP unterstützt. Sie können den Zugriff auf Streams auf Flash Media Server in einem serverseitigen Skript steuern. Weitere Informationen finden Sie in den Abschnitten zu den Eigenschaften Client.audioSampleAccess und Client.videoSampleAccess in Server-Side ActionScript Language Reference for Adobe Flash Media Server.

Wenn das source-Objekt und (bei einem Sprite- oder MovieClip-Objekt) alle seine untergeordneten Objekte nicht aus derselben Domäne wie der Aufrufer stammen oder sich nicht in Inhalt befinden, auf den der Aufrufer über einen Aufruf der Security.allowDomain()-Methode zugreifen kann, tritt bei einem Aufruf von drawWithQuality() eine SecurityError-Ausnahme auf. Diese Einschränkung gilt nicht für AIR-Inhalt in der Sicherheits-Sandbox der Anwendung.

Es gibt auch Beschränkungen für die Verwendung eines geladenen Bitmapbilds als source. Das Aufrufen der drawWithQuality()-Methode ist erfolgreich, wenn das geladene Bild aus derselben Domäne stammt wie der Aufrufer. Des Weiteren kann eine domänenübergreifende Richtliniendatei auf dem Server des Bilds der Domäne des SWF-Inhalts, der die drawWithQuality()-Methode aufruft, die Berechtigung erteilen. In diesem Fall setzen Sie die checkPolicyFile-Eigenschaft eines LoaderContext-Objekts und verwenden dieses Objekt als context-Parameter beim Aufrufen der load()-Methode des Loader-Objekts, das für das Laden des Bilds verwendet wird. Diese Sicherheitseinschränkungen gelten nicht für AIR-Inhalte in der Sicherheitssandbox der Anwendung.

Unter Windows kann die drawWithQuality()-Methode keinen SWF-Inhalt erfassen, der in einer HTML-Seite in einem HTMLLoader-Objekt in Adobe AIR eingebettet ist.

Die drawWithQuality()-Methode kann keinen PDF-Inhalt in Adobe AIR erfassen. Sie kann auch keinen in HTML eingebetteten SWF-Inhalt erfassen, bei dem das wmode-Attribut auf "window" gesetzt ist in Adobe AIR.

Parameter

source:IBitmapDrawable — Das Anzeigeobjekt oder BitmapData-Objekt, das in das BitmapData-Objekt gezeichnet werden soll. (Die Klassen DisplayObject und BitmapData implementieren die IBitmapDrawable-Schnittstelle.)
 
matrix:Matrix (default = null) — Ein Matrix-Objekt, mit dem die Koordinaten der Bitmap skaliert, gedreht oder umgesetzt werden können. Wenn Sie auf das Bild keine Matrixtransformation anwenden möchten, setzen Sie diesen Parameter auf eine Identitätsmatrix, die mit dem Standardkonstruktor new Matrix() erstellt wurde, oder übergeben Sie einen null-Wert.
 
colorTransform:flash.geom:ColorTransform (default = null) — Ein ColorTransform-Objekt, mit dem die Farbwerte der Bitmap angepasst werden können. Falls kein Objekt vorhanden ist, findet keine Transformation der Bitmap-Farben statt. Wenn Sie diesen Parameter übergeben müssen, das Bild aber nicht transformieren möchten, setzen Sie diesen Parameter auf ein ColorTransform-Objekt, das mit dem Standardkonstruktor new ColorTransform() erstellt worden ist.
 
blendMode:String (default = null) — Ein String-Wert aus der flash.display.BlendMode-Klasse, der den Mischmodus festlegt, der auf die resultierende Bitmap angewendet werden soll.
 
clipRect:Rectangle (default = null) — Ein Rechteckobjekt, das den Bereich des zu zeichnenden Quellobjekts definiert. Wenn Sie diesen Wert nicht angeben, wird das Bild nicht abgeschnitten, und das gesamte Quellobjekt wird gezeichnet.
 
smoothing:Boolean (default = false) — Ein boolescher Wert, der festlegt, ob ein BitmapData-Objekt bei der Skalierung oder Drehung aufgrund einer Skalierung oder Drehung im Parameter matrix geglättet wird. Der Parameter smoothing ist nur anwendbar, wenn es sich beim Parameter source um ein BitmapData-Objekt handelt. Wenn smoothing auf false gesetzt ist, wirkt das gedrehte bzw. skalierte BitmapData-Bild grobkörnig oder ungeglättet. Die folgenden beiden Bilder verwenden z. B. beide das gleiche BitmapData-Objekt als source-Parameter, aber der Parameter smoothing ist links auf true und rechts auf false gesetzt:

Zwei Bilder: das linke mit und das rechte ohne Glättung.

Das Zeichnen einer Bitmap dauert länger, wenn smoothing auf true gesetzt ist, und geht schneller, wenn smoothing auf false gesetzt ist.

 
quality:String (default = null) — Ein beliebiger Wert der StageQuality-Werte. Wählt die Anti-Aliasing-Qualität aus, die beim Zeichnen von Vektorgrafiken verwendet wird.


Auslöser
ArgumentError — Beim source-Parameter handelt es sich nicht um ein BitmapData- oder DisplayObject-Objekt.
 
SecurityError — Das source-Objekt und (bei einem Sprite- oder MovieClip-Objekt) alle seine untergeordneten Objekte stammen nicht aus derselben Domäne wie der Aufrufer oder befinden sich nicht in Inhalt, auf den der Aufrufer über einen Aufruf der Security.allowDomain()-Methode zugreifen kann. Diese Einschränkung gilt nicht für AIR-Inhalt in der Sicherheits-Sandbox der Anwendung.
 
ArgumentError — Die Quelle ist null oder kein zulässiges IBitmapDrawable-Objekt.

Verwandte API-Elemente


Beispiel  ( Verwendung dieses Beispiels )

Aus dem folgenden Beispiel geht hervor, wie Sie ein TextField-Objekt für ein BitmapData-Objekt zeichnen:
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

()Methode 
public function encode(rect:Rectangle, compressor:Object, byteArray:ByteArray = null):ByteArray

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 11.3, AIR 3.3

Komprimiert dieses BitmapData-Objekt mit dem ausgewählten Komprimierungsalgorithmus und gibt ein neues ByteArray-Objekt zurück. Schreibt die resultierenden Daten optional in das angegebene ByteArray. Das compressor-Argument gibt den Kodierungsalgorithmus an und kann den Wert PNGEncoderOptions, JPEGEncoderOptions oder JPEGXREncoderOptions haben.

Im folgenden Beispiel wird ein BitmapData-Objekt unter Verwendung von JPEGEncoderOptions komprimiert:

     // 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); 

Parameter

rect:Rectangle — Der Bereich des BitmapData-Objekts, das komprimiert wird.
 
compressor:Object — Der zu verwendende Komprimierungstyp. Gültige Werte sind: flash.display.PNGEncoderOptions, flash.display.JPEGEncoderOptions und flash.display.JPEGXREncoderOptions.
 
byteArray:ByteArray (default = null) — Das Ausgabe-ByteArray, das das kodierte Bild enthalten soll.

Rückgabewerte
ByteArray — Ein ByteArray, das das kodierte Bild enthält.

Verwandte API-Elemente

fillRect

()Methode 
public function fillRect(rect:Rectangle, color:uint):void

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 9, AIR 1.0, Flash Lite 4

Füllt einen rechteckigen Pixelbereich mit der angegebenen ARGB-Farbe.

Parameter

rect:Rectangle — Der zu füllende rechteckige Bereich.
 
color:uint — Der ARGB-Farbwert, mit dem der Bereich gefüllt werden soll. ARGB-Farben werden häufig in einem hexadezimalen Format dargestellt, z. B. 0xFF336699.


Auslöser
TypeError — „rect“ hat den Wert null.

Verwandte API-Elemente


Beispiel  ( Verwendung dieses Beispiels )

Aus dem folgenden Beispiel geht hervor, wie Sie einen rechteckigen Bereich eines BitmapData-Objekts blau füllen:
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

()Methode 
public function floodFill(x:int, y:int, color:uint):void

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 9, AIR 1.0, Flash Lite 4

Führt für ein Bild ausgehend von einer (x, y)-Koordinate einen Flood-Fill-Vorgang mit einer bestimmten Farbe durch. Die floodFill()-Methode ist mit dem Farbeimerwerkzeug verschiedener Mal- und Zeichenprogramme vergleichbar. Als Farbe wird eine ARGB-Farbe einschließlich Alpha- und Farbdaten angegeben.

Parameter

x:int — Die x-Koordinate des Bilds.
 
y:int — Die y-Koordinate des Bilds.
 
color:uint — Die ARGB-Farbe, die zum Füllen verwendet wird.


Beispiel  ( Verwendung dieses Beispiels )

Das folgende Beispiel zeigt, wie ein Bereich eines BitmapData-Objekts - also der Bereich, der die durch den Punkt (10, 10) definierten Pixel umgibt, in dem alle Farben mit der Farbe an diesem Punkt übereinstimmen - mit Rot gefüllt wird
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

()Methode 
public function generateFilterRect(sourceRect:Rectangle, filter:BitmapFilter):Rectangle

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 9, AIR 1.0

Bestimmt das Zielrechteck, auf das sich der Aufruf der applyFilter()-Methode auswirkt. Die Angaben beziehen sich auf ein BitmapData-Objekt, ein Quellrechteck und ein filter-Objekt.

So bezieht sich ein Weichzeichnungsfilter normalerweise auf einen Bereich, der größer als das ursprüngliche Bild ist. Ein 100 x 200 Pixel großes Bild, das mit einer normalen BlurFilter-Instanz mit dem Wert blurX = blurY = 4 gefiltert wird, erzeugt ein Zielrechteck von (-2,-2,104,204). Mit der generateFilterRect()-Methode können Sie die Größe des Zielrechtecks vorherbestimmen und die Größe des Zielbilds vor der Filterung entsprechend anpassen.

Einige Filter schneiden das Zielrechteck entsprechend der Größe des Zielbilds aus. So wird beispielsweise bei einem inneren DropShadow-Objekt kein größeres Bild als das Quellbild erzeugt. In dieser API wird das BitmapData-Objekt als Quellbegrenzung und nicht als rect-Quellparameter verwendet.

Parameter

sourceRect:Rectangle — Ein Rechteck, mit dem der Bereich des als Eingabe zu verwendenden Quellbilds definiert wird.
 
filter:BitmapFilter — Ein filter-Objekt, das zur Berechnung des Zielrechtecks verwendet wird.

Rückgabewerte
Rectangle — Ein Zielrechteck, das aus einem Bild, dem Parameter sourceRect und einem Filter berechnet wird.

Auslöser
TypeError — „sourceRect“ oder „filter“ haben den Wert null.

Beispiel  ( Verwendung dieses Beispiels )

Aus diesem Beispiel geht die Verwendung der generateFilterRect()-Methode hervor, mit der Sie den rechteckigen Bereich bestimmen, auf den sich ein Weichzeichnungsfilter auswirkt. Die Ergebnisse der generateFilterRect()-Methode werden über die trace()-Funktion ausgegeben:
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);
Beachten Sie, dass die generateFilterRect()-Methode den Filter nicht anwendet. Rufen Sie die applyFilter()-Methode auf, um den Filter anzuwenden.

getColorBoundsRect

()Methode 
public function getColorBoundsRect(mask:uint, color:uint, findColor:Boolean = true):Rectangle

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 9, AIR 1.0, Flash Lite 4

Legt einen rechteckigen Bereich fest, der entweder innerhalb der Bitmap alle Pixel einer bestimmten Farbe vollständig umschließt (wenn der Parameter findColor auf true gesetzt ist) oder alle Pixel vollständig umschließt, die die angegebene Farbe nicht enthalten (wenn der Parameter findColor auf false gesetzt ist).

Wenn Sie beispielsweise mit einem Quellbild arbeiten und das Rechteck des Bilds bestimmen möchten, das Alphakanaldaten ungleich 0 (null) enthält, übergeben Sie {mask: 0xFF000000, color: 0x00000000} als Parameter. Ist der Parameter findColor auf true gesetzt, wird das gesamte Bild nach den Begrenzungen der Pixel durchsucht, für die (value & mask) == color gilt (wobei value dem Farbwert der Pixel entspricht). Ist der Parameter findColor auf false gesetzt, wird das gesamte Bild nach den Begrenzungen der Pixel durchsucht, für die (value & mask) != color gilt (wobei value dem Farbwert der Pixel entspricht). Wenn Sie also den weißen Bereich ermitteln möchten, der um ein Bild angeordnet ist, übergeben Sie {mask: 0xFFFFFFFF, color: 0xFFFFFFFF}, um nach der Begrenzung aller nicht-weißen Pixel zu suchen.

Parameter

mask:uint — Ein Hexadezimalwert, der die Bits der zu berücksichtigenden ARGB-Farbe festlegt. Der Farbwert wird durch Verwendung des & (bitweises AND) mit diesem Hexadezimalwert kombiniert.
 
color:uint — Ein Hexadezimalwert, der die ARGB-Farbe festlegt, die übereinstimmen soll (wenn findColor auf true gesetzt ist) bzw. nicht übereinstimmen soll (wenn findColor auf false gesetzt ist).
 
findColor:Boolean (default = true) — Wenn der Wert auf true gesetzt ist, werden die Begrenzungen eines bestimmten Farbwerts in einem Bild zurückgegeben. Wenn der Wert auf false gesetzt ist, werden die Begrenzungen der Bereiche zurückgegeben, in denen der betreffende Farbwert im Bild nicht vorkommt.

Rückgabewerte
Rectangle — Der Bereich des Bilds, der die angegebene Farbe enthält.

Beispiel  ( Verwendung dieses Beispiels )

Im folgenden Beispiel wird ein BitmapData-Objekt erstellt, dessen Pixel in der oberen Hälfte rot sind. Als Nächstes wird die getColorBoundsRect()-Methode aufgerufen, um das Rechteck zu bestimmen, dessen Pixel rot sind (0xFF0000). Im nächsten Schritt wird dieselbe Methode aufgerufen, um das Rechteck zu bestimmen, dessen Pixel nicht rot sind (indem der Parameter findColor auf false gesetzt wird):
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

()Methode 
public function getPixel(x:int, y:int):uint

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 9, AIR 1.0, Flash Lite 4

Gibt eine Ganzzahl zurück, die einen RGB-Pixelwert eines BitmapData-Objekts an einem bestimmten Punkt (x, y) darstellt. Die getPixel()-Methode gibt einen nicht multiplizierten Pixelwert zurück. Es werden keine Alphadaten zurückgegeben.

Sämtliche Pixel eines BitmapData-Objekts werden als vormultiplizierte Farbwerte gespeichert. Bei diesen vormultiplizierten Bildpixeln sind die Farbkanalwerte für Rot, Grün und Blau bereits mit den Alphadaten multipliziert worden. Wenn also beispielsweise der Alphawert 0 (null) ist, lauten die Werte der RGB-Kanäle, unabhängig von ihren ursprünglichen Werten, ebenfalls 0 (null). Bei bestimmten Vorgängen kann dieser Datenverlust zu Problemen führen. Alle BitmapData-Methoden akzeptieren nicht multiplizierte Werte und geben diese auch zurück. Vor der Rückgabe der Werte wird die interne Pixeldarstellung von vormultipliziert in nicht multipliziert konvertiert. Vor dem Einstellen der Pixelrohdaten des Bilds wird der Pixelwert im Verlauf einer set-Operation vormultipliziert.

Parameter

x:int — Die x-Position eines Pixels.
 
y:int — Die y-Position eines Pixels.

Rückgabewerte
uint — Eine Zahl, die für den RGB-Pixelwert steht. Falls die x- und y-Koordinaten außerhalb der Bildbegrenzung liegen, gibt die Methode 0 (null) zurück.

Verwandte API-Elemente


Beispiel  ( Verwendung dieses Beispiels )

Im folgenden Beispiel wird ein BitmapData-Objekt mit roter Füllung erstellt und anschließend die getPixel()-Methode verwendet, um den Farbwert des linken oberen Pixels zu bestimmen.
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

()Methode 
public function getPixel32(x:int, y:int):uint

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 9, AIR 1.0, Flash Lite 4

Gibt einen ARGB-Farbwert zurück, der Alphakanal- und RGB-Daten enthält. Diese Methode ähnelt der getPixel()-Methode, die einen RGB-Farbwert ohne Alphakanaldaten zurückgibt.

Sämtliche Pixel eines BitmapData-Objekts werden als vormultiplizierte Farbwerte gespeichert. Bei diesen vormultiplizierten Bildpixeln sind die Farbkanalwerte für Rot, Grün und Blau bereits mit den Alphadaten multipliziert worden. Wenn also beispielsweise der Alphawert 0 (null) ist, lauten die Werte der RGB-Kanäle, unabhängig von ihren ursprünglichen Werten, ebenfalls 0 (null). Bei bestimmten Vorgängen kann dieser Datenverlust zu Problemen führen. Alle BitmapData-Methoden akzeptieren nicht multiplizierte Werte und geben diese auch zurück. Vor der Rückgabe der Werte wird die interne Pixeldarstellung von vormultipliziert in nicht multipliziert konvertiert. Vor dem Einstellen der Pixelrohdaten des Bilds wird der Pixelwert im Verlauf einer set-Operation vormultipliziert.

Parameter

x:int — Die x-Position eines Pixels.
 
y:int — Die y-Position eines Pixels.

Rückgabewerte
uint — Eine Zahl, die einen ARGB-Pixelwert darstellt. Falls die x- und y-Koordinaten außerhalb der Bildbegrenzung liegen, wird 0 (null) zurückgegeben.

Verwandte API-Elemente


Beispiel  ( Verwendung dieses Beispiels )

Im folgenden Beispiel wird ein BitmapData-Objekt mit Farbfüllung erstellt und anschließend die getPixel32()-Methode verwendet, um den Farbwert des linken oberen Pixels zu bestimmen. Danach werden die hexadezimalen Werte für die einzelnen Farbkomponenten (Alpha, Rot, Grün und Blau) bestimmt:
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

()Methode 
public function getPixels(rect:Rectangle):ByteArray

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 9, AIR 1.0, Flash Lite 4

Erzeugt ein Byte-Array aus einem rechteckigen Bereich mit Pixeldaten. Schreibt eine vorzeichenlose Ganzzahl (ein nicht multiplizierter 32-Bit-Pixelwert) für jedes Pixel in das Byte-Array.

Parameter

rect:Rectangle — Ein rechteckiger Bereich im aktuellen BitmapData-Objekt.

Rückgabewerte
ByteArray — Ein Byte-Array, das die Pixel im gegebenen Rechteck repräsentiert.

Auslöser
TypeError — „rect“ hat den Wert null.

Verwandte API-Elemente


Beispiel  ( Verwendung dieses Beispiels )

Im folgenden Beispiel wird ein BitmapData-Objekt mit zufälligen Störungspixeln erstellt und anschließend die getPixels()-Methode verwendet, um ein ByteArray-Objekt mit den Pixelwerten des BitmapData-Objekts zu füllen.
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

()Methode 
public function getVector(rect:Rectangle):Vector.<uint>

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10, AIR 1.5, Flash Lite 4

Erzeugt ein Vektor-Array aus einem rechteckigen Bereich mit Pixeldaten. Gibt ein Vector-Objekt aus vorzeichenlosen Ganzzahlen (ein nicht multiplizierter 32-Bit-Pixelwert) für das angegebene Rechteck zurück.

Parameter

rect:Rectangle — Ein rechteckiger Bereich im aktuellen BitmapData-Objekt.

Rückgabewerte
Vector.<uint> — Ein Vektor, der das Rechteck darstellt.

Auslöser
TypeError — „rect“ hat den Wert null.

histogram

()Methode 
public function histogram(hRect:Rectangle = null):Vector.<Vector.<Number>>

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10, AIR 1.5, Flash Lite 4

Berechnet ein Histogramm mit 256 Binärzahlwerten für ein BitmapData-Objekt. Diese Methode gibt ein Vector-Objekt zurück, das vier Vector.<Number>-Instanzen enthält (vier Vector-Objekte, die Number-Objekte enthalten). Die vier Vector-Instanzen stellen die rote, grüne, blaue und Alphakomponente in dieser Reihenfolge dar. Jede Vector-Instanz enthält 256 Werte, die die Zählung eines einzelnen Komponentenwerts zwischen 0 und 255 enthalten.

Parameter

hRect:Rectangle (default = null) — Der Bereich des BitmapData-Objekts, der verwendet wird.

Rückgabewerte
Vector.<Vector.<Number>>

hitTest

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

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 9, AIR 1.0, Flash Lite 4

Führt zwischen einer Bitmap und einem Punkt, einem Rechteck oder einer anderen Bitmap eine Kollisionserkennung auf Pixelebene durch. Eine Kollision ist als Überlappung eines Punkts oder Rechtecks mit einem undurchsichtigen Pixel oder als Überlappung zweier undurchsichtiger Pixel definiert. Bei dieser Kollisionserkennung werden keine Dehnungen, Drehungen oder anderen Transformationen der Objekte berücksichtigt.

Handelt es sich bei einem Bild um ein undurchsichtiges Bild, wird es bei dieser Methode als vollständig undurchsichtiges Rechteck betrachtet. Beide Bilder müssen transparent sein, damit eine Kollisionserkennung auf Pixelebene durchgeführt werden kann, bei der die Transparenz berücksichtigt wird. Wenn Sie zwei transparente Bilder testen, steuern die Parameter für die Alphaschwellen, welche Alphakanalwerte zwischen 0 und 255 als undurchsichtig betrachtet werden.

Parameter

firstPoint:Point — Eine Position in der linken oberen Ecke des BitmapData-Bilds in einem beliebigen Koordinatenraum. Derselbe Koordinatenraum wird beim Definieren des Parameters secondBitmapPoint verwendet.
 
firstAlphaThreshold:uint — Der niedrigste Alphakanalwert, der für diese Kollisionserkennung als undurchsichtig gewertet wird.
 
secondObject:Object — Ein Rectangle-, Point-, Bitmap- oder BitmapData-Objekt.
 
secondBitmapDataPoint:Point (default = null) — Ein Punkt, der die Position eines Pixels im zweiten BitmapData-Objekt angibt. Sie sollten diesen Parameter nur verwenden, wenn der Wert von secondObject ein BitmapData-Objekt ist.
 
secondAlphaThreshold:uint (default = 1) — Der niedrigste Alphakanalwert, der im zweiten BitmapData-Objekt als undurchsichtig gewertet wird. Sie sollten diesen Parameter nur verwenden, wenn der Wert von secondObject ein BitmapData-Objekt ist und beide BitmapData-Objekte transparent sind.

Rückgabewerte
Boolean — Es gilt true, wenn eine Kollisionserkennung stattfindet, andernfalls gilt false.

Auslöser
ArgumentError — Der Parameter secondObject ist kein Point-, Rectangle-, Bitmap- oder BitmapData-Objekt.
 
TypeError — „firstPoint“ hat den Wert null.

Beispiel  ( Verwendung dieses Beispiels )

Im folgenden Beispiel wird ein BitmapData-Objekt erstellt, das nur in einem rechteckigen Bereich (20, 20, 40, 40) undurchsichtig ist und die hitTest()-Methode mit einem Point-Objekt als secondObject aufruft. Beim ersten Aufruf definiert das Point-Objekt die obere linke Ecke des BitmapData-Objekts, die nicht undurchsichtig ist, und im zweiten Aufruf definiert das Point-Objekt den Mittelpunkt des BitmapData-Objekts, der undurchsichtig ist.
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

()Methode 
public function lock():void

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 9, AIR 1.0

Sperrt ein Bild, sodass Objekte, die auf das BitmapData-Objekt verweisen, z. B. Bitmap-Objekte, nicht aktualisiert werden, wenn sich dieses BitmapData-Objekt ändert. Um die Performance zu verbessern, verwenden Sie diese Methode zusammen mit der unlock()-Methode vor und nach mehreren Aufrufen der Methode setPixel() oder setPixel32().

Verwandte API-Elemente


Beispiel  ( Verwendung dieses Beispiels )

Im folgenden Beispiel wird ein BitmapData-Objekt basierend auf der bitmapData-Eigenschaft eines Bitmap-Objekts (picture) erstellt. Das Objekt ruft dann die lock()-Methode auf, bevor eine komplizierte benutzerdefinierte Funktion (complexTransformation()) aufgerufen wird, die das BitmapData-Objekt ändert. (Das picture-Objekt und die complexTransformation()-Funktion sind in diesem Beispiel nicht definiert.) Auch wenn die complexTransformation()-Funktion die bitmapData-Eigenschaft des picture-Objekts aktualisiert, werden die Änderungen erst wirksam, wenn der Code die unlock()-Methode des bitmapData-Objekts aufruft:
import flash.display.BitmapData;

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

merge

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

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 9, AIR 1.0, Flash Lite 4

Führt von einem Quellbild zu einem Zielbild eine Mischung pro Kanal durch. Für jeden Kanal und jedes Pixel wird ein neuer Wert berechnet. Dieser basiert auf den Kanalwerten der Quell- und Zielpixel. Im roten Kanal wird der neue Wert zum Beispiel wie folgt berechnet (wobei redSrc der Wert des roten Kanals für ein Pixel im Quellbild ist und redDest der Wert des roten Kanals für das entsprechende Pixel im Zielbild):

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

Die Werte redMultiplier, greenMultiplier, blueMultiplier und alphaMultiplier sind die für die einzelnen Farbkanäle verwendeten Multiplikatoren. Verwenden Sie einen Hexadezimalwert zwischen 0 und 0x100 (256), wobei 0 festlegt, dass der volle Wert aus dem Ziel im Ergebnis verwendet wird, 0x100 festlegt, dass der volle Wert aus der Quelle verwendet wird, und Zahlen dazwischen festlegen, dass eine Mischung verwendet wird (zum Beispiel 0x80 für 50 %).

Parameter

sourceBitmapData:BitmapData — Die als Eingabe verwendete Bitmap. Das Quellbild kann ein anderes BitmapData-Objekt oder ein Verweis auf das aktuelle BitmapData-Objekt sein.
 
sourceRect:Rectangle — Ein Rechteck, mit dem der Bereich des als Eingabe zu verwendenden Quellbilds definiert wird.
 
destPoint:Point — Der Punkt innerhalb des Zielbilds (die aktuelle BitmapData-Instanz), der der linken oberen Ecke des Quellrechtecks entspricht.
 
redMultiplier:uint — Ein Hexadezimalwert, mit dem der Wert des Farbkanals Rot multipliziert wird.
 
greenMultiplier:uint — Ein Hexadezimalwert, mit dem der Wert des Farbkanals Grün multipliziert wird.
 
blueMultiplier:uint — Ein Hexadezimalwert, mit dem der Wert des Farbkanals Blau multipliziert wird.
 
alphaMultiplier:uint — Ein Hexadezimalwert, mit dem der Alphatransparenzwert multipliziert wird.


Auslöser
TypeError — „sourceBitmapData“, „sourceRect“ oder „destPoint“ haben den Wert null.

Beispiel  ( Verwendung dieses Beispiels )

Im folgenden Beispiel werden zwei neue BitmapData-Objekte erstellt. Beide haben eine Größe von 100 x 80 Pixel. Das erste Objekt ist grün gefüllt, und das zweite Objekt ist rot gefüllt. Der Code ruft die merge()-Methode auf und führt die Pixel des zweiten BitmapData-Objekts mit den Pixeln des ersten BitmapData-Objekts zusammen. Dieser Schritt wird jedoch nur für einen angegebenen rechteckigen Bereich durchgeführt:
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

()Methode 
public function noise(randomSeed:int, low:uint = 0, high:uint = 255, channelOptions:uint = 7, grayScale:Boolean = false):void

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 9, AIR 1.0

Füllt ein Bild mit Pixeln, die zufällige Störungen darstellen.

Parameter

randomSeed:int — Der zu verwendende Anfangswert für den Zufallsgenerator. Wenn Sie alle anderen Parameter beibehalten, können Sie nur durch Änderung dieses Anfangswerts unterschiedliche pseudo-zufällige Ergebnisse erzielen. Bei der Störungsfunktion handelt es sich nicht um einen echten Zufallszahlengenerator, sondern eher um eine Zuordnungsfunktion, die mit gleich bleibendem Anfangswert immer dasselbe Ergebnis liefert.
 
low:uint (default = 0) — Der niedrigste zu erzeugende Wert für jeden Kanal (0 bis 255).
 
high:uint (default = 255) — Der höchste zu erzeugende Wert für jeden Kanal (0 bis 255).
 
channelOptions:uint (default = 7) — Eine Zahl als beliebige Kombination der vier Farbkanalwerte (BitmapDataChannel.RED, BitmapDataChannel.BLUE, BitmapDataChannel.GREEN und BitmapDataChannel.ALPHA). Sie können die Kanalwerte auch mithilfe des logischen OR-Operators (|) kombinieren.
 
grayScale:Boolean (default = false) — Ein boolescher Wert. Ist der Wert true, wird durch die Einstellung aller Farbkanäle auf den gleichen Wert ein Graustufenbild erstellt. Der Wert des Alphakanals ist von der Einstellung dieses Parameters auf true nicht betroffen.

Verwandte API-Elemente


Beispiel  ( Verwendung dieses Beispiels )

Im folgenden Beispiel werden zwei BitmapData-Objekte erstellt, für die jeweils die noise()-Methode aufgerufen wird. Der Parameter grayscale wird jedoch auf false gesetzt, um den Aufruf der noise()-Methode des ersten Objekts durchzuführen, und er wird auf true gesetzt, um den Aufruf der noise()-Methode des zweiten Objekts durchzuführen:
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

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

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 9, AIR 1.0, Flash Lite 4

Ordnet die Farbkanalwerte in einem Bild mit maximal vier Arrays von Farbpalettendaten neu zu, wobei die einzelnen Arrays jeweils einen Kanal darstellen.

Flash-Laufzeitumgebungen verwenden die folgenden Schritte, um das resultierende Bild zu erzeugen:

  1. Nach der Berechnung der einzelnen Werte für Rot, Grün, Blau und Alpha werden diese mithilfe einer standardisierten 32-Bit-Ganzzahlarithmetik addiert.
  2. Die Kanalwerte jedes Pixels für Rot, Grün, Blau und Alpha werden in einzelne Werte zwischen 0 und 255 extrahiert. Mithilfe dieser Werte werden dann die neuen Farbwerte im entsprechenden Array ermittelt: redArray, greenArray, blueArray und alphaArray. Jedes dieser vier Arrays sollte 256 Werte enthalten.
  3. Nach der Ermittlung der neuen Kanalwerte werden diese in einem ARGB-Standardwert zusammengefasst, der auf das Pixel angewendet wird.

Mit dieser Methode können auch kanalübergreifende Effekte unterstützt werden. Jedes Eingabe-Array kann dabei vollständige 32-Bit-Werte enthalten, und beim Addieren der Werte treten keine Verschiebungen auf. Allerdings unterstützt diese Routine keine Festsetzung pro Kanal.

Wird für einen Kanal kein Array angegeben, wird der Farbkanal vom Quellbild in das Zielbild kopiert.

Diese Methode kann für eine ganze Reihe von Effekten genutzt werden, wie zum Beispiel eine allgemeine Palettenzuordnung (Auswählen einzelner Kanäle und deren Umwandlung in ein Falschfarbenbild). Sie können diese Methode auch für eine Reihe von komplexen Farbänderungsalgorithmen verwenden, z. B. Gamma, Kurven, Ebenen und Quantisierung.

Parameter

sourceBitmapData:BitmapData — Die als Eingabe verwendete Bitmap. Das Quellbild kann ein anderes BitmapData-Objekt oder ein Verweis auf die aktuelle BitmapData-Instanz sein.
 
sourceRect:Rectangle — Ein Rechteck, mit dem der Bereich des als Eingabe zu verwendenden Quellbilds definiert wird.
 
destPoint:Point — Der Punkt innerhalb des Zielbilds (das aktuelle BitmapData-Objekt), der der linken oberen Ecke des Quellrechtecks entspricht.
 
redArray:Array (default = null) — Wenn redArray nicht null ist, gilt red = redArray[source red value] else red = source rect value.
 
greenArray:Array (default = null) — Wenn greenArray nicht null ist, gilt green = greenArray[source green value] else green = source green value.
 
blueArray:Array (default = null) — Wenn blueArray nicht null ist, gilt blue = blueArray[source blue value] else blue = source blue value.
 
alphaArray:Array (default = null) — Wenn alphaArray nicht null ist, gilt alpha = alphaArray[source alpha value] else alpha = source alpha value.


Auslöser
TypeError — „sourceBitmapData“, „sourceRect“ oder „destPoint“ haben den Wert null.

Beispiel  ( Verwendung dieses Beispiels )

Im folgenden Beispiel wird ein grünes BitmapData-Objekt mit rotem Mittelquadrat erstellt und anschließend die paletteMap()-Methode verwendet, um in der unteren rechteckigen Hälfte des BitmapData-Objekts Rot durch Grün zu ersetzen:
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

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

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 9, AIR 1.0

Erstellt ein Perlin-Störungsbild.

Der Perlin-Störungsalgorithmus interpoliert und kombiniert mehrere zufällige als Oktaven bezeichnete Störungsfunktionen in einer Funktion, die natürlicher wirkende Zufallsstörungen erzeugt. Genau wie in der Musik weist auch hier jede Oktavenfunktion die doppelte Frequenz der jeweils untergeordneten Oktave auf. Die Perlin-Störungen werden als „Fraktalsumme der Störungen“ bezeichnet, da sie mehrere Arten von Störungsdaten unterschiedlicher Detailstufen zusammenfassen.

Durch Anwendung von Perlin-Störungsfunktionen können Naturphänomene und Landschaften simuliert werden, wie Holzmaserung, Wolken oder Bergketten. Zumeist werden die Ergebnisse einer Perlin-Störungsfunktion nicht direkt angezeigt, sondern dienen zur Optimierung anderer Bilder sowie zum Erzeugen von pseudo-zufälligen Variationen.

Einfache digital-zufällige Störungsfunktionen produzieren häufig Bilder mit scharfen Kontrasten, die in der Natur aber nicht allzu häufig vorkommen. Der Perlin-Störungsalgorithmus arbeitet mit einer Überlagerung von mehreren Störungsfunktionen mit unterschiedlicher Detailstufe und erzielt damit glattere Werteänderungen bei benachbarten Pixeln.

Parameter

baseX:Number — Häufigkeit der Verwendung in x-Richtung. Übergeben Sie zur Erstellung einer Störung für ein Bild der Größe 64 x 128 Pixel als baseX-Wert beispielsweise die Zahl 64.
 
baseY:Number — Häufigkeit der Verwendung in y-Richtung. Übergeben Sie zur Erstellung einer Störung für ein Bild der Größe 64 x 128 Pixel als baseY-Wert beispielsweise die Zahl 128.
 
numOctaves:uint — Anzahl der Oktaven bzw. einzelnen Störungsfunktionen die zur Erstellung der Störung kombiniert werden. Größere Anzahlen führen zur Erstellung von detaillierteren Bildern. Allerdings benötigen größere Oktavenanzahlen auch mehr Verarbeitungszeit.
 
randomSeed:int — Der zu verwendende Anfangswert für den Zufallsgenerator. Wenn Sie alle anderen Parameter beibehalten, können Sie nur durch Änderung dieses Anfangswerts unterschiedliche pseudo-zufällige Ergebnisse erzielen. Bei der Perlin-Störungsfunktion handelt es sich nicht um einen echten Zufallszahlengenerator, sondern eher um eine Zuordnungsfunktion, die mit gleich bleibendem Anfangswert immer dasselbe Ergebnis liefert.
 
stitch:Boolean — Ein boolescher Wert. Ist der Wert true, werden die Übergänge des Bilds geglättet, um einen nahtlosen Texturenübergang für Füllmuster zu erstellen, mit denen Bitmaps gefüllt werden können.
 
fractalNoise:Boolean — Ein boolescher Wert. Ist der Wert true, wird eine fraktale Störung erzeugt, ansonsten eine Turbulenz. In einem Bild mit Turbulenzen gibt es sichtbare Bruchstellen in den Farbverläufen, die sich gut für scharf abgegrenzte visuelle Effekte eignen, wie Flammen oder Wellen.
 
channelOptions:uint (default = 7) — Eine Zahl als beliebige Kombination der vier Farbkanalwerte (BitmapDataChannel.RED, BitmapDataChannel.BLUE, BitmapDataChannel.GREEN und BitmapDataChannel.ALPHA). Sie können die Kanalwerte auch mithilfe des logischen OR-Operators (|) kombinieren.
 
grayScale:Boolean (default = false) — Ein boolescher Wert. Ist der Wert true, wird durch die Einstellung aller Werte für Rot, Grün und Blau auf den gleichen Wert ein Graustufenbild erstellt. Der Wert von Alpha ist nicht betroffen, wenn dieser Wert auf true gesetzt ist.
 
offsets:Array (default = null) — Ein Array von Punkten, die dem x- und y-Offset jeder einzelnen Oktave entsprechen. Durch Änderung der Offset-Werte können Sie bei perlinNoise-Bildern glatte Ebenenübergänge erzielen. Jeder Punkt im Offset-Array bezieht sich auf eine bestimmte Oktavenstörfunktion.


Beispiel  ( Verwendung dieses Beispiels )

Im folgenden Beispiel wird ein BitmapData-Objekt der Größe 200 x 200 Pixel erstellt, das die perlinNoise()-Methode aufruft, um einen roten und blauen Wasserfarbeneffekt zu erzielen:
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

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

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 9, AIR 1.0

Führt eine Pixelauflösung von einem Quellbild zu einem Zielbild oder anhand desselben Bilds durch. Flash-Laufzeitumgebungen verwenden einen randomSeed-Wert, um eine zufällige Pixelauflösung zu erzeugen. Der Rückgabewert dieser Funktion muss bei nachfolgenden Aufrufen übergeben werden, um die Pixelauflösung bis zum Ende beizubehalten.

Stimmen Quell- und Zielbild nicht überein, werden die Pixel vom Quellbild mit all ihren Eigenschaften in das Zielbild kopiert. Dieser Vorgang ermöglicht das Anfüllen mit Pixeln von einem leeren Bild zu einem vollständig ausgefüllten Bild.

Falls das Quell- und das Zielbild identisch sind, werden die Pixel mit dem Parameter color gefüllt. Dieser Vorgang ermöglicht ein Auflösen eines vollständig angefüllten Bilds. In diesem Modus wird der Zielparameter point ignoriert.

Parameter

sourceBitmapData:BitmapData — Die als Eingabe verwendete Bitmap. Das Quellbild kann ein anderes BitmapData-Objekt oder ein Verweis auf die aktuelle BitmapData-Instanz sein.
 
sourceRect:Rectangle — Ein Rechteck, mit dem der Bereich des als Eingabe zu verwendenden Quellbilds definiert wird.
 
destPoint:Point — Der Punkt innerhalb des Zielbilds (die aktuelle BitmapData-Instanz), der der linken oberen Ecke des Quellrechtecks entspricht.
 
randomSeed:int (default = 0) — Der Anfangswert des Zufallsgenerators für die Pixelauflösung.
 
numPixels:int (default = 0) — Der Standardwert beträgt 1/30 des Quellbereichs (Breite x Höhe).
 
fillColor:uint (default = 0) — Ein ARGB-Farbwert, mit dem Sie die Pixel anfüllen können, deren Quellwerte mit den Zielwerten übereinstimmen.

Rückgabewerte
int — Der neue Anfangswert für den Zufallsgenerator für nachfolgende Aufrufe.

Auslöser
TypeError — „sourceBitmapData“, „sourceRect“ oder „destPoint“ haben den Wert null.
 
TypeError — Der Wert von „numPixels“ ist negativ.

Beispiel  ( Verwendung dieses Beispiels )

Im folgenden Beispiel wird mithilfe der pixelDissolve()-Methode ein graues BitmapData-Objekt durch Auflösung in Schritten von je 40 Pixeln in ein rotes Objekt umgewandelt, bis die Farbe aller Pixel geändert wurde:
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

()Methode 
public function scroll(x:int, y:int):void

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 9, AIR 1.0

Führt für ein Bild einen Bildlauf anhand eines bestimmten Pixelbetrags (x, y) durch. Die Randzonen außerhalb des Bildlaufbereichs bleiben unverändert.

Parameter

x:int — Der Betrag, um den ein horizontaler Bildlauf durchgeführt werden soll.
 
y:int — Der Betrag, um den ein vertikaler Bildlauf durchgeführt werden soll.


Beispiel  ( Verwendung dieses Beispiels )

Das folgende Beispiel zeigt die Auswirkung eines Bildlaufs für ein BitmapData-Objekt um 40 Pixel nach rechts:
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

()Methode 
public function setPixel(x:int, y:int, color:uint):void

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 9, AIR 1.0, Flash Lite 4

Legt den Farbwert eines einzelnen Pixels eines BitmapData-Objekts fest. Der aktuelle Alphakanalwert des Bildpixels bleibt während dieses Vorgangs erhalten. Der Wert des RGB-Farbparameters wird als nicht multiplizierter Farbwert angesehen.

Hinweis: Um die Performance zu verbessern, wenn Sie die Methode setPixel() oder setPixel32() wiederholt verwenden, rufen Sie die lock()-Methode auf, bevor Sie die Methode setPixel() oder setPixel32() aufrufen. Rufen Sie anschließend die unlock()-Methode auf, nachdem Sie alle Pixeländerungen vorgenommen haben. Dieser Vorgang verhindert, dass Objekte, die auf diese BitmapData-Instanz verweisen, erst aktualisiert werden, wenn Sie die Pixeländerungen abgeschlossen haben.

Parameter

x:int — Die x-Position des Pixels, dessen Wert geändert wird.
 
y:int — Die y-Position des Pixels, dessen Wert geändert wird.
 
color:uint — Die resultierende RGB-Farbe für das Pixel.

Verwandte API-Elemente


Beispiel  ( Verwendung dieses Beispiels )

Im folgenden Beispiel wird mithilfe der setPixel()-Methode in einem BitmapData-Objekt eine rote Linie gezeichnet:
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

()Methode 
public function setPixel32(x:int, y:int, color:uint):void

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 9, AIR 1.0, Flash Lite 4

Legt den Farb- und Alphatransparenzwert eines einzelnen Pixels eines BitmapData-Objekts fest. Diese Methode ähnelt der setPixel()-Methode. Der Hauptunterschied besteht darin, dass die setPixel32()-Methode einen ARGB-Farbwert mit Alphakanaldaten als Eingabe benötigt.

Sämtliche Pixel eines BitmapData-Objekts werden als vormultiplizierte Farbwerte gespeichert. Bei diesen vormultiplizierten Bildpixeln sind die Farbkanalwerte für Rot, Grün und Blau bereits mit den Alphadaten multipliziert worden. Wenn also beispielsweise der Alphawert 0 (null) ist, lauten die Werte der RGB-Kanäle, unabhängig von ihren ursprünglichen Werten, ebenfalls 0 (null). Bei bestimmten Vorgängen kann dieser Datenverlust zu Problemen führen. Alle BitmapData-Methoden akzeptieren nicht multiplizierte Werte und geben diese auch zurück. Vor der Rückgabe der Werte wird die interne Pixeldarstellung von vormultipliziert in nicht multipliziert konvertiert. Vor dem Einstellen der Pixelrohdaten des Bilds wird der Pixelwert im Verlauf einer set-Operation vormultipliziert.

Hinweis: Um die Performance zu verbessern, wenn Sie die Methode setPixel() oder setPixel32() wiederholt verwenden, rufen Sie die lock()-Methode auf, bevor Sie die Methode setPixel() oder setPixel32() aufrufen. Rufen Sie anschließend die unlock()-Methode auf, nachdem Sie alle Pixeländerungen vorgenommen haben. Dieser Vorgang verhindert, dass Objekte, die auf diese BitmapData-Instanz verweisen, erst aktualisiert werden, wenn Sie die Pixeländerungen abgeschlossen haben.

Parameter

x:int — Die x-Position des Pixels, dessen Wert geändert wird.
 
y:int — Die y-Position des Pixels, dessen Wert geändert wird.
 
color:uint — Die resultierende ARGB-Farbe für das Pixel. Ist die Bitmap undurchsichtig (also nicht transparent), wird der Alphatransparenzwert in diesem Farbwert ignoriert.

Verwandte API-Elemente


Beispiel  ( Verwendung dieses Beispiels )

Im folgenden Beispiel wird mithilfe der setPixel32()-Methode in einem BitmapData-Objekt eine transparente rote Linie gezeichnet (alpha == 0x60):
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

()Methode 
public function setPixels(rect:Rectangle, inputByteArray:ByteArray):void

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 9, AIR 1.0, Flash Lite 4

Erzeugt ein Byte-Array aus einem rechteckigen Bereich mit Pixeldaten. Für jedes Pixel wird die ByteArray.readUnsignedInt()-Methode aufgerufen, und der Rückgabewert wird in das Pixel geschrieben. Endet das Byte-Array, bevor das gesamte Rechteck geschrieben ist, gibt die Funktion den Wert zurück. Im Byte-Array werden als Daten 32-Bit-ARGB-Pixelwerte erwartet. Bevor oder nachdem die Pixel gelesen werden, wird im Byte-Array keine Suche durchgeführt.

Parameter

rect:Rectangle — Legt den rechteckigen Bereich des BitmapData-Objekts fest.
 
inputByteArray:ByteArray — Ein ByteArray-Objekt, das aus nicht multiplizierten 32-Bit-Pixelwerten besteht, die im rechteckigen Bereich verwendet werden sollen.


Auslöser
EOFError — Das inputByteArray-Objekt enthält nicht genügend Daten, um den Bereich des rect-Rechtecks zu füllen. Die Methode füllt so viele Pixel wie möglich, bevor die Ausnahme ausgelöst wird.
 
TypeError — „rect“ oder „inputByteArray“ haben den Wert null.

Verwandte API-Elemente


Beispiel  ( Verwendung dieses Beispiels )

Im folgenden Beispiel werden mit den Methoden getPixels() und setPixels() Pixel aus einem BitmapData-Objekt in ein anderes kopiert:
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

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

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10, AIR 1.5, Flash Lite 4

Konvertiert einen Vektor in einen rechteckigen Bereich mit Pixeldaten. Pro Pixel wird ein Vector-Element gelesen und in das BitmapData-Pixel geschrieben. Im Vector werden als Daten 32-Bit-ARGB-Pixelwerte erwartet.

Parameter

rect:Rectangle — Legt den rechteckigen Bereich des BitmapData-Objekts fest.
 
inputVector:Vector.<uint> — Ein Vector-Objekt, das aus nicht multiplizierten 32-Bit-Pixelwerten besteht, die im rechteckigen Bereich verwendet werden.


Auslöser
RangeError — Das Vectorarray ist nicht groß genug, um alle Pixeldaten zu lesen.

threshold

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

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 9, AIR 1.0

Prüft die Pixelwerte eines Bilds für einen angegebenen Schwellenwert und weist den Pixeln, die die Bedingung des Tests erfüllen, neue Farbwerte zu. Mithilfe der threshold()-Methode können Sie in einem Bild ganze Farbbereiche isolieren und ersetzen sowie andere logische Operationen auf Bildpixel anwenden.

Die Testlogik der threshold()-Methode lautet wie folgt:

  1. Wenn ((pixelValue & mask) operation (threshold & mask)) gilt, wird das Pixel auf color gesetzt.
  2. Wenn hingegen copySource == true gilt, wird das Pixel auf den entsprechenden Pixelwert aus sourceBitmap gesetzt.

Der Parameter operation gibt den Vergleichsoperator für den Schwellentest an. Wenn Sie beispielsweise „==“ als operation-Parameter eingeben, können Sie in einem Bild eine Farbe mit einem bestimmten Wert isolieren. Oder wenn Sie {operation: "<", mask: 0xFF000000, threshold: 0x7F000000, color: 0x00000000} verwenden, können Sie alle Pixel im Zielbild auf vollständig transparent einstellen, wenn der Alphawert des Quellbildpixels kleiner als 0x7F ist. Sie können dieses Verfahren für animierte Übergänge und andere Effekte verwenden.

Parameter

sourceBitmapData:BitmapData — Die als Eingabe verwendete Bitmap. Das Quellbild kann ein anderes BitmapData-Objekt oder ein Verweis auf die aktuelle BitmapData-Instanz sein.
 
sourceRect:Rectangle — Ein Rechteck, mit dem der Bereich des als Eingabe zu verwendenden Quellbilds definiert wird.
 
destPoint:Point — Der Punkt innerhalb des Zielbilds (die aktuelle BitmapData-Instanz), der der linken oberen Ecke des Quellrechtecks entspricht.
 
operation:String — Einer der folgenden Vergleichsoperatoren, der als String übergeben wird: „<“, „<=“, „>“, „>=“, „==“, „!=“
 
threshold:uint — Der Wert, auf den jedes Pixel geprüft wird, um festzustellen, ob der Schwellenwert eingehalten oder überschritten wird.
 
color:uint (default = 0) — Der Farbwert, auf den ein Pixel gesetzt wird, falls der Schwellentest erfolgreich ist. Der Standardwert lautet 0x00000000.
 
mask:uint (default = 0xFFFFFFFF) — Die Maske, die zum Isolieren einer Farbkomponente verwendet wird.
 
copySource:Boolean (default = false) — Lautet der Wert true, werden Pixelwerte aus dem Quellbild auch in das Zielobjekt kopiert, wenn der Schwellentest fehlschlägt. Lautet der Wert false, wird das Quellbild nicht kopiert, wenn der Schwellentest fehlschlägt.

Rückgabewerte
uint — Die Anzahl der geänderten Pixel.

Auslöser
TypeError — „sourceBitmapData“, „sourceRect“, „destPoint“ oder „operation“ haben den Wert null.
 
ArgumentError — Der operation-String ist keine zulässige Operation.

Beispiel  ( Verwendung dieses Beispiels )

Im folgenden Beispiel wird mithilfe der perlinNoise()-Methode einem BitmapData-Objekt ein blaues und rotes Muster hinzugefügt und anschließend die threshold()-Methode verwendet, um die entsprechenden Pixel aus dem ersten BitmapData-Objekt in ein zweites Objekt zu kopieren. Dabei werden die Pixel, bei denen der Rotwert größer als 0x80 (50 %) ist, durch ein Pixel mit transparentem Rot (0x20FF0000) ersetzt:
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

()Methode 
public function unlock(changeRect:Rectangle = null):void

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 9, AIR 1.0

Entsperrt ein Bild, sodass Objekte, die auf das BitmapData-Objekt verweisen, z. B. Bitmap-Objekte, aktualisiert werden, wenn sich dieses BitmapData-Objekt ändert. Um die Performance zu verbessern, verwenden Sie diese Methode zusammen mit der lock()-Methode vor und nach mehreren Aufrufen der Methode setPixel() oder setPixel32().

Parameter

changeRect:Rectangle (default = null) — Der Bereich des BitmapData-Objekts, der sich geändert hat. Wenn Sie für diesen Parameter keinen Wert angeben, wird der gesamte Bereich des BitmapData-Objekts als geändert betrachtet. Dieser Parameter erfordert Flash Player 9.0.115.0 oder höher.

Verwandte API-Elemente


Beispiel  ( Verwendung dieses Beispiels )

Im folgenden Beispiel wird ein BitmapData-Objekt basierend auf der bitmapData-Eigenschaft eines Bitmap-Objekts (picture) erstellt. Das Objekt ruft dann die lock()-Methode auf, bevor eine komplizierte benutzerdefinierte Funktion (complexTransformation()) aufgerufen wird, die das BitmapData-Objekt ändert. (Das picture-Objekt und die complexTransformation()-Funktion sind in diesem Beispiel nicht definiert.) Auch wenn die complexTransformation()-Funktion die bitmapData-Eigenschaft des picture-Objekts aktualisiert, werden die Änderungen erst wirksam, wenn der Code die unlock()-Methode des bitmapData-Objekts aufruft:
import flash.display.BitmapData;

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

Im folgenden Beispiel wird die BitmapDataExample-Klasse verwendet, um die Grafik „Image.gif“ an der Standardposition (0, 0) in ein Anzeigeobjekt (DisplayObject) zu laden. Eine Kopie von „Image.gif“ wird rechts vom Original positioniert, für das neue Farben auf Pixel angewendet werden, die einen Test mit der threshold()-Methode bestanden haben. Dies wird in den folgenden Schritten erreicht:
  1. Es wird eine url-Eigenschaft erstellt, die den Speicherort und Namen der Grafikdatei angibt.
  2. Der Klassenkonstruktor erstellt ein Loader-Objekt, das dann einen Ereignis-Listener instanziiert. Der Ereignis-Listener wird ausgelöst, wenn die completeHandler()-Methode die Bildbearbeitung abgeschlossen hat.
  3. Anschließend wird das request-URLRequest-Objekt an loader.load() übergeben, um das Bild mit einem Anzeigeobjekt in den Speicher zu laden.
  4. Das Bild wird in die Anzeigeliste eingefügt, die das Bild auf dem Bildschirm bei den Koordinaten x = 0, y = 0 anzeigt.
  5. Die completeHandler()-Methode führt dann Folgendes aus:
    • Sie erstellt zusammen mit einem Bitmap-Objekt einen zweiten „Loader“, der über das Loader-Objekt initialisiert wird.
    • Sie erstellt ein zweites Bitmap-Objekt, duplicate, das wiederum die duplicateImage()-Methode aufruft, die ein Duplikat des Originalbilds erzeugt.
    • Sie erstellt ein BitmapData-Objekt, das dem BitmapData-Objekt des duplicate-Objekts zugeordnet ist.
    • Sie erstellt ein neues Rechteckobjekt, das mit denselben Werten für Koordinaten, Breite und Höhe wie das Originalbild initialisiert wird.
    • Sie erstellt ein neues Point-Objekt mit der Standardeinstellung x = 0, y = 0.
    • Sie erstellt die folgenden Variablen:
      • operation: Wendet die neue Farbe an, wenn der Schwellenwert größer oder gleich dem Original ist.
      • threshold: Der Wert, mit dem jedes Pixel verglichen wird (in diesem Beispiel Hellgrau mit einem Alphawert von 0xCC).
      • color: Die Farbe, auf die die Pixel eingestellt sind, die den Schwellentest bestehen. In diesem Fall ist dies reines Gelb.
      • mask: Die genau entgegengesetzte Farbe (durchsichtiges Blau).
      • copySource: Ist auf false gesetzt, um anzuzeigen, dass die Pixelwerte nicht kopiert werden, wenn der Schwellenwert den Test nicht besteht. Dieser Wert hat keine Bedeutung, da das Bild dupliziert wird und nur Pixel geändert werden, die den Schwellenwerttest bestehen.
    • Ruft mithilfe der vorherigen Variablen die threshold()-Methode auf. Es ergibt sich die folgende Schwellenwertgleichung: if (current pixel Value & 0x000000FF) >= (0xCCCCCCCC & 0x000000FF) then set pixel to 0xFFFFFF00.

Hinweise:

  • Für die Kompilierung der SWF-Datei müssen Sie die Option „Sicherheit bei lokaler Wiedergabe“ auf „Nur auf lokale Dateien zugreifen“ einstellen.
  • Zur Ausführung dieses Beispiels müssen Sie eine Datei mit dem Namen „Image.gif“ in dem Ordner ablegen, in dem sich die SWF-Datei befindet.
  • Es wird empfohlen, eine Grafik mit einer Breite von bis zu etwa 80 Pixel zu verwenden.

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 ]Warum auf Englisch?
Inhalt des ActionScript 3.0-Referenzhandbuchs wird in englischer Sprache angezeigt

Nicht alle Teile des ActionScript 3.0-Referenzhandbuchs wurden in alle Sprachen übersetzt. Wenn der Text zu einem Sprachelement nicht übersetzt wurde, wird er auf Englisch angezeigt. Zum Beispiel wurden die Informationen zur ga.controls.HelpBox-Klasse nicht in andere Sprachen übersetzt. In der deutschen Version des Referenzhandbuchs erscheint der Abschnitt zur ga.controls.HelpBox-Klasse deshalb auf Englisch.