ActionScript® 3.0 — dokumentacja dla platformy Adobe® Flash®
Strona główna  |  Ukryj listę pakietów i klas |  Pakiety  |  Klasy  |  Nowości  |  Indeks  |  Dodatki  |  Dlaczego język angielski?
Filtry: AIR 30.0 i wcześniejsze, Flash Player 30.0 i wcześniejsze, Flash Lite 4
Flex 4.6 i wcześniejsze, Flash Pro CS6 i wcześniejsze
Ukryj filtry
flash.display 

BitmapData  - AS3

Pakietyx

Najwyższy poziom
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

Elementy językowe

Stałe globalne
Funkcje globalne
Operatory
Instrukcje, słowa kluczowe i dyrektywy
Typy specjalne

Dodatki

Nowości
Błędy kompilatora
Ostrzeżenia kompilatora
Błędy czasu wykonywania
Migracja kodu ActionScript 3
Obsługiwane zestawy znaków
Tylko MXML
Elementy XML dotyczące ruchu
Znaczniki tekstu z synchronizacją czasową
Przestarzały indeks
Stałe implementacji dostępności
Instrukcje dotyczące przykładów
Informacje prawne
Pakietflash.display
Klasapublic class BitmapData
DziedziczenieBitmapData Inheritance Object
Implementuje IBitmapDrawable

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 9, AIR 1.0, Flash Lite 4

Klasa BitmapData umożliwia operacje na danych (pikselach) obiektu Bitmap. Możliwe jest wykorzystanie metod klasy BitmapData do tworzenia przezroczystych lub nieprzezroczystych obrazów bitmapowych o dowolnie określonych rozmiarach oraz manipulacja nimi na różne sposoby w trakcie wykonywania. Możliwe jest również uzyskanie dostępu do właściwości BitmapData obrazu bitmapowego, który został załadowany za pomocą klasy flash.display.Loader.

Klasa ta pozwala na oddzielenie operacji renderowania bitmapy od wewnętrznych procedur odświeżania ekranu modułu Flash Player. Bezpośrednio manipulując obiektem BitmapData, można tworzyć złożone obrazy bez wprowadzania w każdej klatce narzutu czasowego wynikającego z ciągłego przerysowywania zawartości na podstawie danych wektorowych.

Metody klasy BitmapData obsługują efekty, które nie są dostępne przez filtry udostępnione obiektom wyświetlanym innym niż bitmapy.

Obiekt BitmapData zawiera tablicę pikseli. Dane te mogą reprezentować w pełni nieprzezroczystą bitmapę lub przezroczystą bitmapę zawierającą dane kanału alpha. Każdy z typów obiektów BitmapData jest przechowywany jako bufor 32-bitowych liczb całkowitych. Każda 32-bitowa liczba całkowita określa właściwości pojedynczego piksela bitmapy.

Każda 32-bitowa liczba całkowita jest kombinacją czterech 8-bitowych wartości kanału (od 0 do 255), które opisują przezroczystość alpha oraz wartości koloru czerwonego, zielonego i niebieskiego (ARGB) piksela. (Dla wartości ARGB najbardziej znaczący bajt reprezentuje wartość kanału alpha a następnie koloru czerwonego, zielonego i niebieskiego).

Te cztery kanały (alpha, czerwony, zielony, niebieski) są reprezentowane jako liczby przy wykorzystaniu ich w metodzie BitmapData.copyChannel() lub właściwościach DisplacementMapFilter.componentX oraz DisplacementMapFilter.componentY. Liczby te są reprezentowane przez następujące stałe w klasie BitmapDataChannel:

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

Możliwe jest dołączenie obiektów BitmapData do obiektu Bitmap poprzez wykorzystanie właściwości bitmapData obiektu Bitmap.

Możliwe jest wykorzystanie obiektu BitmapData w celu wypełnienia obiektu Graphics poprzez zastosowanie metody Graphics.beginBitmapFill().

W środowisku wykonawczym AIR klasy DockIcon, Icon, InteractiveIcon i SystemTrayIcon zawierają właściwość bitmaps będącą tablicą obiektów BitmapData, które definiują obrazy bitmapowe ikony.

W środowisku AIR 1.5 i programie Flash Player 10 maksymalna szerokość i wysokość obiektu BitmapData wynosi 8191, a łączna liczba pikseli nie może przekroczyć 16 777 215. (A zatem, jeśli obiekt BitmapData ma szerokość 8,191 pikseli, nie może być wyższy niż 2048 pikseli). W programie Flash Player 9 i wcześniejszych wersjach oraz w środowisku AIR 1.1 i wcześniejszych wersjach ograniczenie wysokości i szerokości wynosiło 2880 pikseli.

W środowisku AIR 3 i programie Flash Player 11 usunięto ograniczenia obiektu BitmapData. Maksymalny rozmiar bitmapy zależy teraz od systemu operacyjnego.

Wywołania do dowolnej metody lub właściwości obiektu BitmapData powodują zgłoszenie błędu ArgumentError jeżeli obiekt BitmapData jest nieprawidłowy (na przykład gdy jego właściwość height == 0 i width == 0) lub został usunięty poprzez metodę dispose().

Wyświetl przykłady

Powiązane elementy interfejsu API



Właściwości publiczne
 WłaściwośćZdefiniowane przez
 Inheritedconstructor : Object
Odwołanie do obiektu klasy lub funkcji konstruktora, dotyczące danej instancji obiektu.
Object
  height : int
[tylko do odczytu] Wysokość obrazu bitmapowego w pikselach.
BitmapData
  rect : Rectangle
[tylko do odczytu] Prostokąt definiujący wymiary i położenie obrazu bitmapowego.
BitmapData
  transparent : Boolean
[tylko do odczytu] Określa, czy obraz bitmapowy obsługuje przezroczystość poszczególnych pikseli.
BitmapData
  width : int
[tylko do odczytu] Szerokość obrazu bitmapowego w pikselach.
BitmapData
Metody publiczne
 MetodaZdefiniowane przez
  
BitmapData(width:int, height:int, transparent:Boolean = true, fillColor:uint = 0xFFFFFFFF)
Tworzy obiekt BitmapData o określonej wysokości i szerokości.
BitmapData
  
applyFilter(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, filter:BitmapFilter):void
Pobiera obraz źródłowy i filtr, a następnie generuje obraz filtrowany.
BitmapData
  
Zwraca nowy obiekt BitmapData, który jest klonem oryginalnego wystąpienia z dokładną kopią zawartej bitmapy.
BitmapData
  
Dopasowuje wartości kolorów w określonym obszarze obrazu bitmapowego za pomocą obiektu ColorTransform.
BitmapData
  
compare(otherBitmapData:BitmapData):Object
Porównuje dwa obiekty BitmapData.
BitmapData
  
copyChannel(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, sourceChannel:uint, destChannel:uint):void
Przenosi dane z jednego kanału innego obiektu BitmapData lub bieżącego obiektu BitmapData na kanał w bieżącym obiekcie BitmapData.
BitmapData
  
copyPixels(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, alphaBitmapData:BitmapData = null, alphaPoint:Point = null, mergeAlpha:Boolean = false):void
Zapewnia szybką procedurę do manipulowania pikselami między różnymi obrazami, bez rozciągania, obrotu ani efektów kolorystycznych.
BitmapData
  
Wypełnia tablicę bajtów na podstawie prostokątnego obszaru pikseli.
BitmapData
  
Zwalnia pamięć używaną do przechowywania danego obiektu typu BitmapData.
BitmapData
  
draw(source:IBitmapDrawable, matrix:Matrix = null, colorTransform:flash.geom:ColorTransform = null, blendMode:String = null, clipRect:Rectangle = null, smoothing:Boolean = false):void
Rysuje obiekt wyświetlany source na obrazie bitmapowym za pomocą wektorowego mechanizmu renderującego środowiska wykonawczego Flash.
BitmapData
  
drawWithQuality(source:IBitmapDrawable, matrix:Matrix = null, colorTransform:flash.geom:ColorTransform = null, blendMode:String = null, clipRect:Rectangle = null, smoothing:Boolean = false, quality:String = null):void
Rysuje obiekt wyświetlany source na obrazie bitmapowym za pomocą wektorowego mechanizmu renderującego środowiska wykonawczego Flash.
BitmapData
  
encode(rect:Rectangle, compressor:Object, byteArray:ByteArray = null):ByteArray
Kompresuje ten obiekt BitmapData przy użyciu wybranego algorytmu kompresji i zwraca nowy obiekt ByteArray.
BitmapData
  
Wypełnia obszar prostokątny pikselami o określonym kolorze ARGB.
BitmapData
  
floodFill(x:int, y:int, color:uint):void
Przeprowadza operację wypełniania jednolitego, zaczynając od punktu na współrzędnych (x, y) i wypełniając wybranym kolorem.
BitmapData
  
Określa prostokąt docelowy, na który ma wpływ wywołanie metody applyFilter(), jeżeli jest podany obiekt BitmapData, prostokąt źródłowy oraz obiekt filtra.
BitmapData
  
getColorBoundsRect(mask:uint, color:uint, findColor:Boolean = true):Rectangle
Określa obszar prostokątny, który ma albo w pełni otoczyć wszystkie piksele o określonym kolorze (jeśli parametr findColor ma wartość true), albo w pełni otoczyć wszystkie piksele w innych kolorach (jeśli parametr findColor ma wartość false).
BitmapData
  
Zwraca liczbę całkowitą, która reprezentuje wartość RGB piksela z obiektu BitmapData w określonym punkcie (x, y).
BitmapData
  
Zwraca wartość koloru ARGB, która zawiera dane kanału alfa i dane RGB.
BitmapData
  
Generuje tablicę bajtów na podstawie prostokątnego obszaru pikseli.
BitmapData
  
Generuje tablicę wektorów na podstawie prostokątnego obszaru pikseli.
BitmapData
 Inherited
Wskazuje, czy dla obiektu zdefiniowano określoną właściwość.
Object
  
Oblicza histogram 256 wartości binarnych obiektu BitmapData.
BitmapData
  
hitTest(firstPoint:Point, firstAlphaThreshold:uint, secondObject:Object, secondBitmapDataPoint:Point = null, secondAlphaThreshold:uint = 1):Boolean
Uaktywnia wykrywanie pikseli między obrazem bitmapowym a punktem, prostokątem lub innym obrazem bitmapowym.
BitmapData
 Inherited
Wskazuje, czy instancja klasy Object należy do łańcucha prototypów obiektu określonego jako parametr.
Object
  
Blokuje obraz, co powoduje, że wszelkie obiekty odwołujące się do obiektu BitmapData, np. obiekty Bitmap, nie są aktualizowane w odpowiedzi na zmiany obiektu BitmapData.
BitmapData
  
merge(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, redMultiplier:uint, greenMultiplier:uint, blueMultiplier:uint, alphaMultiplier:uint):void
Wykonuje mieszanie poszczególnych kanałów z obrazu źródłowego do obrazu docelowego.
BitmapData
  
noise(randomSeed:int, low:uint = 0, high:uint = 255, channelOptions:uint = 7, grayScale:Boolean = false):void
Wypełnia obraz pikselami stanowiącymi losowy szum.
BitmapData
  
paletteMap(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, redArray:Array = null, greenArray:Array = null, blueArray:Array = null, alphaArray:Array = null):void
Ponownie odwzorowuje wartości kanałów kolorów w obrazie zawierającym maksymalnie cztery tablice dotyczące kolorów - po jednej na każdy kanał.
BitmapData
  
perlinNoise(baseX:Number, baseY:Number, numOctaves:uint, randomSeed:int, stitch:Boolean, fractalNoise:Boolean, channelOptions:uint = 7, grayScale:Boolean = false, offsets:Array = null):void
Generuje obraz szumu Perlina.
BitmapData
  
pixelDissolve(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, randomSeed:int = 0, numPixels:int = 0, fillColor:uint = 0):int
Przeprowadza operację rozpuszczania na poziomie pikseli - albo z obrazu źródłowego do obrazu docelowego, albo przy użyciu jednego obrazu.
BitmapData
 Inherited
Wskazuje, czy określona właściwość istnieje i jest przeliczalna.
Object
  
Przewija obraz o pewną liczbę pikseli (x, y).
BitmapData
  
setPixel(x:int, y:int, color:uint):void
Ustawia pojedynczy piksel obiektu BitmapData.
BitmapData
  
setPixel32(x:int, y:int, color:uint):void
Ustawia wartości koloru i przezroczystości alfa jednego piksela w obiekcie typu BitmapData.
BitmapData
  
setPixels(rect:Rectangle, inputByteArray:ByteArray):void
Konwertuje tablicę bajtów na prostokątny obszar pikseli.
BitmapData
 Inherited
Ustawia dostępność właściwości dynamicznej używanej w pętlach.
Object
  
setVector(rect:Rectangle, inputVector:Vector.<uint>):void
Przekształca obiekt Vector w prostokątny region danych pikselowych.
BitmapData
  
threshold(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, operation:String, threshold:uint, color:uint = 0, mask:uint = 0xFFFFFFFF, copySource:Boolean = false):uint
Testuje wartości pikseli obrazu ze względu na określony próg i określa nowe wartości kolorów pikseli zweryfikowanych pozytywnie.
BitmapData
 Inherited
Zwraca ciąg reprezentujący obiekt — sformatowany zgodnie z konwencjami właściwymi dla ustawień regionalnych.
Object
 Inherited
Zwraca ciąg reprezentujący określony obiekt.
Object
  
unlock(changeRect:Rectangle = null):void
Odblokowuje obraz, co powoduje, że wszelkie obiekty odwołujące się do obiektu BitmapData, np. obiekty Bitmap, są aktualizowane w odpowiedzi na zmiany obiektu BitmapData.
BitmapData
 Inherited
Zwraca pierwotną wartość dla określonego obiektu.
Object
Szczegół właściwości

height

właściwość
height:int  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 9, AIR 1.0, Flash Lite 4

Wysokość obrazu bitmapowego w pikselach.



Implementacja
    public function get height():int

rect

właściwość 
rect:Rectangle  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 9, AIR 1.0, Flash Lite 4

Prostokąt definiujący wymiary i położenie obrazu bitmapowego. Góra i lewa strona prostokąta mają wartość 0; szerokość i wysokość są równe szerokości i wysokości obiektu BitmapData.



Implementacja
    public function get rect():Rectangle

transparent

właściwość 
transparent:Boolean  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 9, AIR 1.0, Flash Lite 4

Określa, czy obraz bitmapowy obsługuje przezroczystość poszczególnych pikseli. Możliwe jest ustawienie tej wartości tylko w przypadku konstruowania obiektu BitmapData przez podanie wartości true dla parametru transparent konstruktora. Następnie, po utworzeniu obiektu BitmapData, możliwe jest sprawdzenie obsługi przezroczystości na poziomie poszczególnych pikseli. W tym celu należy sprawdzić, czy właściwość transparent ma wartość true.



Implementacja
    public function get transparent():Boolean

width

właściwość 
width:int  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 9, AIR 1.0, Flash Lite 4

Szerokość obrazu bitmapowego w pikselach.



Implementacja
    public function get width():int
Konstruktor Szczegół

BitmapData

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 9, AIR 1.0, Flash Lite 4

Tworzy obiekt BitmapData o określonej wysokości i szerokości. W przypadku określenia wartości parametru fillColor każdy piksel bitmapy zostanie ustawiony na ten kolor.

Domyślnie bitmapa jest tworzona jako przezroczysta, chyba że zostanie podana wartość false dla parametru transparent. Po utworzeniu nieprzezroczystej bitmapy nie jest możliwa zmiana jej na bitmapę przezroczystą. Każdy piksel na bitmapie nieprzezroczystej wykorzystuje tylko 24 bity informacji kanałów kolorów. Po zdefiniowaniu bitmapy jako przezroczystej każdy piksel wykorzystuje 32 bity informacji kanałów kolorów, włącznie z kanałem przezroczystości alpha.

W środowisku AIR 1.5 i programie Flash Player 10 maksymalna szerokość i wysokość obiektu BitmapData wynosi 8191, a łączna liczba pikseli nie może przekroczyć 16 777 215. (A zatem, jeśli obiekt BitmapData ma szerokość 8,191 pikseli, nie może być wyższy niż 2048 pikseli). W programie Flash Player 9 lub nowszym i środowisku AIR 1.1 lub nowszym obowiązuje ograniczenie do 2880 pikseli wysokości i szerokości. Przy określeniu wartości szerokości lub wysokości większej niż 2880 nowa instancja nie zostanie utworzona.

Parametry
width:int — Szerokość obrazu bitmapowego w pikselach.
 
height:int — Wysokość obrazu bitmapowego w pikselach.
 
transparent:Boolean (default = true) — Określa, czy obraz bitmapowy obsługuje przezroczystość z dokładnością do pojedynczych pikseli. Właściwość ma wartość domyślną true (przezroczyste). W celu utworzenia bitmapy w pełni przezroczystej należy ustawić parametr transparent na wartość true oraz parametr fillColor na wartość 0x00000000 (lub na 0). Ustawienie właściwości transparent na wartość false może spowodować niewielkie podwyższenie wydajności renderowania.
 
fillColor:uint (default = 0xFFFFFFFF) — 32-bitowa wartość koloru ARGB, która jest stosowana do wypełnienia obszaru obrazu bitmapowego. Właściwość ma wartość domyślną 0xFFFFFFFF (jednolity kolor biały).

Zgłasza
ArgumentError — szerokość i/lub wysokość przekracza wymiary maksymalne.
Szczegół metody

applyFilter

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 9, AIR 1.0

Pobiera obraz źródłowy i filtr, a następnie generuje obraz filtrowany.

Ta metoda opiera się na zachowaniu wbudowanych obiektów filtra, które określa prostokąt docelowy, na który ma wpływ prostokąt źródła wprowadzania.

Po zastosowaniu filtra obraz wynikowy może być większy niż obraz wejściowy. Na przykład przy użyciu klasy BlurFilter w celu rozmycia prostokąta źródłowego o współrzędnych (50, 50,100,100) oraz punkcie docelowym (10, 10), obszar który ulega zmianie w obrazie docelowym jest większy niż (10, 10, 60, 60) ze względu na rozmycie. Dzieje się to wewnętrznie w trakcie wywołania metody applyFilter().

Jeżeli parametrsourceRect parametru sourceBitmapData jest obszarem wewnętrznym, jak na przykład (50, 50, 100, 100) w obrazie wielkości 200 x 200, wówczas filtr wykorzystuje piksele spoza parametru sourceRect w celu wygenerowania prostokąta docelowego.

Jeżeli obiekt BitmapData oraz obiekt określony jako parametr sourceBitmapData są tym samym obiektem, wówczas aplikacja wykorzystuje tymczasową kopię obiektu w celu przeprowadzenia filtrowania. Najlepiej jest nie dopuszczać do takiej sytuacji.

Parametry

sourceBitmapData:BitmapData — Wejściowy obraz bitmapowy do użycia. Obrazem źródłowym może być inny obiekt BitmapData lub może się on odwoływać do obecnej instancji BitmapData.
 
sourceRect:Rectangle — Prostokąt definiujący obszar obrazu źródłowego do wykorzystania jako materiał do wprowadzenia.
 
destPoint:Point — Punkt wewnątrz obrazu docelowego (obecna instancja BitmapData) odpowiadający górnemu lewemu narożnikowi prostokąta.
 
filter:BitmapFilter — Obiekt filtra wykorzystywany do przeprowadzenia operacji filtrowania. Każdy typ filtra ma pewne wymagania, przedstawione poniżej:
  • BlurFilter — Ten filtr może wykorzystywać obrazy źródłowe i docelowe, które są nieprzezroczyste lub przezroczyste. Jeżeli formaty obrazów nie zgadzają się, wówczas kopia obrazu źródłowego utworzona w trakcie filtrowania odpowiada formatowi obrazu docelowego.
  • BevelFilter, DropShadowFilter, GlowFilter — Obraz docelowy tych filtrów musi być przezroczysty. Wywoływanie filtrów DropShadowFilter i GlowFilter tworzy obraz zawierający dane kanału alpha dla cienia i poświaty. Nie tworzy to cienia na obrazie docelowym. W przypadku zastosowania tych filtrów względem nieprzezroczystego obrazu docelowego zgłaszany jest wyjątek.
  • ConvolutionFilter — Ten filtr może wykorzystywać obrazy źródłowe i docelowe, które są nieprzezroczyste lub przezroczyste.
  • ColorMatrixFilter — Ten filtr może wykorzystywać obrazy źródłowe i docelowe, które są nieprzezroczyste lub przezroczyste.
  • DisplacementMapFilter — Ten filtr może wykorzystywać obrazy źródłowe i docelowe, które są nieprzezroczyste lub przezroczyste, jednakże formaty obu tych obrazów muszą być identyczne.


Zgłasza
TypeError — Właściwości sourceBitmapData, sourceRect, destPoint oraz filter mają wartość null.
 
IllegalOperationError — Przezroczystość obiektów BitmapData jest niekompatybilna z operacją filtrowania.

Powiązane elementy interfejsu API


Przykład  ( Sposób korzystania z tego przykładu )

Poniższy przykład ilustruje sposób, w jaki można zastosować filtr rozmycia względem instancji BitmapData:
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.geom.Point;
import flash.geom.Rectangle;
import flash.filters.BlurFilter;

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

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

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

clone

()metoda 
public function clone():BitmapData

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 9, AIR 1.0, Flash Lite 4

Zwraca nowy obiekt BitmapData, który jest klonem oryginalnej instancji z dokładną kopią zawartej bitmapy.

Zwraca
BitmapData — Nowy obiekt BitmapData jest identyczny względem oryginału.

Przykład  ( Sposób korzystania z tego przykładu )

Poniższy przykład ilustruje jak można sklonować instancję BitmapData oraz przedstawia, jak w przypadku modyfikacji sklonowanej instancji BitmapData oryginał pozostaje bez zmian:
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

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 9, AIR 1.0, Flash Lite 4

Dopasowuje wartości kolorów w określonym obszarze obrazu bitmapowego poprzez wykorzystanie obiektu ColorTransform. Jeżeli prostokąt pasuje pod względem granic do obrazu bitmapowego, wówczas ta metoda transformuje wartości kolorów dla całego obrazu.

Parametry

rect:Rectangle — Obiekt Rectangle definiujący obszar, w którym obiekt ColorTransform ma być zastosowany.
 
colorTransform:flash.geom:ColorTransform — Obiekt ColorTransform opisujący wartości transformacji kolorów do zastosowania.


Zgłasza
TypeError — Właściwości rect i colorTransform mają wartość null.

Powiązane elementy interfejsu API


Przykład  ( Sposób korzystania z tego przykładu )

Poniższy przykład ilustruje sposób, w jaki można zastosować transformację kolorów do lewej połowy (prostokąta) obiektu BitmapData:
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.geom.Rectangle;
import flash.geom.ColorTransform;

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

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

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

compare

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 9, AIR 1.0, Flash Lite 4

Porównuje dwa obiekty BitmapData. Jeżeli dwa obiekty BitmapData mają te same wymiary (szerokość i wysokość), wówczas metoda zwraca nowy obiekt BitmapData, w którym każdy piksel jest "różnicą" pomiędzy pikselami dwóch obiektów źródłowych:

  • Jeżeli oba piksele są równe, piksel różnicy ma wartość 0x00000000.
  • Jeżeli oba piksele mają różne wartości RGB (pomijając wartość alpha), wówczas piksel różnicy ma wartość 0xRRGGBB, gdzie RR/GG/BB są indywidualnymi wartościami różnicy między kanałami koloru czerwonego, zielonego i niebieskiego (wartość pikseli w obiekcie źródłowym minus wartość pikseli w obiekcie otherBitmapData). Różnice dotyczące kanału alpha są w tym przypadku pomijane.
  • Jeżeli tylko wartość kanału alpha się różni, wówczas wartość pikseli wynosi 0xZZFFFFF, gdzie ZZ jest różnicą wartości alpha (wartość alpha w obiekcie źródłowym minus wartość alpha w obiekcie otherBitmapData).

Można na przykład przeanalizować poniższe dwa obiekty BitmapData:

     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
     

Uwaga: Kolory wykorzystane do wypełnienia dwóch obiektów BitmapData mają nieco inne wartości RGB (0xFF0000 i 0xFFAA00). Wynikiem metody compare() jest nowy obiekt BitmapData, gdzie każdy piksel wykazuje różnicę w wartościach RGB między dwoma bitmapami.

Biorąc pod uwagę poniższe dwa obiekty BitmapData, w których kolory RGB są takie same, ale różne są wartości alpha:

     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
     

Wynikiem metody compare() jest nowy obiekt BitmapData, gdzie każdy piksel wykazuje różnicę w wartościach właściwości alpha między dwoma bitmapami.

Jeżeli obiekty BitmapData są swoimi odpowiednikami (ta sama szerokość i wysokość oraz identyczne wartości pikseli), wówczas metoda zwraca liczbę 0.

Jeżeli szerokości obiektów BitmapData nie są równe, wówczas metoda zwraca liczbę -3.

Jeżeli wysokości obiektów BitmapData nie są równe, ale szerokości są takie same, wówczas metoda zwraca liczbę -4.

Poniższy przykład ilustruje porównanie dwóch obiektów Bitmap o różnych szerokościach (50 i 60):

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

Parametry

otherBitmapData:BitmapData — Obiekt BitmapData do porównania ze źródłowym obiektem BitmapData.

Zwraca
Object — Jeżeli dwa obiekty BitmapData mają te same wymiary (szerokość i wysokość), wówczas metoda zwraca nowy obiekt BitmapData, który posiada różnicę między tymi obiektami (zob. dyskusja główna). Jeżeli obiekty BitmapData są swoimi odpowiednikami, wówczas metoda zwraca liczbę 0. Jeżeli szerokości obiektów BitmapData nie są równe, wówczas metoda zwraca liczbę -3. Jeżeli wysokości obiektów BitmapData nie są równe, wówczas metoda zwraca liczbę -4.

Zgłasza
TypeError — Właściwość otherBitmapData ma wartość null.

Przykład  ( Sposób korzystania z tego przykładu )

Poniższy przykład ilustruje wartość pikseli obiektu BitmapData, która wynika z porównania dwóch obiektów BitmapData o tych samych wymiarach:
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

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 9, AIR 1.0, Flash Lite 4

Przenosi dane z jednego kanału innego obiektu BitmapData lub bieżącego obiektu BitmapData na kanał w bieżącym obiekcie BitmapData. Wszelkie dane z innych kanałów w obiekcie docelowym BitmapData są zachowane.

Źródłowe wartości kanałów oraz docelowe wartości kanałów mogą mieć następujące wartości:

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

Parametry

sourceBitmapData:BitmapData — Wejściowy obraz bitmapowy do wykorzystania. Obrazem źródłowym może być inny obiekt BitmapData lub może się on odwoływać do obecnego obiektu BitmapData.
 
sourceRect:Rectangle — Źródłowy obiekt Rectangle. W celu skopiowania wyłącznie danych kanałów lub mniejszego obszaru wewnątrz bitmapy należy określić prostokąt źródłowy, który jest mniejszy niż całkowity rozmiar obiektu BitmapData.
 
destPoint:Point — Docelowy obiekt Point reprezentujący górny lewy narożnik obszaru prostokątnego, gdzie umieszczane są nowe dane kanałów. W celu skopiowania wyłącznie danych kanałów z jednego obszaru do drugiego w obrazie docelowym należy określić punkt o współrzędnych innych niż (0,0).
 
sourceChannel:uint — Kanał źródłowy. Należy zastosować wartość z klasy BitmapDataChannel (BitmapDataChannel.RED, BitmapDataChannel.BLUE, BitmapDataChannel.GREEN, BitmapDataChannel.ALPHA).
 
destChannel:uint — Kanał docelowy. Należy wykorzystać wartość z klasy BitmapDataChannel (BitmapDataChannel.RED, BitmapDataChannel.BLUE, BitmapDataChannel.GREEN, BitmapDataChannel.ALPHA).


Zgłasza
TypeError — Właściwości sourceBitmapData, sourceRect lub destPoint mają wartość null.

Powiązane elementy interfejsu API


Przykład  ( Sposób korzystania z tego przykładu )

Poniższy przykład ilustruje sposób kopiowania kanału koloru czerwonego obiektu BitmapData do jego kanału koloru niebieskiego w obszarze pikseli wielkości 20 x 20:
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

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 9, AIR 1.0, Flash Lite 4

Zapewnia szybką procedurę do manipulowania pikselami między różnymi obrazami, bez rozciągania, obrotu ani efektów kolorystycznych. Ta metoda kopiuje prostokątny obszar obrazu źródłowego do obszaru prostokątnego o tym samym rozmiarze w punkcie docelowym obiektu BitmapData.

W przypadku zawarcia parametrów alphaBitmap oraz alphaPoint możliwe jest wykorzystanie drugorzędnego obrazu jako źródła właściwości alpha dla obrazu źródłowego. Jeżeli obraz źródłowy posiada dane alpha, wówczas oba zestawy tych danych są wykorzystywane do składania pikseli z obrazu źródłowego do obrazu docelowego. Parametr alphaPoint jest punktem w obrazie alpha, który odpowiada górnemu lewemu narożnikowi prostokąta źródłowego. Wszelkie piksele znajdujące się poza przecięciem obrazu źródłowego i obrazu alpha nie są kopiowane do obrazu docelowego.

Właściwość mergeAlpha kontroluje, czy kanał alpha jest lub nie jest wykorzystywany przy kopiowaniu jednego przezroczystego obrazu na drugi. W celu skopiowania pikseli z danymi kanału alpha należy ustawić właściwość mergeAlpha na wartość true. Domyślnie właściwość mergeAlpha ma wartość false.

Parametry

sourceBitmapData:BitmapData — Wejściowy obraz bitmapowy, z którego będą kopiowane piksele. Obrazem źródłowym może być inna instancja BitmapData lub może się on odwoływać do obecnej instancji BitmapData.
 
sourceRect:Rectangle — Prostokąt definiujący obszar obrazu źródłowego do użycia jako dane do wprowadzenia.
 
destPoint:Point — Punkt docelowy reprezentujący górny lewy narożnik obszaru prostokątnego, gdzie umieszczane są nowe dane kanałów.
 
alphaBitmapData:BitmapData (default = null) — Drugorzędny obiekt źródłowy parametru alpha obiektu BitmapData.
 
alphaPoint:Point (default = null) — Punkt w obiekcie źródłowym parametru alpha obiektu BitmapData odpowiadający górnemu lewemu narożnikowi parametru sourceRect.
 
mergeAlpha:Boolean (default = false) — W celu wykorzystania kanału alpha należy ustawić wartość true. W celu skopiowania pikseli bez kanału alpha należy ustawić wartość false.


Zgłasza
TypeError — Właściwości sourceBitmapData, sourceRect oraz destPoint mają wartość null.

Przykład  ( Sposób korzystania z tego przykładu )

Poniższy przykład ilustruje sposób kopiowania pikseli z regionu wielkości 20 x 20 pikseli jednego obiektu BitmapData do drugiego.
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

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 11.4, AIR 3.4

Wypełnia tablicę bajtów na podstawie prostokątnego obszaru pikseli. Ta metoda zapisuje w tablicy bajtów liczbę całkowitą bez znaku (32-bitową niepomnożoną wartość pikseli) dla każdego piksela, rozpoczynając od indeksu position obiektu ByteArray. Jeśli jest to niezbędne, rozmiar tablicy bajtów zostaje zwiększony do liczby bajtów wymaganej w celu zapisania wszystkich danych pikseli.

Parametry

rect:Rectangle — Obszar prostokątny w obecnym obiekcie BitmapData.
 
data:ByteArray — Docelowy obiekt ByteArray.


Zgłasza
TypeError — Gdy argument rect ma wartość null lub argument data ma wartość null.

Powiązane elementy interfejsu API

dispose

()metoda 
public function dispose():void

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 9, AIR 1.0, Flash Lite 4

Zwalnia pamięć używaną do przechowywania danego obiektu typu BitmapData.

W przypadku wywołania metody dispose() na obrazie, jego szerokość i wysokość zostają ustawione na 0. Wszelkie kolejne wywołania do metod lub właściwości tej instancji BitmapData zakończą się niepowodzeniem oraz zgłoszone zostaną wyjątki.

Metoda BitmapData.dispose() niezwłocznie zwalnia pamięć zajętą przez faktyczne dane bitmapowe (jedna bitmapa może zajmować maksymalnie 64 MB pamięci). Po użyciu metody BitmapData.dispose() obiekt BitmapData nie może być już używany, środowisko wykonawcze Flash wygeneruje wyjątek przy próbie wywołania funkcji tego obiektu. Jednak metoda BitmapData.dispose() nie porządkuje pamięci po obiekcie BitmapData (pozostawiając około 128 bajtów); pamięć zajęta przez obiekt BitmapData jest zwalniana w momencie usunięcia tego obiektu przez proces porządkowania pamięci.

Powiązane elementy interfejsu API


Przykład  ( Sposób korzystania z tego przykładu )

Poniższy przykład ilustruje wynik wywołania metody obiektu BitmapData po wywołaniu metody dispose() (zgłaszany jest wyjątek):
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

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 9, AIR 1.0, Flash Lite 4

Rysuje obiekt wyświetlany source na obrazie bitmapowym za pomocą wektorowego mechanizmu renderującego środowiska wykonawczego Flash. Możliwe jest określenie parametrów matrix, colorTransform, blendMode oraz docelowego parametru clipRect w celu kontrolowania wydajności renderowania. Opcjonalnie możliwe jest określenie, czy bitmapa powinna być wygładzana w trakcie skalowania (jest to możliwe tylko, gdy obiektem źródłowym jest obiekt BitmapData).

Uwaga: Metoda drawWithQuality() działa analogicznie do metody draw(), ale zamiast określać jakość renderowania grafiki wektorowej na podstawie właściwości Stage.quality, umożliwia podanie przy wywołaniu parametru quality.

Ta metoda odpowiada bezpośrednio za sposób, w jaki obiekty są rysowane przy pomocy mechanizmu renderującego wektory standardowe dla obiektów w interfejsie narzędzi autoryzacyjnych.

Źródłowy obiekt wyświetlany nie wykorzystuje żadnych zastosowanych transformacji dla tego wywołania. Jest on traktowany jakby istniał w bibliotece lub pliku, bez transformacji macierzy, transformacji kolorów czy trybu mieszania. W celu narysowania obiektu wyświetlanego (jak na przykład klip filmowy) przy wykorzystaniu jego własnych właściwości transformacji, możliwe jest skopiowanie jego obiektu właściwości transform do właściwości transform obiektu Bitmap korzystającego z obiektu BitmapData.

Ta metoda jest obsługiwana przy użyciu protokołu RTMP w programie Flash Player 9.0.115.0 i nowszych wersjach oraz w środowisku Adobe AIR. Istnieje możliwość sterowania dostępem do strumieni na serwerze z oprogramowaniem Flash Media Server za pomocą skryptu po stronie serwera. Więcej informacji na ten temat zawierają opisy właściwości Client.audioSampleAccess oraz Client.videoSampleAccess w publikacji Dokumentacja języka ActionScript po stronie serwera dla programu Flash Media Server.

Jeśli obiekt źródłowy oraz (w przypadku obiektu Sprite lub MovieClip) wszystkie jego obiekty podrzędne nie pochodzą z tej samej domeny, co treść wywołująca, lub nie należą do treści udostępnionej dla treści wywołującej za pomocą metody Security.allowDomain(), wywołanie metody draw() spowoduje wygenerowanie wyjątku SecurityError. To ograniczenie nie ma zastosowania do zawartości AIR w obszarze izolowanym aplikacji.

Obowiązują także ograniczenia w wykorzystaniu załadowanego obrazu bitmapowego jako obiektu source. Wywołanie metody draw() kończy się powodzeniem, jeśli załadowany obraz pochodzi z tej samej domeny, co treść wywołująca. Ponadto międzydomenowy plik zasad na serwerze obrazu może nadać uprawnienia domenie treści SWF wywołującej metodę draw(). W tym przypadku należy ustawić właściwość checkPolicyFile obiektu LoaderContext i użyć tego obiektu jako parametru context w wywołaniu metody load() obiektu Loader wykorzystywanego do załadowania obrazu. Te ograniczenia nie ma zastosowania do treści AIR w obszarze izolowanym zabezpieczeń aplikacji.

W systemie Windows metoda draw() nie umożliwia przechwytywania treści SWF osadzonej w stronie HTML w obiekcie HTMLLoader w środowisku Adobe AIR.

Metoda draw() nie umożliwia przechwytywania treści PDF w środowisku Adobe AIR. Nie umożliwia także przechwytywania treści SWF osadzonej w kodzie HTML, gdy atrybut wmode jest ustawiony "window" (w środowisku Adobe AIR).

Parametry

source:IBitmapDrawable — Obiekt wyświetlany lub obiekt BitmapData konieczny przy rysowaniu obiektu BitmapData. (Klasy DisplayObject oraz BitmapData implementują interfejs IBitmapDrawable).
 
matrix:Matrix (default = null) — Obiekt Matrix jest wykorzystywany w celu skalowania, obracania oraz translacji współrzędnych bitmapy. Jeżeli nie jest konieczne zastosowanie matrycy transformacji względem obrazu, wówczas należy ustawić ten parametr na wartość matrycy tożsamości, utworzonej przy pomocy domyślnego konstruktora new Matrix() lub podać wartość null.
 
colorTransform:flash.geom:ColorTransform (default = null) — Obiekt ColorTransform wykorzystywany przy dopasowywaniu wartości kolorów bitmapy. Przy braku dostarczanego obiektu kolory obrazu bitmapowego nie są transformowane. Jeżeli konieczne jest podanie tego parametru, ale nie ma potrzeby transformacji obrazu należy ustawić ten parametr na obiekt ColorTransform utworzony przy pomocy domyślnego konstruktora new ColorTransform().
 
blendMode:String (default = null) — Wartość ciągu znaków z klasy flash.display.BlendMode, określający tryb mieszania do zastosowania w wynikowej bitmapie.
 
clipRect:Rectangle (default = null) — Obiekt Rectangle definiujący obszar obiektu źródłowego do narysowania. W przypadku gdy ta wartość nie została dostarczona, nie dochodzi do przycinania i rysowany jest cały obiekt źródłowy.
 
smoothing:Boolean (default = false) — Wartość typu Boolean określająca, czy obiekt jest wygładzany w trakcie skalowania lub obracania ze względu na skalowanie lub obracanie określone w parametrze matrix. Parametr smoothing jest stosowany tylko w sytuacji, gdy parametr source jest obiektem BitmapData. W przypadku ustawienia parametru smoothing na wartość false obracany lub skalowany obraz BitmapData może pojawić się pikselizacja lub poszarpanie. Na przykład poniższe dwa obrazy wykorzystują ten sam obiekt BitmapData dla parametru source, jednakże parametr smoothing jest ustawiony na wartość truew przypadku obiektu po lewej stronie oraz na wartość false w przypadku obiektu po prawej stronie.

Dwa obrazy: po lewej stronie - z wygładzaniem, po prawej stronie - bez wygładzania

Rysowanie bitmapy z parametrem smoothing ustawionym na wartość true zajmuje więcej czasu, niż w przypadku parametru smoothing ustawionego na wartość false.


Zgłasza
ArgumentError — Parametr source nie jest obiektem BitmapData ani DisplayObject.
 
SecurityError — Obiekt source oraz (w przypadku obiektu Sprite lub MovieClip) wszystkie jego obiekty podrzędne nie pochodzą z tej samej domeny co obiekt wywołujący lub nie należą do treści dostępnej dla obiektu wywołującego poprzez wywołanie metody Security.allowDomain(). To ograniczenie nie ma zastosowania do treści AIR w obszarze izolowanym zabezpieczeń aplikacji.
 
ArgumentError — Źródło ma wartość null lub nie jest prawidłowym obiektem IBitmapDrawable.

Powiązane elementy interfejsu API


Przykład  ( Sposób korzystania z tego przykładu )

Poniższy przykład ilustruje sposób, w jaki można narysować obiekt TextField w obiekcie BitmapData:
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.text.TextField;

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

var myBitmapData:BitmapData = new BitmapData(80, 20);
myBitmapData.draw(tf);
var bmp:Bitmap = new Bitmap(myBitmapData);
this.addChild(bmp);

drawWithQuality

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 11.3, AIR 3.3

Rysuje obiekt wyświetlany source na obrazie bitmapowym za pomocą wektorowego mechanizmu renderującego środowiska wykonawczego Flash. Możliwe jest określenie parametrów matrix, colorTransform, blendMode oraz docelowego parametru clipRect w celu kontrolowania wydajności renderowania. Opcjonalnie możliwe jest określenie, czy bitmapa powinna być wygładzana w trakcie skalowania (jest to możliwe tylko, gdy obiektem źródłowym jest obiekt BitmapData).

Uwaga: Metoda drawWithQuality() działa analogicznie do metody draw(), ale zamiast określać jakość renderowania grafiki wektorowej na podstawie właściwości Stage.quality, umożliwia podanie przy wywołaniu parametru quality.

Ta metoda odpowiada bezpośrednio za sposób, w jaki obiekty są rysowane przy pomocy mechanizmu renderującego wektory standardowe dla obiektów w interfejsie narzędzi autoryzacyjnych.

Źródłowy obiekt wyświetlany nie wykorzystuje żadnych zastosowanych transformacji dla tego wywołania. Jest on traktowany jakby istniał w bibliotece lub pliku, bez transformacji macierzy, transformacji kolorów czy trybu mieszania. W celu narysowania obiektu wyświetlanego (jak na przykład klip filmowy) przy wykorzystaniu jego własnych właściwości transformacji, możliwe jest skopiowanie jego obiektu właściwości transform do właściwości transform obiektu Bitmap korzystającego z obiektu BitmapData.

Ta metoda jest obsługiwana przy użyciu protokołu RTMP w programie Flash Player 9.0.115.0 i nowszych wersjach oraz w środowisku Adobe AIR. Istnieje możliwość sterowania dostępem do strumieni na serwerze z oprogramowaniem Flash Media Server za pomocą skryptu po stronie serwera. Więcej informacji na ten temat zawierają opisy właściwości Client.audioSampleAccess i Client.videoSampleAccess znajdujące się na stronie Dokumentacja języka ActionScript po stronie serwera dla programu Flash Media Server.

Jeśli obiekt źródłowy oraz (w przypadku obiektu Sprite lub MovieClip) wszystkie jego obiekty podrzędne nie pochodzą z tej samej domeny co element wywołujący albo nie należą do zawartości udostępnionej dla elementu wywołującego za pomocą metody Security.allowDomain(), wywołanie metody drawWithQuality() powoduje wygenerowanie wyjątku SecurityError. To ograniczenie nie ma zastosowania do zawartości AIR w obszarze izolowanym aplikacji.

Obowiązują także ograniczenia w wykorzystaniu załadowanego obrazu bitmapowego jako obiektu source. Wywołanie metody drawWithQuality() kończy się powodzeniem, jeśli wczytany obraz pochodzi z tej samej domeny co element wywołujący. Ponadto plik zasad międzydomenowych na serwerze obrazu może nadać uprawnienia domenie zawartości SWF wywołującej metodę drawWithQuality(). W tym przypadku należy ustawić właściwość checkPolicyFile obiektu LoaderContext i użyć tego obiektu jako parametru context w wywołaniu metody load() obiektu Loader wykorzystywanego do załadowania obrazu. Te ograniczenia nie ma zastosowania do treści AIR w obszarze izolowanym zabezpieczeń aplikacji.

W systemie Windows metoda drawWithQuality() nie umożliwia przechwytywania zawartości SWF osadzonej na stronie HTML w obiekcie HTMLLoader w środowisku Adobe AIR.

Metoda drawWithQuality() nie umożliwia przechwytywania zawartości PDF w środowisku Adobe AIR. Nie umożliwia także przechwytywania treści SWF osadzonej w kodzie HTML, gdy atrybut wmode jest ustawiony "window" (w środowisku Adobe AIR).

Parametry

source:IBitmapDrawable — Obiekt wyświetlany lub obiekt BitmapData konieczny przy rysowaniu obiektu BitmapData. (Klasy DisplayObject oraz BitmapData implementują interfejs IBitmapDrawable).
 
matrix:Matrix (default = null) — Obiekt Matrix jest wykorzystywany w celu skalowania, obracania oraz translacji współrzędnych bitmapy. Jeżeli nie jest konieczne zastosowanie matrycy transformacji względem obrazu, wówczas należy ustawić ten parametr na wartość matrycy tożsamości, utworzonej przy pomocy domyślnego konstruktora new Matrix() lub podać wartość null.
 
colorTransform:flash.geom:ColorTransform (default = null) — Obiekt ColorTransform wykorzystywany przy dopasowywaniu wartości kolorów bitmapy. Przy braku dostarczanego obiektu kolory obrazu bitmapowego nie są transformowane. Jeżeli konieczne jest podanie tego parametru, ale nie ma potrzeby transformacji obrazu należy ustawić ten parametr na obiekt ColorTransform utworzony przy pomocy domyślnego konstruktora new ColorTransform().
 
blendMode:String (default = null) — Wartość ciągu znaków z klasy flash.display.BlendMode, określający tryb mieszania do zastosowania w wynikowej bitmapie.
 
clipRect:Rectangle (default = null) — Obiekt Rectangle definiujący obszar obiektu źródłowego do narysowania. W przypadku gdy ta wartość nie została dostarczona, nie dochodzi do przycinania i rysowany jest cały obiekt źródłowy.
 
smoothing:Boolean (default = false) — Wartość typu Boolean określająca, czy obiekt jest wygładzany w trakcie skalowania lub obracania ze względu na skalowanie lub obracanie określone w parametrze matrix. Parametr smoothing jest stosowany tylko w sytuacji, gdy parametr source jest obiektem BitmapData. W przypadku ustawienia parametru smoothing na wartość false obracany lub skalowany obraz BitmapData może pojawić się pikselizacja lub poszarpanie. Na przykład poniższe dwa obrazy wykorzystują ten sam obiekt BitmapData dla parametru source, jednakże parametr smoothing jest ustawiony na wartość truew przypadku obiektu po lewej stronie oraz na wartość false w przypadku obiektu po prawej stronie.

Dwa obrazy: po lewej stronie - z wygładzaniem, po prawej stronie - bez wygładzania

Rysowanie bitmapy z parametrem smoothing ustawionym na wartość true zajmuje więcej czasu, niż w przypadku parametru smoothing ustawionego na wartość false.

 
quality:String (default = null) — Dowolna z wartości klasy StageQuality. Określa jakość wygładzania używanego podczas rysowania grafiki wektorowej.


Zgłasza
ArgumentError — Parametr source nie jest obiektem BitmapData ani DisplayObject.
 
SecurityError — Obiekt source oraz (w przypadku obiektu Sprite lub MovieClip) wszystkie jego obiekty podrzędne nie pochodzą z tej samej domeny co obiekt wywołujący lub nie należą do treści dostępnej dla obiektu wywołującego poprzez wywołanie metody Security.allowDomain(). To ograniczenie nie ma zastosowania do treści AIR w obszarze izolowanym zabezpieczeń aplikacji.
 
ArgumentError — Źródło ma wartość null lub nie jest prawidłowym obiektem IBitmapDrawable.

Powiązane elementy interfejsu API


Przykład  ( Sposób korzystania z tego przykładu )

Poniższy przykład ilustruje sposób, w jaki można narysować obiekt TextField w obiekcie BitmapData:
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.text.TextField;

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

var myBitmapData:BitmapData = new BitmapData(80, 20);
myBitmapData.drawWithQuality(tf, , , , , , StageQuality.LOW);
var bmp:Bitmap = new Bitmap(myBitmapData);
this.addChild(bmp);

encode

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 11.3, AIR 3.3

Kompresuje ten obiekt BitmapData przy użyciu wybranego algorytmu kompresji i zwraca nowy obiekt ByteArray. Opcjonalnie zapisuje dane wynikowe w podanym obiekcie ByteArray. Argument compressor określa algorytm kodowania. Może mieć wartość PNGEncoderOptions, JPEGEncoderOptions lub JPEGXREncoderOptions.

Poniższy przykładowy kod kompresuje obiekt BitmapData przy użyciu parametru JPEGEncoderOptions:

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

Parametry

rect:Rectangle — Obszar obiektu BitmapData do skompresowania.
 
compressor:Object — Kompresor, który ma zostać użyty. Prawidłowe wartości: flash.display.PNGEncoderOptions, flash.display.JPEGEncoderOptions i flash.display.JPEGXREncoderOptions.
 
byteArray:ByteArray (default = null) — Wyjściowy obiekt ByteArray do przechowywania zakodowanego obrazu.

Zwraca
ByteArray — Obiekt ByteArray zawierający zakodowany obraz.

Powiązane elementy interfejsu API

fillRect

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 9, AIR 1.0, Flash Lite 4

Wypełnia obszar prostokątny pikselami o określonym kolorze ARGB.

Parametry

rect:Rectangle — Prostokątny obszar do wypełnienia.
 
color:uint — Wartość koloru ARGB, który wypełnia obszar. Kolory ARGB są często określane w formacie szesnastkowym; na przykład 0xFF336699.


Zgłasza
TypeError — Właściwość rect ma wartość null.

Powiązane elementy interfejsu API


Przykład  ( Sposób korzystania z tego przykładu )

Poniższy przykład ilustruje sposób, w jaki można wypełnić obszar obiektu BitmapData kolorem niebieskim:
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

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 9, AIR 1.0, Flash Lite 4

Przeprowadza operację wypełniania jednolitego, zaczynając od punktu na współrzędnych (x, y) i wypełniając wybranym kolorem. Metoda floodFill() jest podobna do narzędzia wiadra z farbą, wykorzystywanego w różnych programach graficznych. Kolorem jest kolor ARGB zawierający informacje dotyczące wartości parametru alpha.

Parametry

x:int — Współrzędna x obrazu.
 
y:int — Współrzędna y obrazu.
 
color:uint — Kolor ARGB wykorzystany do wypełniania.


Przykład  ( Sposób korzystania z tego przykładu )

Następujący przykład ilustruje sposób wypełniania obszaru obiektu BitmapData — obszaru wokół piksela zdefiniowanego przez punkt (10, 10) — w taki sposób, że wszystkie kolory zgodne z kolorem w tym punkcie przyjmują kolor czerwony.
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

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 9, AIR 1.0

Określa prostokąt docelowy, na który ma wpływ wywołanie metody applyFilter(), jeżeli jest podany obiekt BitmapData, prostokąt źródłowy oraz obiekt filtra.

Na przykład filtr rozmycia ma wpływ na obszar większy niż rozmiar oryginalnego obrazu. Obraz wielkości 100 x 200 pikseli filtrowany przez domyślną instancję BlurFilter, gdzie blurX = blurY = 4 generuje prostokąt docelowy o współrzędnych (-2, -2, 104, 204). Metoda generateFilterRect() pozwala na wczesne poznanie rozmiaru prostokąta docelowego, aby możliwe było określenie rozmiaru obrazu docelowego przed przeprowadzaniem operacji filtrowania.

Niektóre filtry przycinają prostokąt docelowy w oparciu o rozmiar obrazu źródłowego. Na przykład wewnętrzna właściwość DropShadow nie generuje wyniku większego niż jego obraz źródłowy. W przypadku tego API obiekt BitmapData jest wykorzystywany jako granice źródłowe a nie jako parametr źródłowy rect.

Parametry

sourceRect:Rectangle — Prostokąt definiujący obszar obrazu źródłowego do wykorzystania jako materiał do wprowadzenia.
 
filter:BitmapFilter — Obiekt filtra wykorzystywany do obliczenia prostokąta docelowego.

Zwraca
Rectangle — Prostokąt docelowy obliczony przy użyciu obrazu, parametru sourceRect oraz filtra.

Zgłasza
TypeError — Właściwość sourceRect lub filtr ma wartość null.

Przykład  ( Sposób korzystania z tego przykładu )

Poniższy przykład ilustruje sposób wykorzystania metody generateFilterRect() w celu określenia obszaru prostokątnego, który zostanie zajęty przez obiekt po zastosowaniu filtra rozmycia. Rezultaty metody generateFilterRect() są generowane przez funkcję trace():
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.geom.Point;
import flash.geom.Rectangle;
import flash.filters.BlurFilter;

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

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

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

bmd.applyFilter(bmd, rect, pt, filter);
var bm:Bitmap = new Bitmap(bmd);
addChild(bm);
Należy zauważyć, iż metoda generateFilterRect() nie stosuje filtra. W celu aplikacji filtra należy wywołać metodę applyFilter().

getColorBoundsRect

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 9, AIR 1.0, Flash Lite 4

Określa obszar prostokątny, który albo w pełni pokrywa wszelkie piksele określonego koloru wewnątrz obrazu bitmapowego (jeżeli parametr findColor jest ustawiony na wartość true), lub w pełni pokrywa wszelkie piksele, które nie zawierają określonego koloru (jeżeli parametr findColor jest ustawiony na wartość false).

Przykładowo, jeżeli konieczne jest określenie prostokąta posiadanego obrazu źródłowego, który zawiera kanał alpha inny niż zero, należy przekazać (mask: 0xFF000000, kolor: 0x00000000 jako parametry. Jeżeli parametr findColor jest ustawiony na wartośćtrue, wówczas w całym obrazie poszukiwane są piksele, których parametr (value & mask) == color (gdzie właściwość value jest wartością koloru pikseli). Jeżeli parametr findColor jest ustawiony na wartość false, wówczas w całym obrazie poszukiwane są granice pikseli, których właściwość (value & mask) != color (gdzie właściwość value jest wartością koloru pikseli). W celu określenia białej przestrzeni wokół obrazu należy podać parametry {mask: 0xFFFFFFFF, color: 0xFFFFFFFF} w celu odnalezienia granic pikseli innych niż białe.

Parametry

mask:uint — Wartość szesnastkowa określająca bity koloru ARGB do wzięcia pod uwagę. Wartość koloru jest połączona z tą wartością szesnastkową przy użyciu operatora & (bitowe "I").
 
color:uint — Wartość szesnastkowa, określająca kolor ARGB w celu dopasowania (jeżeli właściwość findColor jest ustawiona na wartość true) lub niedopasowania (jeżeli właściwość findColor jest ustawiona na wartość false).
 
findColor:Boolean (default = true) — Jeżeli wartość wynosi true, wówczas zwracane są granice wartości koloru w obrazie. Jeżeli wartość wynosi false, wówczas zwracane są granice gdzie nie ma koloru na obrazie.

Zwraca
Rectangle — Obszar obrazu o określonym kolorze.

Przykład  ( Sposób korzystania z tego przykładu )

Poniższy przykład ilustruje tworzenie obiektu BitmapData z kolorem czerwonym w górnej połowie swoich pikseli. Następnie ukazane jest wywołanie metody getColorBoundsRect() w celu określenia prostokąta, w którym piksele mają kolor czerwony (0xFF0000), a potem wywołanie tej samej metody w celu określenia prostokąta, w którym piksele nie mają koloru czerwonego (poprzez ustawienie parametru findColor na wartość false:
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.geom.Rectangle;

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

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

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

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

getPixel

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 9, AIR 1.0, Flash Lite 4

Zwraca liczbę całkowitą, która reprezentuje wartość RGB piksela z obiektu BitmapData w określonym punkcie (x, y). Metoda getPixel() zwraca nieprzemnożoną wartość piksela. Nie jest zwracana informacja dotycząca wartości parametru alpha.

Wszystkie piksele obiektu BitmapData są przechowywane jako wstępnie przemnożone wartości kolorów. Wartość wstępnie przemnożona koloru jest wartością kanałów koloru czerwonego, zielonego i niebieskiego przemnożoną przez wartość alpha. Na przykład jeżeli wartość alhpa wynosi 0, wówczas wartości kanałów RGB również wynoszą 0, niezależnie od ich wartości nieprzemnożonych. Tego rodzaju utrata danych może spowodować problemy w trakcie wykonywania operacji. Wszystkie metody BitmapData pobierają i zwracają wartości nieprzemnożone. Reprezentacja pikseli wewnętrznych jest konwertowana z wartości wstępnie przemnożonych do wartości nieprzemnożonych przed zwróceniem jako wartość. W trakcie operacji ustawiania wartość piksela jest wstępnie przemnażana przed ustawieniem surowego piksela obrazu.

Parametry

x:int — Położenie x piksela.
 
y:int — Położenie y piksela.

Zwraca
uint — Liczba reprezentująca wartość RGB piksela. Jeżeli współrzędne (x, y) znajdują się poza granicami obrazu, metoda zwraca wartość 0.

Powiązane elementy interfejsu API


Przykład  ( Sposób korzystania z tego przykładu )

Poniższy przykład ilustruje tworzenie obiektu BitmapData wypełnionego kolorem czerwonym, a następnie wykorzystanie metody getPixel() w celu określenia wartości koloru w górnym-lewym pikselu:
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

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 9, AIR 1.0, Flash Lite 4

Zwraca wartość koloru ARGB, która zawiera dane kanału alfa i dane RGB. Ta metoda jest podobna do metody getPixel(), która zwraca kolor RGB bez wartości kanału alpha.

Wszystkie piksele obiektu BitmapData są przechowywane jako wstępnie przemnożone wartości kolorów. Wartość wstępnie przemnożona koloru jest wartością kanałów koloru czerwonego, zielonego i niebieskiego przemnożoną przez wartość alpha. Na przykład jeżeli wartość alhpa wynosi 0, wówczas wartości kanałów RGB również wynoszą 0, niezależnie od ich wartości nieprzemnożonych. Tego rodzaju utrata danych może spowodować problemy w trakcie wykonywania operacji. Wszystkie metody BitmapData pobierają i zwracają wartości nieprzemnożone. Reprezentacja pikseli wewnętrznych jest konwertowana z wartości wstępnie przemnożonych do wartości nieprzemnożonych przed zwróceniem jako wartość. W trakcie operacji ustawiania wartość piksela jest wstępnie przemnażana przed ustawieniem surowego piksela obrazu.

Parametry

x:int — Położenie x piksela.
 
y:int — Położenie y piksela.

Zwraca
uint — Liczba reprezentująca wartość RGB piksela. Jeżeli współrzędne (x, y) znajdują się poza granicami obrazu, metoda zwraca wartość 0.

Powiązane elementy interfejsu API


Przykład  ( Sposób korzystania z tego przykładu )

Poniższy przykład ilustruje tworzenie obiektu BitmapData wypełnionego kolorem, a następnie wykorzystanie metody getPixel32() w celu określenia wartości koloru w górnym-lewym pikselu, a potem określenia wartości szesnastkowych dla każdego składnika koloru (alpha, czerwony, zielony i niebieski):
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

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 9, AIR 1.0, Flash Lite 4

Generuje tablicę bajtów na podstawie prostokątnego obszaru pikseli. Zapisuje liczbę całkowitą bez znaku (32-bitową wartość nieprzemnożoną pikseli) dla każdego piksela w tablicy bajtów.

Parametry

rect:Rectangle — Obszar prostokątny w obecnym obiekcie BitmapData.

Zwraca
ByteArray — Obiekt ByteArray reprezentujący piksele w danym obiekcie Rectangle.

Zgłasza
TypeError — Właściwość rect ma wartość null.

Powiązane elementy interfejsu API


Przykład  ( Sposób korzystania z tego przykładu )

Poniższy przykład ilustruje tworzenie obiektu BitmapData wypełnionego losową liczbą pikseli szumu, a następnie zastosowanie metody getPixels() w celu wypełnienia obiektu ByteArray wartościami pikseli obiektu BitmapData.
import flash.display.BitmapData;
import flash.geom.Rectangle;
import flash.utils.ByteArray;

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

var bounds:Rectangle = new Rectangle(0, 0, bmd.width, bmd.height);
var pixels:ByteArray = bmd.getPixels(bounds);

getVector

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10, AIR 1.5, Flash Lite 4

Generuje tablicę wektorów na podstawie prostokątnego obszaru pikseli. Zwraca obiekt Vector zawierający liczby całkowite bez znaku (32-bitowe nieprzemnożone wartości pikseli) dla określonego prostokąta.

Parametry

rect:Rectangle — Obszar prostokątny w obecnym obiekcie BitmapData.

Zwraca
Vector.<uint> — Obiekt Vector reprezentujący dany obiekt Rectangle.

Zgłasza
TypeError — Właściwość rect ma wartość null.

histogram

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10, AIR 1.5, Flash Lite 4

Oblicza histogram 256 wartości binarnych obiektu BitmapData. Metoda zwraca obiekt Vector zawierający cztery obiekty Vector.Instancje <Number> (cztery obiekty Vector, które zawierają obiekty Number). Cztery instancje Vector reprezentują w kolejności składnik czerwony, zielony, niebieski i kanał alfa. Każda instancja Vector zawiera 256 wartości, które reprezentują liczbę wystąpień dla pojedynczej wartości składnika (z zakresu od 0 do 255).

Parametry

hRect:Rectangle (default = null) — Obszar obiektu BitmapData do wykorzystania.

Zwraca
Vector.<Vector.<Number>>

hitTest

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 9, AIR 1.0, Flash Lite 4

Uaktywnia wykrywanie pikseli między obrazem bitmapowym a punktem, prostokątem lub innym obrazem bitmapowym. Do wykrycia dochodzi, gdy punkt lub prostokąt pokrywa piksel nieprzezroczysty lub dwa nachodzące na siebie nieprzezroczyste piksele. Rozciąganie, obracanie oraz żadne inne transformacje żadnego z obiektów nie są brane pod uwagę przy przeprowadzaniu testu trafień.

Jeżeli obraz jest nieprzezroczysty, wówczas jest uznawany w tej metodzie za prostokąt w pełni nieprzezroczysty. Oba obrazy muszą być przezroczyste przy przeprowadzaniu testowania trafień na poziomie pikseli przy rozważaniu przezroczystości. Przy testowaniu dwóch obrazów przezroczystych, progowe parametry alpha kontrolują które wartości kanału alpha (z zakresu od 0 do 255) są uważane za nieprzezroczyste.

Parametry

firstPoint:Point — Położenie górnego lewego narożnika obrazu BitmapData w dowolnym układzie współrzędnych. Ten sam układ współrzędnych jest wykorzystywany przy definiowaniu parametru secondBitmapPoint.
 
firstAlphaThreshold:uint — Najmniejsza wartość kanału alpha jest traktowana jako wartość nieprzezroczystości dla tego testu trafień.
 
secondObject:Object — Obiekt Rectangle, Point, Bitmap lub BitmapData.
 
secondBitmapDataPoint:Point (default = null) — Punkt definiujący położenie pikseli w drugim obiekcie BitmapData. Należy wykorzystać ten parametr, tylko w przypadku gdy wartością właściwości secondObject jest obiekt BitmapData.
 
secondAlphaThreshold:uint (default = 1) — Najmniejsza wartość kanału alpha jest traktowana jako wartość nieprzezroczystości w drugim obiekcie BitmapData. Należy wykorzystać ten parametr, tylko w przypadku gdy wartością właściwości secondObject jest obiekt BitmapData oraz oba obiekty BitmapData są przezroczyste.

Zwraca
Boolean — Wartość true przy wystąpieniu trafienia; wartość false w innym przypadku.

Zgłasza
ArgumentError — Parametr secondObject nie jest obiektem Point, Rectangle, Bitmap lub BitmapData.
 
TypeError — Właściwość firstPoint ma wartość null.

Przykład  ( Sposób korzystania z tego przykładu )

Poniższy przykład ilustruje tworzenie obiektu BitmapData, który jest nieprzezroczysty tylko w prostokątnym obszarze o współrzędnych (20, 20, 40, 40) oraz wywołanie metody hitTest() z obiektem Point jako obiekt secondObject. Przy pierwszym wywołaniu obiekt Point definiuje górny lewy narożnik obiektu BitmapData, który nie jest nieprzezroczysty, zaś w drugim wywołaniu obiekt Point definiuje centrum obiektu BitmapData, które jest nieprzezroczysty.
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

()metoda 
public function lock():void

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 9, AIR 1.0

Blokuje obraz, co powoduje, że wszelkie obiekty odwołujące się do obiektu BitmapData, np. obiekty Bitmap, nie są aktualizowane w odpowiedzi na zmiany obiektu BitmapData. W celu podwyższenia wydajności należy stosować tą metodę wraz z metodą unlock() przed i po wielokrotnych wywołaniach do metody setPixel() i setPixel32().

Powiązane elementy interfejsu API


Przykład  ( Sposób korzystania z tego przykładu )

Poniższy przykład ilustruje tworzenie obiektu BitmapData w oparciu o właściwość bitmapData obiektu Bitmap picture. Następnie wywoływana jest metoda lock() przed wywołaniem skomplikowanej funkcji własnej complexTransformation(), która modyfikuje obiekt BItmapData. (Obiekt picture oraz funkcja complexTransformation() nie są zdefiniowane w tym przykładzie.) Nawet w przypadku gdy funkcja complexTransformation() aktualizuje właściwość bitmapData obiektu picture, zmiany nie są odzwierciedlone do momentu wywołania metody unlock() obiektu bitmapData.
import flash.display.BitmapData;

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

merge

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 9, AIR 1.0, Flash Lite 4

Wykonuje mieszanie poszczególnych kanałów z obrazu źródłowego do obrazu docelowego. Dla każdego kanału i każdego piksela nowa wartość jest obliczana na podstawie wartości kanałów pikseli źródłowych i docelowych. Przykładowo w kanale koloru czerwonego, nowa wartość jest obliczana w następujący sposób (gdzie właściwość redSrc jest wartością kanału koloru czerwonego w obrazie źródłowym, zaś właściwość redDest jest wartością kanału czerwonego na odpowiadającym pikselu obrazu docelowego):

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

Wartości właściwości redMultiplier, greenMultiplier, blueMultiplier oraz alphaMultiplier są przelicznikami wykorzystywanymi względem każdego kanału kolorów. Należy zastosować wartość szesnastkową w graniach od 0 do 0x100 (256), gdzie 0 określa pełną wartość ze źródła wykorzystaną końcowo, 0x100 określa wykorzystanie pełnej wartości ze źródła, zaś liczby pomiędzy określają wykorzystanie mieszania (jak na przykład 0x80 dla wartości 50%).

Parametry

sourceBitmapData:BitmapData — Wejściowy obraz bitmapowy do wykorzystania. Obrazem źródłowym może być inny obiekt BitmapData lub może się on odwoływać do obecnego obiektu BitmapData.
 
sourceRect:Rectangle — Prostokąt definiujący obszar obrazu źródłowego do wykorzystania jako materiał do wprowadzenia.
 
destPoint:Point — Punkt wewnątrz obrazu docelowego (obecna instancja BitmapData) odpowiadający górnemu lewemu narożnikowi prostokąta.
 
redMultiplier:uint — Wartość w jednostkach szesnastkowych, przez którą przemnażana jest wartość kanału koloru czerwonego.
 
greenMultiplier:uint — Wartość w jednostkach szesnastkowych, przez którą przemnażana jest wartość kanału koloru zielonego.
 
blueMultiplier:uint — Wartość w jednostkach szesnastkowych, przez którą przemnażana jest wartość kanału koloru niebieskiego.
 
alphaMultiplier:uint — Wartość w jednostkach szesnastkowych, przez którą przemnażana jest wartość przezroczystości alpha.


Zgłasza
TypeError — Właściwości sourceBitmapData, sourceRect lub destPoint mają wartość null.

Przykład  ( Sposób korzystania z tego przykładu )

Poniższy przykład ilustruje tworzenie dwóch obiektów BitmapData. Oba obiekty mają wymiary 100 x 80 pikseli. Pierwszy z nich jest wypełniony kolorem zielonym a drugi kolorem czerwonym. Kod wywołuje metodę merge(), powodując scalenie pikseli drugiego obiektu BitmapData z pikselami pierwszego obiektu BitmapData, ale tylko w określonym obszarze prostokątnym.
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

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 9, AIR 1.0

Wypełnia obraz pikselami stanowiącymi losowy szum.

Parametry

randomSeed:int — Wartość początkowa generatora liczb pseudolosowych do wykorzystania. Przy zachowaniu tych samych wartości wszystkich innych parametrów możliwe jest generowanie różnych wyników pseudolosowych poprzez zmienianie wartości początkowej generatora liczb pseudolosowych. Funkcja szumu jest funkcją odwzorowującą, a nie prawdziwą funkcją losową, zatem dla tej samej wartości początkowej generatora liczb pseudolosowych zwraca zawsze te same wyniki.
 
low:uint (default = 0) — Najniższa wartość możliwa do wygenerowania dla każdego kanału (od 0 do 255).
 
high:uint (default = 255) — Najwyższa wartość możliwa do wygenerowania dla każdego kanału (od 0 do 255).
 
channelOptions:uint (default = 7) — Liczba, która może być kombinacją każdej z czterech wartości kanałów kolorów (BitmapDataChannel.RED, BitmapDataChannel.BLUE, BitmapDataChannel.GREEN, BitmapDataChannel.ALPHA). Możliwe jest wykorzystanie operatora logicznego LUB (|) w celu połączenia wartości kanałów.
 
grayScale:Boolean (default = false) — Wartość Boolean. Jeżeli wartość true, wówczas tworzony jest obraz w skali szarości poprzez ustawienie wszystkich kanałów kolorów na tę samą wartość. Ustawienie tego parametru na wartość true nie ma wpływu na wybór kanału alpha.

Powiązane elementy interfejsu API


Przykład  ( Sposób korzystania z tego przykładu )

Poniższy przykład ilustruje tworzenie dwóch obiektów BitmapData oraz wywołanie metody noise() względem obu. Przy tej operacji parametr grayscale jest ustawiony na wartość false przy wywołaniu metody noise() względem pierwszego obiektu, oraz ustawiony na wartość true przy wywołaniu metody noise() względem drugiego.
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

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 9, AIR 1.0, Flash Lite 4

Ponownie odwzorowuje wartości kanałów kolorów w obrazie zawierającym maksymalnie cztery tablice dotyczące kolorów — po jednej na każdy kanał.

Środowisko wykonawcze Flash realizuje poniższe kroki w celu generowania obrazu wynikowego:

  1. Po obliczeniu wartości koloru czerwonego, niebieskiego oraz wartości alpha są dodawane razem przy zastosowaniu standardowej arytmetyki 32-bitowych liczb całkowitych.
  2. Wartości kanałów kolorów czerwonego, zielonego, niebieskiego oraz wartość alpha są wyodrębniane do oddzielnych wartości z zakresu 0 do 255. Te wartości są wykorzystywane przy wyszukiwaniu nowych wartości kolorów w odpowiedniej tablicy: redArray, greenArray, blueArray oraz alphaArray. Każda z tych tablic powinna zawierać 256 wartości.
  3. Po pobraniu wszystkich czterech nowych wartości kanałów, są one łączone w standardową wartość ARGB, która będzie zastosowana względem pikseli.

Efekty międzykanałowe są obsługiwane przez tą metodę. Każda tablica wejścia może zawierać pełne 32-bitowe wartości i nie dochodzi do przesuwania gdy wartości są dodawane do siebie. Ta procedura nie obsługuje ściśnięcia poszczególnych kanałów.

Jeżeli nie została wybrana tablica dla kanału, wówczas kanał koloru jest kopiowany z obrazu źródłowego do obrazu docelowego.

Możliwe jest wykorzystanie tej metody do realizacji szerokiej gamy efektów, jak na przykład ogólnego odwzorowywania palety (pobieranie jednego kanału i jego konwersja do obrazu z zafałszowanymi kolorami). Możliwe jest również wykorzystanie tej metody w celu zastosowania różnych zaawansowanych algorytmów manipulacji kolorami, jak na przykład korekcja gamma, krzywe, poziomy oraz kwantyfikacja.

Parametry

sourceBitmapData:BitmapData — Wejściowy obraz bitmapowy do wykorzystania. Obrazem źródłowym może być inny obiekt BitmapData lub może się on odwoływać do obecnej instancji BitmapData.
 
sourceRect:Rectangle — Prostokąt definiujący obszar obrazu źródłowego do wykorzystania jako materiał do wprowadzenia.
 
destPoint:Point — Punkt wewnątrz obrazu docelowego (obecny obiekt BitmapData) odpowiadający górnemu lewemu narożnikowi prostokąta źródłowego.
 
redArray:Array (default = null) — Jeżeli właściwość redArray nie ma wartości null, wówczas red = redArray[source red value] else red = source rect value.
 
greenArray:Array (default = null) — Jeżeli właściwość greenArray nie ma wartości null, wówczas green = greenArray[source green value] else green = source green value.
 
blueArray:Array (default = null) — Jeżeli właściwość blueArray nie ma wartości null, wówczas blue = blueArray[source blue value] else blue = source blue value.
 
alphaArray:Array (default = null) — Jeżeli właściwość alphaArray nie ma wartości null, wówczas alpha = alphaArray[source alpha value] else alpha = source alpha value.


Zgłasza
TypeError — Właściwości sourceBitmapData, sourceRect lub destPoint mają wartość null.

Przykład  ( Sposób korzystania z tego przykładu )

Poniższy przykład ilustruje tworzenie zielonego obiektu BitmapData z czerwonym położonym centralnie kwadratem, a następnie wykorzystanie metody paletteMap() w celu zamiany kolorów czerwonego i zielonego na dolnej prostokątnej połowie obiektu BitmapData:
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.geom.Rectangle;
import flash.geom.Point;

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

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

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

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

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

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

perlinNoise

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 9, AIR 1.0

Generuje obraz szumu Perlina.

Algorytm generacji szumu Perlina interpoluje oraz łączy indywidualne funkcje szumu losowego (zwane oktawami) w pojedynczą funkcję tworzącą bardziej naturalny szum losowy. Tak jak w przypadku oktaw muzycznych, każda funkcja oktawy ma podwójną częstotliwość poprzedniej. Szum Perlina został opisany jako „suma fraktali szumu", ponieważ łączy on wiele zestawów danych szumu o różnych stopniach uszczegółowienia.

Możliwe jest wykorzystanie funkcji szumu Perlina w celu symulacji zjawisk naturalnych i krajobrazów, jak na przykład struktura drewna, chmury oraz stoki górskie. W większości przypadków efekt wyjściowy funkcji szumu Perlina nie jest wyświetlana bezpośrednio, lecz wykorzystywana do udoskonalenia obrazów oraz nadania im pseudo-losowych wariacji.

Proste funkcje cyfrowego szumu losowego często generują obrazy o ostrych, kontrastujących punktach. Tego typu ostry kontrast nie jest często spotykany w naturze. Algorytm szumu Perlina miesza wiele funkcji szumu, które operują na różnych stopniach szczegółowości. Algorytm powoduje mniejsze wariacje wśród wartości pikseli sąsiadujących.

Parametry

baseX:Number — Częstotliwość do wykorzystania w kierunku x. Przykładowo w celu wygenerowania szumu, który jest określony dla obrazu o wielkości 64 x 128, należy podać wartość 64 dla parametru baseX.
 
baseY:Number — Częstotliwość do wykorzystania w kierunku y. Przykładowo w celu wygenerowania szumu, który jest określony dla obrazu o wielkości 64 x 128, należy podać wartość 128 dla parametru baseY.
 
numOctaves:uint — Liczba oktaw lub indywidualnych funkcji szumu do połączenia w celu wygenerowania tego szumu. Większa liczba oktaw tworzy obrazy o wyższych detalach. Większa liczba oktaw wymaga również dłuższego czasu przetwarzania.
 
randomSeed:int — Wartość początkowa generatora liczb pseudolosowych do wykorzystania. Przy zachowaniu tych samych wartości wszystkich innych parametrów możliwe jest generowanie różnych wyników pseudolosowych poprzez zmienianie wartości początkowej generatora liczb pseudolosowych. Funkcja szumu Perlina jest funkcją odwzorowującą, a nie prawdziwą funkcją losową, zatem dla tej samej wartości początkowej generatora liczb pseudolosowych zwraca zawsze te same wyniki.
 
stitch:Boolean — Wartość Boolean. Jeżeli wartość true, wówczas metoda próbuje wygładzić krawędzie przejścia obrazu, w celu utworzenia bezproblemowych tekstur dla wzorów powtarzających się do wypełnienia bitmapy.
 
fractalNoise:Boolean — Wartość Boolean. Jeżeli wartość true, wówczas metoda generuje szum fraktalny; w innym przypadku generuje turbulencję. Obraz zawierający turbulencję ma widoczne przerwy w gradiencie, co powoduje tworzenie lepszych efektów wizualnych obiektów o ostrych kształtach, jak na przykład płomienie i fale oceanu.
 
channelOptions:uint (default = 7) — Liczba, która może być kombinacją każdej z czterech wartości kanałów kolorów (BitmapDataChannel.RED, BitmapDataChannel.BLUE, BitmapDataChannel.GREEN, BitmapDataChannel.ALPHA). Możliwe jest wykorzystanie operatora logicznego LUB (|) w celu połączenia wartości kanałów.
 
grayScale:Boolean (default = false) — Wartość Boolean. Jeżeli wartość true, wówczas tworzony jest obraz w skali szarości poprzez ustawienie wszystkich kanałów kolorów na tę samą wartość. Ustawienie tego parametru na wartość true nie ma wpływu na wartość kanału alpha.
 
offsets:Array (default = null) — Tablica punktów odpowiadających przesunięciom x i y dla każdej oktawy. Poprzez manipulację wartości przesunięcia możliwe jest płynne przewijanie warstw obrazu perlinNoise. Każdy punkt tablicy przesunięć wpływa na określoną funkcję szumu oktawy.


Przykład  ( Sposób korzystania z tego przykładu )

Poniższy przykład ilustruje tworzenie obiektu BitmapData o rozmiarach 200 x 200 pikseli, który wywołuje metodę perlinNoise() w celu wygenerowania efektów akwareli koloru czerwonego i niebieskiego:
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

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 9, AIR 1.0

Przeprowadza operację rozpuszczania na poziomie pikseli - albo z obrazu źródłowego do obrazu docelowego, albo przy użyciu jednego obrazu. Środowisko wykonawcze Flash wykorzystuje wartość randomSeed w celu wygenerowania operacji losowego rozpuszczania pikseli. Wartość zwrotna funkcji musi zostać podana w kolejnych wywołaniach w celu kontynuowania operacji rozpuszczania pikseli aż do zakończenia.

Jeżeli obraz źródłowy nie równa się obrazowi docelowemu, wówczas piksele są kopiowane ze źródła do celu przez wykorzystanie wszelkich właściwości. Proces ten pozwala na rozpuszczanie z pustego obrazu do obrazu w całości zapełnionego.

Jeżeli obrazy źródłowy i docelowy są takie same, wówczas piksele są wypełniane zgodnie z parametrem color. Proces ten pozwala na rozpuszczanie z dala od obrazu w całości zapełnionego. W tym trybie docelowy parametr point jest ignorowany.

Parametry

sourceBitmapData:BitmapData — Wejściowy obraz bitmapowy do wykorzystania. Obrazem źródłowym może być inny obiekt BitmapData lub może się on odwoływać do obecnej instancji BitmapData.
 
sourceRect:Rectangle — Prostokąt definiujący obszar obrazu źródłowego do wykorzystania jako materiał do wprowadzenia.
 
destPoint:Point — Punkt wewnątrz obrazu docelowego (obecna instancja BitmapData) odpowiadający górnemu lewemu narożnikowi prostokąta.
 
randomSeed:int (default = 0) — Wartość początkowa generatora liczb pseudolosowych używana do rozpoczęcia rozpuszczania na poziomie pikseli.
 
numPixels:int (default = 0) — Domyślna wartość to 1/30 obszaru źródłowego (szerokość x wysokość).
 
fillColor:uint (default = 0) — Wartość koloru ARGB wykorzystywana do wypełnienia pikseli, których wartość źródłowa jest równa docelowej.

Zwraca
int — Nowa wartość początkowa generatora liczb pseudolosowych do wykorzystania w kolejnych wywołaniach.

Zgłasza
TypeError — Właściwości sourceBitmapData, sourceRect lub destPoint mają wartość null.
 
TypeError — Właściwość numPixels ma wartość ujemną.

Przykład  ( Sposób korzystania z tego przykładu )

Poniższy przykład ilustruje zastosowanie metody pixelDissolve() w celu konwersji szarego obiektu BitmapData na kolor czerwony poprzez rozpuszczanie 40 pikseli w danym momencie, do czasu zmiany kolorów przez wszystkie piksele:
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

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 9, AIR 1.0

Przewija obraz o określoną ilość (x, y) pikseli. Obszary krawędzi poza polem przewijania są pozostawione bez zmian.

Parametry

x:int — Stopień przewinięcia w poziomie.
 
y:int — Stopień przewinięcia w pionie.


Przykład  ( Sposób korzystania z tego przykładu )

Poniższy przykład ilustruje efekt przewijania obiektu danych Bitmap o 40 pikseli w prawą stronę.
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

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 9, AIR 1.0, Flash Lite 4

Ustawia pojedynczy piksel obiektu BitmapData. Obecna wartość kanału alpha pikseli obrazu jest zachowana w trakcie tej operacji. Parametr wartości RGB koloru jest traktowany jako wartość nieprzemnożona koloru.

Uwaga: W celu podwyższenia wydajności w trakcie wielokrotnego korzystania z metod setPixel() i setPixel32() pomocne jest wywołanie metody lock() przed wywołaniem metody setPixel() i setPixel32() oraz wywołanie unlock() po dokonaniu zmian piksela. Proces ten zapobiega aktualizacji obiektów odwołujących się do instancji BitmapData zanim nie zostanie zakończone wprowadzanie zmian piksela.

Parametry

x:int — Położenie x piksela, którego wartości ulegają zmianie.
 
y:int — Położenie y piksela, którego wartości ulegają zmianie.
 
color:uint — Wynikowy kolor RGB pikseli.

Powiązane elementy interfejsu API


Przykład  ( Sposób korzystania z tego przykładu )

Poniższy przykład ilustruje sposób wykorzystania klasy setPixel() w celu narysowania czerwonej linii w obiekcie BitmapData:
import flash.display.Bitmap;
import flash.display.BitmapData;

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

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

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

setPixel32

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 9, AIR 1.0, Flash Lite 4

Ustawia wartości koloru i przezroczystości alfa jednego piksela w obiekcie typu BitmapData. Metoda ta jest podobna do metody setPixel(); główną różnicą jest fakt, iż metoda setPixel32() pobiera wartość ARGB koloru, która zawiera informację dotyczącą kanału alpha.

Wszystkie piksele obiektu BitmapData są przechowywane jako wstępnie przemnożone wartości kolorów. Wartość wstępnie przemnożona koloru jest wartością kanałów koloru czerwonego, zielonego i niebieskiego przemnożoną przez wartość alpha. Na przykład jeżeli wartość alhpa wynosi 0, wówczas wartości kanałów RGB również wynoszą 0, niezależnie od ich wartości nieprzemnożonych. Tego rodzaju utrata danych może spowodować problemy w trakcie wykonywania operacji. Wszystkie metody BitmapData pobierają i zwracają wartości nieprzemnożone. Reprezentacja pikseli wewnętrznych jest konwertowana z wartości wstępnie przemnożonych do wartości nieprzemnożonych przed zwróceniem jako wartość. W trakcie operacji ustawiania wartość piksela jest wstępnie przemnażana przed ustawieniem surowego piksela obrazu.

Uwaga: W celu podwyższenia wydajności w trakcie wielokrotnego korzystania z metod setPixel() i setPixel32() pomocne jest wywołanie metody lock() przed wywołaniem metody setPixel() i setPixel32() oraz wywołanie unlock() po dokonaniu zmian piksela. Proces ten zapobiega aktualizacji obiektów odwołujących się do instancji BitmapData zanim nie zostanie zakończone wprowadzanie zmian piksela.

Parametry

x:int — Położenie x piksela, którego wartości ulegają zmianie.
 
y:int — Położenie y piksela, którego wartości ulegają zmianie.
 
color:uint — Wynikowy kolor RGB pikseli Jeżeli bitmapa jest nieprzezroczysta, wówczas sekcja przezroczystości alpha wartości koloru jest pomijana.

Powiązane elementy interfejsu API


Przykład  ( Sposób korzystania z tego przykładu )

Poniższy przykład ilustruje sposób wykorzystania klasy setPixel32() w celu narysowania przezroczystej (alpha == 0x60) czerwonej linii w obiekcie BitmapData:
import flash.display.Bitmap;
import flash.display.BitmapData;

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

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

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

setPixels

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 9, AIR 1.0, Flash Lite 4

Konwertuje tablicę bajtów na prostokątny obszar pikseli. Dla każdego piksela metoda ByteArray.readUnsignedInt() jest wywoływana, zaś zwrócona wartość jest zapisana w pikselu. Jeżeli tablica bajtów kończy się przed zapisaniem całego prostokąta, wówczas funkcja jest zwracana. Dane w tablicy bajtów powinny być 32-bitowymi wartościami ARGB pikseli. Wyszukiwanie nie jest przeprowadzane na tablicy bajtów przed lub po odczytaniu pikseli.

Parametry

rect:Rectangle — Określa prostokątny obszar obiektu BitmapData.
 
inputByteArray:ByteArray — Obiekt ByteArray składa się z 32-bitowych nieprzemnożonych wartości pikseli do wykorzystania w obszarze prostokątnym.


Zgłasza
EOFError — Obiekt inputByteArray nie zawiera dość danych do wypełnienia prostokąta rect. Metoda wypełnia maksymalną możliwą ilość pikseli przed zgłoszeniem wyjątku.
 
TypeError — Właściwości rect lub inputByteArray mają wartość null.

Powiązane elementy interfejsu API


Przykład  ( Sposób korzystania z tego przykładu )

W poniższych przykładach zilustrowane jest wykorzystanie metod getPixels() oraz setPixels() w celu skopiowania pikseli z jednego obiektu BitmapData do drugiego:
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

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10, AIR 1.5, Flash Lite 4

Przekształca obiekt Vector w prostokątny region danych pikselowych. Dla każdego piksela odczytywany jest element tablicy Vector, który następnie zapisywany jest do piksela w obiekcie BitmapData. Dane w tablicy Vector powinny być 32-bitowymi wartościami ARGB pikseli.

Parametry

rect:Rectangle — Określa prostokątny obszar obiektu BitmapData.
 
inputVector:Vector.<uint> — Obiekt Vector składa się z 32-bitowych nieprzemnożonych wartości pikseli do wykorzystania w obszarze prostokątnym.


Zgłasza
RangeError — Tablica Vector jest zbyt mała, by pomieścić wszystkie odczytane dane pikseli.

threshold

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 9, AIR 1.0

Testuje wartości pikseli obrazu ze względu na określony próg i określa nowe wartości kolorów pikseli zweryfikowanych pozytywnie. Poprzez zastosowanie metody threshold() możliwe jest izolowanie oraz zamiana zakresów kolorów w obrazie oraz przeprowadzenie innych operacji logicznych na pikselach obrazu.

Logika testów metody threshold() przedstawia się następująco:

  1. Jeżeli ((pixelValue & maska) operacja (próg & maska)), wówczas piksel jest ustawiany zgodnie z właściwością color;
  2. W innym przypadku, gdy copySource == true, wówczas piksel jest ustawiany na odpowiadającą wartość pikseli z właściwości sourceBitmap.

Parametr operation określa operatora porównania do wykorzystania w teście progowym. Przykładowo, zastosowanie operatora "==" jako parametru operation możliwa jest izolacja określonej wartości koloru na obrazie. Również poprzez wykorzystanie parametru {operation: "<", mask: 0xFF000000, threshold: 0x7F000000, color: 0x00000000} możliwe jest ustawienie wszystkich pikseli docelowych na pełną przezroczystość w przypadku, gdy wartość alpha pikseli obrazu źródłowego wynosi mniej niż 0x7F. Można wykorzystać tą technikę przy przejściach animowanych i innych efektach.

Parametry

sourceBitmapData:BitmapData — Wejściowy obraz bitmapowy do użycia. Obrazem źródłowym może być inny obiekt BitmapData lub może się on odwoływać do obecnej instancji BitmapData.
 
sourceRect:Rectangle — Prostokąt definiujący obszar obrazu źródłowego do wykorzystania jako materiał do wprowadzenia.
 
destPoint:Point — Punkt wewnątrz obrazu docelowego (obecna instancja BitmapData) odpowiadający górnemu lewemu narożnikowi prostokąta.
 
operation:String — Jeden z następujących operatorów, podany jako obiekt String: "<", "<=", ">", ">=", "==", "!="
 
threshold:uint — Wartość, względem której testowany jest każdy piksel w celu ustalenia, czy spełniony bądź przekroczony został próg.
 
color:uint (default = 0) — Wartość koloru, na którą piksel został ustawiony po pomyślnej weryfikacji testu progowego. Wartość domyślna to 0x00000000.
 
mask:uint (default = 0xFFFFFFFF) — Maska do wykorzystania w celu izolacji składników koloru.
 
copySource:Boolean (default = false) — Jeżeli wartość true, wówczas wartości pikseli z obrazu źródłowego są kopiowane do docelowego, gdy test progowy zakończy się niepowodzeniem. Jeżeli wartość false, wówczas obraz źródłowy nie jest kopiowany, gdy test progowy zakończy się niepowodzeniem.

Zwraca
uint — Liczba zmienionych pikseli.

Zgłasza
TypeError — Właściwości sourceBitmapData, sourceRect, destPoint lub operation mają wartość null.
 
ArgumentError — Ciąg znaków operacji nie jest prawidłową operacją.

Przykład  ( Sposób korzystania z tego przykładu )

Poniższy przykład ilustruje zastosowanie metody perlinNoise() w celu dodania niebiesko-czerwonego wzoru do jednego obiektu BitmapData, a następnie wykorzystanie metody threshold() w celu skopiowania tych pikseli z pierwszego obiektu BitmapData to drugiego, z zastąpieniem pikseli o wartości koloru czerwonego większej niż 0x80 (50%) pikselami ustawionymi na przezroczysty kolor czerwony (0x20FF0000):
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.BitmapDataChannel;
import flash.geom.Point;
import flash.geom.Rectangle;

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

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

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

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

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

unlock

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 9, AIR 1.0

Odblokowuje obraz, co powoduje, że wszelkie obiekty odwołujące się do obiektu BitmapData, np. obiekty Bitmap, są aktualizowane w odpowiedzi na zmiany obiektu BitmapData. W celu podwyższenia wydajności należy stosować tą metodę wraz z metodą lock() przed i po wielokrotnych wywołaniach do metody setPixel() i setPixel32().

Parametry

changeRect:Rectangle (default = null) — Zmieniony obszar obiektu BitmapData. Jeżeli nie jest zdefiniowana wartość dla tego parametru, wówczas cały obszar obiektu BitmapData jest uznany za zmieniony. Ten parametr wymaga aplikacji Flash Player w wersji 9.0.115.0 lub nowszej.

Powiązane elementy interfejsu API


Przykład  ( Sposób korzystania z tego przykładu )

Poniższy przykład ilustruje tworzenie obiektu BitmapData w oparciu o właściwość bitmapData obiektu Bitmap picture. Następnie wywoływana jest metoda lock() przed wywołaniem skomplikowanej funkcji własnej complexTransformation(), która modyfikuje obiekt BItmapData. (Obiekt picture oraz funkcja complexTransformation() nie są zdefiniowane w tym przykładzie.) Nawet w przypadku gdy funkcja complexTransformation() aktualizuje właściwość bitmapData obiektu picture, zmiany nie są odzwierciedlone do momentu wywołania metody unlock() obiektu bitmapData.
import flash.display.BitmapData;

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

Poniższy przykład ilustruje wykorzystanie klasy BitmapDataExample w celu załadowania obrazu Image.gif do obiektu DisplayObject w domyślnym położeniu (0, 0). Kopia obrazu Image.gif jest wówczas umieszczana na prawo od oryginału, w którym zastosowano nowe kolory wobec pikseli, które zostały zweryfikowane pozytywnie przy użyciu metody threshold(). Zadanie to jest przeprowadzane poprzez wykonanie następujących kroków:
  1. Tworzona jest właściwość url, która jest miejscem położenia oraz nazwą pliku obrazu.
  2. Konstruktor klas tworzy obiekt Loader, który z kolei tworzy instancję detektora zdarzeń, zaś ten jest wywoływany gdy metoda completeHandler() zakończy manipulację obrazu.
  3. Obiekt URLRequest request jest następnie przekazywany do metody loader.load(), który ładuje obraz poprzez wykorzystanie obiektu wyświetlania.
  4. Obraz jest wówczas umieszczany na liście wyświetlania, która wyświetla obraz na ekranie na współrzędnych x = 0, y = 0.
  5. Metoda completeHandler() przeprowadza wówczas następujące zadania.
    • Tworzy drugi obiekt Loader, wraz z obiektem Bitmap, który jest inicjalizowany przy pomocy obiektu Loader.
    • Tworzy dugi obiekt Bitmap duplicate, który z kolei wywołuje metodę duplicateImage(), tworzącą duplikat oryginalnego obrazu.
    • Tworzy obiekt BitmapData, który jest powiązany z obiektem duplicate obiektu BitmapData.
    • Tworzy nowy obiekt Rectangle inicjalizowany z tymi samymi współrzędnymi, szerokością i wysokością jak obraz oryginalny.
    • Tworzy nowy obiekt Point, którego współrzędne domyślne to x = 0, y = 0.
    • Tworzy następujące zmienne:
      • operation — Stosuje nowy kolor, gdy wartość progowa jest większa lub równa oryginałowi.
      • threshold — Wartość, wobec której każdy piksel jest porównywany (w tym przykładzie jest ustawiona na kolor jasnoszary z wartością alpha 0xCC).
      • color — kolor, na który zostaną ustawione piksele spełniające warunek progowy; w tym wypadku jest to jednolity kolor żółty.
      • mask — Kolor dokładnie przeciwny (przezroczysty kolor niebieski).
      • copySource — Ustawiona na wartość false wskazuje, iż wartości pikseli nie są kopiowane w przypadku, gdy wartość progowa nie zostanie zweryfikowana pozytywnie. Ta wartość nie ma znaczenia, ponieważ obraz jest zduplikowany i wyłącznie piksele które zostały pozytywnie zweryfikowane w teście progowym są zmieniane.
    • Wywołuje metodę threshold() wykorzystując powyższe zmienne. Końcowe równanie progowe wygląda następująco: jeżeli (obecna wartość pikseli & 0x000000FF) >= (0xCCCCCCCC & 0x000000FF) wówczas ustaw wartość pikseli na 0xFFFFFF00.

Uwagi:

  • Plik SWF musi być skompilowany z zabezpieczeniem odtwarzania lokalnego ustawionym na tylko do pliki dostępne lokalnie.
  • Dla zilustrowania tego przykładu konieczne jest umieszczenie pliku o nazwie Image.gif w tym samym katalogu, w którym znajduje się plik SWF.
  • Zalecane jest wykorzystanie obrazu o szerokości do 80 pikseli.

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 ]Dlaczego język angielski?
Treść dokumentacji języka ActionScript 3.0 wyświetlana w języku angielskim

Niektóre części dokumentacji języka ActionScript 3.0 nie są przetłumaczone na poszczególne języki. Gdy element nie jest przetłumaczony na dany język, jest wyświetlany tekst angielski. Na przykład opis klasy ga.controls.HelpBox nie jest przetłumaczony na żaden dodatkowy język. Z tego powodu polska wersja dokumentacji zawiera opis klasy ga.controls.HelpBox w języku angielskim.