Adobe® Flash® Platform 用 ActionScript® 3.0 リファレンスガイド
ホーム  |  パッケージおよびクラスリストの非表示 |  パッケージ  |  クラス  |  新機能  |  索引  |  付録  |  英語で表示される理由
フィルター: AIR 30.0 以前, Flash Player 30.0 以前, Flash Lite 4
Flex 4.6 以前, Flash Pro CS6 以前
フィルターを非表示
flash.display 

BitmapData  - AS3

パッケージx

トップレベル
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

言語エレメント

グローバル定数
グローバル関数
演算子
ステートメント、キーワード、ディレクティブ
特殊な型

付録

新機能
コンパイルエラー
コンパイラー警告
ランタイムエラー
ActionScript 3 への移行
サポートされている文字セット
MXML のみのタグ
モーション XML エレメント
Timed Text タグ
使用されなくなったエレメントのリスト
Accessibility Implementation 定数
ActionScript の例の使用方法
法律上の注意
パッケージflash.display
クラスpublic class BitmapData
継承BitmapData Inheritance Object
実装 IBitmapDrawable

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 9, AIR 1.0, Flash Lite 4

BitmapData クラスを使用すると、Bitmap オブジェクトのデータ (ピクセル) を処理できます。BitmapData クラスのメソッドを使用して、任意のサイズの透明または不透明のビットマップイメージを作成し、実行時に様々な方法で操作できます。さらに、flash.display.Loader クラスを使ってロードされるビットマップイメージの BitmapData にアクセスすることもできます。

このクラスを使用すると、ビットマップのレンダリング処理を Flash Player 内部の表示更新ルーチンから分離できます。BitmapData オブジェクトを直接操作することで複雑なイメージを作成できるので、ベクターデータのコンテンツを連続的に再描画するフレーム単位のオーバーヘッドを避けることができます。

BitmapData クラスのメソッドは、(ビットマップ以外の表示オブジェクトでは使用可能な)フィルターを使って設定できないような効果をサポートします。

BitmapData オブジェクトには、ピクセルデータの配列が含まれています。このデータは、完全に不透明なビットマップ、またはアルファチャンネルデータを含む透明なビットマップを表現できます。いずれの種類の BitmapData オブジェクトも 32 bit 整数のバッファーとして保存されます。各 32 bit 整数は、ビットマップ内の 1 つのピクセルのプロパティを決定します。

各 32 bit 整数は、アルファ透明度とピクセルの赤緑青(ARGB)の値を表す 4 つの 8 bit チャンネル値(0 ~ 255)の組み合わせです。(ARGB 値では、最上位バイトがアルファチャンネル値を表し、続いて赤、緑、青を表します)。

この 4 つのチャンネル(アルファ、赤、緑、青)は、BitmapData.copyChannel() メソッド、または DisplacementMapFilter.componentX および DisplacementMapFilter.componentY プロパティで使用する場合に数値として表されます。これらの数値は、BitmapDataChannel クラスの次の定数によって表されます。

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

Bitmap オブジェクトの bitmapData プロパティを使用すると、BitmapData オブジェクトを Bitmap オブジェクトに関連付けることができます。

Graphics.beginBitmapFill() メソッドを使用すると、BitmapData オブジェクトを使って Graphics オブジェクトを塗りつぶすことができます。

AIR ランタイムでは、DockIcon、Icon、InteractiveIcon、SystemTrayIcon の各クラスが、アイコンのビットマップイメージを定義する BitmapData オブジェクトの配列である bitmaps プロパティを含んでいます。

AIR 1.5 および Flash Player 10 では、BitmapData オブジェクトの最大サイズは幅または高さで 8,191 ピクセルです。総ピクセル数が 16,777,215 ピクセルを超えることはできません。(したがって、BitmapData オブジェクトの幅が 8,191 ピクセルであった場合、高さは 2,048 ピクセルまでしか指定できません)。Flash Player 9 以前および AIR 1.1 以前では、制限は高さ 2,880 ピクセル、幅 2,880 ピクセルです。

AIR 3 および Flash Player 11 以降では、BitmapData オブジェクトのサイズの制限はなくなりました。ビットマップの最大サイズはオペレーティングシステムに依存します。

BitmapData オブジェクトのいずれかのメソッドやプロパティを呼び出したときに、BitmapData オブジェクトが無効なものであった場合(例えば height == 0 かつ width == 0 の場合)や、dispose() で既に破棄されたものであった場合は、ArgumentError エラーがスローされます。

例を表示

関連する API エレメント



パブリックプロパティ
 プロパティ定義元
 Inheritedconstructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクター関数への参照です。
Object
  height : int
[読み取り専用] ビットマップイメージの高さ(ピクセル単位)です。
BitmapData
  rect : Rectangle
[読み取り専用] ビットマップイメージのサイズと位置を定義する矩形です。
BitmapData
  transparent : Boolean
[読み取り専用] ビットマップイメージがピクセル単位の透明度をサポートするかどうかを定義します。
BitmapData
  width : int
[読み取り専用] ビットマップイメージの幅(ピクセル単位)です。
BitmapData
パブリックメソッド
 メソッド定義元
  
BitmapData(width:int, height:int, transparent:Boolean = true, fillColor:uint = 0xFFFFFFFF)
指定された幅と高さで BitmapData オブジェクトを作成します。
BitmapData
  
applyFilter(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, filter:BitmapFilter):void
ソースイメージとフィルターオブジェクトを受け取り、フィルターを適用して得られるイメージを生成します。
BitmapData
  
新しい BitmapData オブジェクトとして、元のインスタンスのクローンを返します。含まれるビットマップはまったく同じコピーになります。
BitmapData
  
ColorTransform オブジェクトを使用して、ビットマップイメージの特定領域のカラー値を調整します。
BitmapData
  
compare(otherBitmapData:BitmapData):Object
2 つの BitmapData オブジェクトを比較します。
BitmapData
  
copyChannel(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, sourceChannel:uint, destChannel:uint):void
別の BitmapData オブジェクトまたは現在の BitmapData オブジェクトの 1 つのチャンネルのデータを、現在の BitmapData オブジェクトのチャンネルに転送します。
BitmapData
  
copyPixels(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, alphaBitmapData:BitmapData = null, alphaPoint:Point = null, mergeAlpha:Boolean = false):void
イメージ間のピクセル操作(伸長、回転、カラー効果なし)を高速に実行するルーチンを提供します。
BitmapData
  
ピクセルデータの矩形領域からバイト配列を入力します。
BitmapData
  
BitmapData オブジェクトの格納に使用されるメモリを解放します。
BitmapData
  
draw(source:IBitmapDrawable, matrix:Matrix = null, colorTransform:flash.geom:ColorTransform = null, blendMode:String = null, clipRect:Rectangle = null, smoothing:Boolean = false):void
Flash ランタイムのベクターレンダラーを使用して、source 表示オブジェクトをビットマップイメージ上に描画します。
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
Flash ランタイムのベクターレンダラーを使用して、source 表示オブジェクトをビットマップイメージ上に描画します。
BitmapData
  
encode(rect:Rectangle, compressor:Object, byteArray:ByteArray = null):ByteArray
選択したコンプレッサアルゴリズムを使用してこの BitmapData オブジェクトを圧縮し、新しい ByteArray オブジェクトを返します。
BitmapData
  
指定された ARGB カラーで矩形領域のピクセルを塗りつぶします。
BitmapData
  
floodFill(x:int, y:int, color:uint):void
(x, y) 座標を始点として所定の色で塗りつぶすことにより、イメージに対する塗りつぶし処理を実行します。
BitmapData
  
BitmapData オブジェクト、ソース矩形、フィルターオブジェクトを指定して、applyFilter() メソッド呼び出しによって影響を受けるターゲット矩形を決定します。
BitmapData
  
getColorBoundsRect(mask:uint, color:uint, findColor:Boolean = true):Rectangle
(findColor パラメーターが true に設定されている場合)ビットマップイメージ内の指定された色のすべてのピクセルを完全に囲む矩形領域を判別します。または、(findColor パラメーターが false に設定されている場合)指定された色ではないすべてのピクセルを完全に囲む矩形領域を判別します。
BitmapData
  
BitmapData オブジェクトの特定ポイント (x, y) の RGB ピクセル値を表す整数を返します。
BitmapData
  
アルファチャンネルデータと RGB データを含む ARGB カラー値を返します。
BitmapData
  
ピクセルデータの矩形領域からバイト配列を生成します。
BitmapData
  
ピクセルデータの矩形領域からベクター配列を生成します。
BitmapData
 Inherited
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
  
BitmapData オブジェクトの 256 値のバイナリ数のヒストグラムを計算します。
BitmapData
  
hitTest(firstPoint:Point, firstAlphaThreshold:uint, secondObject:Object, secondBitmapDataPoint:Point = null, secondAlphaThreshold:uint = 1):Boolean
1 つのビットマップイメージと、ポイント、矩形、または他のビットマップイメージとの間でピクセルレベルのヒットを検出します。
BitmapData
 Inherited
Object クラスのインスタンスが、パラメーターとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
  
この BitmapData オブジェクトが変更されたときに、BitmapData オブジェクトを参照するすべてのオブジェクト(例えば Bitmap オブジェクト)が更新されないように、イメージをロックします。
BitmapData
  
merge(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, redMultiplier:uint, greenMultiplier:uint, blueMultiplier:uint, alphaMultiplier:uint):void
ソースイメージとターゲットイメージをチャンネルごとにブレンドします。
BitmapData
  
noise(randomSeed:int, low:uint = 0, high:uint = 255, channelOptions:uint = 7, grayScale:Boolean = false):void
ランダムノイズを表すピクセルでイメージを塗りつぶします。
BitmapData
  
paletteMap(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, redArray:Array = null, greenArray:Array = null, blueArray:Array = null, alphaArray:Array = null):void
最大で 4 つのカラーパレットデータ配列(各チャンネルごとに 1 つの配列)を使用して、イメージ内のカラーチャンネル値をマッピングし直します。
BitmapData
  
perlinNoise(baseX:Number, baseY:Number, numOctaves:uint, randomSeed:int, stitch:Boolean, fractalNoise:Boolean, channelOptions:uint = 7, grayScale:Boolean = false, offsets:Array = null):void
Perlin ノイズイメージを生成します。
BitmapData
  
pixelDissolve(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, randomSeed:int = 0, numPixels:int = 0, fillColor:uint = 0):int
ソースイメージからターゲットイメージへのピクセルディゾルブ、または同じイメージを使用したピクセルディゾルブを実行します。
BitmapData
 Inherited
指定されたプロパティが存在し、列挙できるかどうかを示します。
Object
  
所定の (x, y) ピクセル量だけイメージをスクロールします。
BitmapData
  
setPixel(x:int, y:int, color:uint):void
BitmapData オブジェクトの 1 つのピクセルを設定します。
BitmapData
  
setPixel32(x:int, y:int, color:uint):void
BitmapData オブジェクトの 1 つのピクセルにカラー値とアルファ透明度を設定します。
BitmapData
  
setPixels(rect:Rectangle, inputByteArray:ByteArray):void
バイト配列をピクセルデータの矩形領域に変換します。
BitmapData
 Inherited
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
  
setVector(rect:Rectangle, inputVector:Vector.<uint>):void
Vector をピクセルデータの矩形領域に変換します。
BitmapData
  
threshold(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, operation:String, threshold:uint, color:uint = 0, mask:uint = 0xFFFFFFFF, copySource:Boolean = false):uint
指定されたしきい値と比較してイメージ内のピクセル値をテストし、テストに適合したピクセルに新しいカラー値を設定します。
BitmapData
 Inherited
ロケール固有の規則に従って書式設定された、このオブジェクトのストリング表現を返します。
Object
 Inherited
指定されたオブジェクトのストリング表現を返します。
Object
  
unlock(changeRect:Rectangle = null):void
この BitmapData オブジェクトが変更されたときに、BitmapData オブジェクトを参照するすべてのオブジェクト(例えば Bitmap オブジェクト)が更新されるように、イメージをロック解除します。
BitmapData
 Inherited
指定されたオブジェクトのプリミティブな値を返します。
Object
プロパティの詳細

height

プロパティ
height:int  [読み取り専用]

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 9, AIR 1.0, Flash Lite 4

ビットマップイメージの高さ(ピクセル単位)です。



実装
    public function get height():int

rect

プロパティ 
rect:Rectangle  [読み取り専用]

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 9, AIR 1.0, Flash Lite 4

ビットマップイメージのサイズと位置を定義する矩形です。矩形の上端と左端は 0 になります。幅と高さは、BitmapData オブジェクトのピクセルの幅および高さと等しくなります。



実装
    public function get rect():Rectangle

transparent

プロパティ 
transparent:Boolean  [読み取り専用]

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 9, AIR 1.0, Flash Lite 4

ビットマップイメージがピクセル単位の透明度をサポートするかどうかを定義します。この値を設定できるのは、true を、コンストラクターの transparent パラメーターに渡すことによって BitmapData オブジェクトを作成する場合だけです。BitmapData オブジェクトを作成した後、transparent プロパティの値が true であるかどうかを確認することにより、このオブジェクトがピクセルごとの透明度をサポートするかどうかを検査できます。



実装
    public function get transparent():Boolean

width

プロパティ 
width:int  [読み取り専用]

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 9, AIR 1.0, Flash Lite 4

ビットマップイメージの幅(ピクセル単位)です。



実装
    public function get width():int
コンストラクターの詳細

BitmapData

()コンストラクター
public function BitmapData(width:int, height:int, transparent:Boolean = true, fillColor:uint = 0xFFFFFFFF)

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 9, AIR 1.0, Flash Lite 4

指定された幅と高さで BitmapData オブジェクトを作成します。fillColor パラメーターに値を指定した場合、ビットマップのすべてのピクセルにその色が設定されます。

falsetransparent パラメーターに渡さない限り、デフォルトではビットマップが透明として作成されます。不透明のビットマップを作成した後、それを透明のビットマップに変更することはできません。不透明のビットマップに含まれるすべてのピクセルは、24 bit のカラーチャンネル情報だけを使用します。ビットマップを透明に定義した場合、すべてのピクセルは、アルファ透明チャンネルを含む 32 ビットのカラーチャンネル情報を使用します。

AIR 1.5 および Flash Player 10 では、BitmapData オブジェクトの最大サイズは幅または高さで 8,191 ピクセルです。総ピクセル数が 16,777,215 ピクセルを超えることはできません。(したがって、BitmapData オブジェクトの幅が 8,191 ピクセルであった場合、高さは 2,048 ピクセルまでしか指定できません)。Flash Player 9 以前および AIR 1.1 以前では、高さの限界は 2,880 ピクセルで幅の限界は 2,880 ピクセルです。 幅または高さに 2880 より大きい値を指定すると、新しいインスタンスは作成されません。

パラメーター
width:int — ビットマップイメージの幅(ピクセル単位)です。
 
height:int — ビットマップイメージの高さ(ピクセル単位)です。
 
transparent:Boolean (default = true) — ビットマップイメージがピクセル単位の透明度をサポートするかどうかを指定します。デフォルト値は true です(透明)。完全に透明なビットマップを作成するには、transparent パラメーターの値を true に、fillColor パラメーターの値を 0x00000000(または 0)に設定します。transparent プロパティを false に設定すると、レンダリングのパフォーマンスが若干向上することがあります。
 
fillColor:uint (default = 0xFFFFFFFF) — ビットマップイメージ領域を塗りつぶすのに使用する 32 bit ARGB カラー値です。デフォルト値は 0xFFFFFFFF(白)です。

例外
ArgumentError — 幅や高さが最大サイズを超えています。
メソッドの詳細

applyFilter

()メソッド
public function applyFilter(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, filter:BitmapFilter):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 9, AIR 1.0

ソースイメージとフィルターオブジェクトを受け取り、フィルターを適用して得られるイメージを生成します。

このメソッドはビルトインフィルターオブジェクトの動作に依存します(このオブジェクトは、入力ソース矩形によって影響を受けるターゲット矩形を決定します)。

フィルターを適用した後、結果として得られるイメージが入力イメージよりも大きくなることがあります。例えば、BlurFilter クラスを使用してソース矩形 (50,50,100,100) とターゲットポイント (10,10) をぼかすと、ターゲットイメージで変更される領域は、ぼかしのために、(10,10,60,60) よりも大きくなります。これは、applyFilter() 呼び出し時に内部で発生します。

sourceRect パラメーター(sourceBitmapData パラメーターのパラメーター)が内側領域(200 x 200 のイメージ内の (50,50,100,100) など)である場合、フィルターは、sourceRect パラメーターの外側にあるソースピクセルを使用して、ターゲット矩形を生成します。

sourceBitmapData パラメーターとして指定されたオブジェクトと BitmapData オブジェクトが同じであれば、アプリケーションはオブジェクトの一時コピーを使ってフィルターを実行します。最適なパフォーマンスを得るには、このような状況を避けてください。

パラメーター

sourceBitmapData:BitmapData — 使用する入力ビットマップイメージです。ソースイメージは、別の BitmapData オブジェクトにすることも、現在の BitmapData インスタンスを参照することもできます。
 
sourceRect:Rectangle — 入力として使用するソースイメージの領域を定義する矩形です。
 
destPoint:Point — ソース矩形の左上隅に対応する、ターゲットイメージ(現在の BitmapData インスタンス)内のポイントです。
 
filter:BitmapFilter — フィルター適用処理に使用されるフィルターオブジェクトです。それぞれの種類のフィルターには、次のような要件があります。
  • BlurFilter — このフィルターは、透明または不透明なソースイメージとターゲットイメージを使用できます。イメージのフォーマットが一致しない場合、フィルター適用中に作成されるソースイメージのコピーがターゲットイメージのフォーマットに合わせられます。
  • BevelFilter、DropShadowFilter、GlowFilter — これらのフィルターのターゲットイメージは透明イメージでなければなりません。DropShadowFilter または GlowFilter を呼び出すと、ドロップシャドウまたはグローのアルファチャンネルデータを含むイメージが作成されます。ドロップシャドウはターゲットイメージ上に作成されません。これらのフィルターを不透明なターゲットイメージに対して使用すると、例外がスローされます。
  • ConvolutionFilter — このフィルターは、透明または不透明なソースイメージとターゲットイメージを使用できます。
  • ColorMatrixFilter — このフィルターは、透明または不透明なソースイメージとターゲットイメージを使用できます。
  • DisplacementMapFilter — このフィルターは、透明または不透明なソースイメージとターゲットイメージを使用できますが、イメージの形式はソースとターゲットで同じである必要があります。


例外
TypeError — sourceBitmapData、sourceRect、destPoint、または filter が null です。
 
IllegalOperationError — BitmapData オブジェクトの透明度は、フィルター操作と互換性がありません。

関連する API エレメント


例  ( この例の使用方法 )

次の例では、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

()メソッド 
public function clone():BitmapData

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 9, AIR 1.0, Flash Lite 4

新しい BitmapData オブジェクトとして、元のインスタンスのクローンを返します。含まれるビットマップはまったく同じコピーになります。

戻り値
BitmapData — 元のオブジェクトと同一の新しい BitmapData オブジェクトです。

例  ( この例の使用方法 )

次の例は、BitmapData インスタンスのクローンを作成する方法を示しています。さらに、クローンされた BitmapData インスタンスを変更しても、元のインスタンスは変更されないことを示しています。
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

()メソッド 
public function colorTransform(rect:Rectangle, colorTransform:flash.geom:ColorTransform):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 9, AIR 1.0, Flash Lite 4

ColorTransform オブジェクトを使用して、ビットマップイメージの特定領域のカラー値を調整します。矩形がビットマップイメージの境界と一致する場合、このメソッドはイメージ全体のカラー値を変換します。

パラメーター

rect:Rectangle — ColorTransform オブジェクトが適用されるイメージの領域を定義する Rectangle オブジェクトです。
 
colorTransform:flash.geom:ColorTransform — 適用されるカラー変換値を記述する ColorTransform オブジェクトです。


例外
TypeError — rect または colorTransform が null です。

関連する API エレメント


例  ( この例の使用方法 )

次の例は、カラー変換を 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

()メソッド 
public function compare(otherBitmapData:BitmapData):Object

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 9, AIR 1.0, Flash Lite 4

2 つの BitmapData オブジェクトを比較します。2 つの BitmapData オブジェクトのサイズ(幅と高さ)が同じであれば、メソッドは新しい BitmapData オブジェクトを返します。この新しいオブジェクトの各ピクセルは、2 つのソースオブジェクトのピクセル間の「差分」です。

  • 2 つのピクセルが等しい場合、差分ピクセルは 0x00000000 です。
  • 2 つのピクセルの RGB 値(アルファ値は無視)が異なる場合、差分ピクセルは 0xRRGGBB です。ここで、RR/GG/BB は赤、緑、および青の各チャンネル間の個別の差分値(ソースオブジェクトのピクセル値から otherBitmapData オブジェクトのピクセル値を引いた値)を表します。この場合、アルファチャネルの差分は無視されます。
  • アルファチャンネルの値だけが異なる場合、ピクセル値は 0xZZFFFFFF です。ここで、ZZ はアルファ値の差分(ソースオブジェクトのアルファ値から otherBitmapData オブジェクトのアルファ値を引いた値)を表します。

例えば、次のような 2 つの 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
     

注意:2 つの BitmapData オブジェクトを塗りつぶすために使用されるそれぞれの色の RGB 値はわずかに異なります(0xFF0000 と 0xFFAA00)。compare() メソッドの結果として新しい BitmapData オブジェクトが生成され、その各ピクセルは 2 つのビットマップ間の RGB 値の差分を示します。

次のような 2 つの BitmapData オブジェクトがあるとします。両者の RGB カラーは同じですが、アルファ値は異なります。

     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
     

compare() メソッドの結果として新しい BitmapData オブジェクトが生成され、その各ピクセルは 2 つのビットマップ間のアルファ値の差分を示します。

BitmapData オブジェクトが等しい(幅、高さおよびピクセル値が同じ)場合、このメソッドは数値 0 を返します。

BitmapData オブジェクトの幅が等しくない場合、このメソッドは数値 -3 を返します。

BitmapData オブジェクトの高さが等しくない場合、幅が同じであれば、このメソッドは数値 -4 を返します。

次の例では、幅の異なる 2 つの Bitmap オブジェクトを比較します(それぞれの幅は 50 と 60)。

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

パラメーター

otherBitmapData:BitmapData — ソース BitmapData オブジェクトと比較される BitmapData オブジェクトです。

戻り値
Object — 2 つの BitmapData オブジェクトのサイズ(幅と高さ)が同じであれば、このメソッドは、2 つのオブジェクト間の差分を示す新しい BitmapData オブジェクトを返します(主な説明の項を参照してください)。2 つの BitmapData オブジェクトが等しい場合、このメソッドは数値 0 を返します。BitmapData オブジェクトの幅が等しくない場合、メソッドは数値 -3 を返します。BitmapData オブジェクトの高さが等しくない場合、メソッドは数値 -4 を返します。

例外
TypeError — otherBitmapData が null です。

例  ( この例の使用方法 )

次の例では、同じサイズの 2 つの BitmapData オブジェクトを比較した結果であるピクセル値が BitmapData オブジェクトの中に含まれます。
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

()メソッド 
public function copyChannel(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, sourceChannel:uint, destChannel:uint):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 9, AIR 1.0, Flash Lite 4

別の BitmapData オブジェクトまたは現在の BitmapData オブジェクトの 1 つのチャンネルのデータを、現在の BitmapData オブジェクトのチャンネルに転送します。ターゲット BitmapData オブジェクト内のその他のチャンネルのデータはすべて保たれます。

ソースチャンネルの値とターゲットチャンネルの値は、次のいずれかになります。

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

パラメーター

sourceBitmapData:BitmapData — 使用する入力ビットマップイメージです。ソースイメージは、別の BitmapData オブジェクトにすることも、現在の BitmapData オブジェクトを参照することもできます。
 
sourceRect:Rectangle — ソース側の Rectangle オブジェクトです。ビットマップ内のより小さな領域のチャンネルデータだけをコピーするには、BitmapData オブジェクトのサイズ全体よりも小さいソース矩形を指定します。
 
destPoint:Point — 新しいチャンネルデータが配置される矩形領域の左上隅を表すターゲット Point オブジェクトです。ある特定の領域のチャンネルデータだけをターゲットイメージ内の別の領域にコピーするには、(0,0) 以外のポイントを指定します。
 
sourceChannel:uint — ソースチャンネルです。BitmapDataChannel クラスの値(BitmapDataChannel.REDBitmapDataChannel.BLUEBitmapDataChannel.GREENBitmapDataChannel.ALPHA)を使用します。
 
destChannel:uint — ターゲットチャンネルです。BitmapDataChannel クラスの値(BitmapDataChannel.REDBitmapDataChannel.BLUEBitmapDataChannel.GREENBitmapDataChannel.ALPHA)を使用します。


例外
TypeError — sourceBitmapData、sourceRect、または destPoint が null です。

関連する API エレメント


例  ( この例の使用方法 )

次の例は、BitmapData オブジェクト内の赤チャンネルを、20×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

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

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 9, AIR 1.0, Flash Lite 4

イメージ間のピクセル操作(伸長、回転、カラー効果なし)を高速に実行するルーチンを提供します。このメソッドは、ソースイメージの矩形領域を、ターゲット BitmapData オブジェクトのターゲットポイントにある同じサイズの矩形領域にコピーします。

alphaBitmap パラメーターと alphaPoint パラメーターを含めれば、2 番目のイメージをソースイメージのアルファソースとして使用できます。ソースイメージにアルファデータがある場合、両方のアルファデータセットを使用して、ソースイメージのピクセルがソースイメージ上に合成されます。alphaPoint パラメーターは、アルファイメージ内のポイントであり、ソース側矩形の左上隅に対応するものです。ソースイメージとアルファイメージが交わらない部分のピクセルは、ターゲットイメージにコピーされません。

mergeAlpha プロパティは、透明なイメージを別の透明なイメージにコピーするときにアルファチャンネルを使用するかどうかを制御します。アルファチャンネルを使用してピクセルをコピーするには、mergeAlpha プロパティを true に設定します。mergeAlpha プロパティのデフォルト値は false です。

パラメーター

sourceBitmapData:BitmapData — ピクセルのコピー元となる入力ビットマップイメージです。ソースイメージは、別の BitmapData インスタンスにすることも、現在の BitmapData インスタンスを参照することもできます。
 
sourceRect:Rectangle — 入力として使用するソースイメージの領域を定義する矩形です。
 
destPoint:Point — ターゲットポイントです。新しいピクセルが配置される矩形領域の左上隅を表します。
 
alphaBitmapData:BitmapData (default = null) — 第 2 のアルファ BitmapData オブジェクトソースです。
 
alphaPoint:Point (default = null) — アルファ BitmapData オブジェクトソース内のポイントです。sourceRect パラメーターの左上隅に対応します。
 
mergeAlpha:Boolean (default = false) — アルファチャンネルを使用するには、値を true に設定します。アルファチャンネルを使用せずにピクセルをコピーするには、値を false に設定します。


例外
TypeError — sourceBitmapData、sourceRect または destPoint が null です。

例  ( この例の使用方法 )

次の例は、1 つの BitmapData オブジェクト内のピクセルを、20×20 ピクセル領域にわたって別の BitmapData オブジェクトにコピーする方法を示しています。
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.geom.Rectangle;
import flash.geom.Point;

var bmd1:BitmapData = new BitmapData(40, 40, false, 0x000000FF);
var bmd2:BitmapData = new BitmapData(80, 40, false, 0x0000CC44);

var rect:Rectangle = new Rectangle(0, 0, 20, 20);
var pt:Point = new Point(10, 10);
bmd2.copyPixels(bmd1, rect, pt);

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

copyPixelsToByteArray

()メソッド 
public function copyPixelsToByteArray(rect:Rectangle, data:ByteArray):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 11.4, AIR 3.4

ピクセルデータの矩形領域からバイト配列を入力します。このメソッドは、ByteArray の position インテックスから開始して、各ピクセルごとに、符号なし整数(32 ビットの乗算されないピクセル値)をバイト配列に書き込みます。必要に応じて、バイト配列のサイズは、すべてのピクセルデータを保持するのに必要なバイト数まで増加されます。

パラメーター

rect:Rectangle — 現在の BitmapData オブジェクト内の矩形領域です。
 
data:ByteArray — ターゲット ByteArray オブジェクト。


例外
TypeError rect 引数が null の場合または data 引数が null の場合

関連する API エレメント

dispose

()メソッド 
public function dispose():void

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 9, AIR 1.0, Flash Lite 4

BitmapData オブジェクトの格納に使用されるメモリを解放します。

dispose() メソッドをイメージに対して呼び出すと、イメージの高さと幅が 0 に設定されます。それ以降、この BitmapData インスタンスのメソッドまたはプロパティを呼び出すと失敗し、例外がスローされます。

BitmapData.dispose() は、実際のビットマップデータが占めていたメモリ領域を即時に解放します(ビットマップは最大で 64MB のメモリ領域を使用します)。BitmapData.dispose() を使用した後は BitmapData オブジェクトを使用できなくなり、BitmapData オブジェクトに対して関数を呼び出すと、Flash ランタイムから例外が返されます。ただし、BitmapData.dispose() では BitmapData オブジェクト(約 128 バイト)のガベージコレクションは行われません。実際の BitmapData オブジェクトが占めていたメモリ領域は、ガベージコレクターによって BitmapData オブジェクトが回収された時点で解放されます。

関連する API エレメント


例  ( この例の使用方法 )

次の例は、dispose() メソッドに対する呼び出し(例外がスロー)の後、BitmapData オブジェクトを呼び出したときの効果を示しています。
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

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

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 9, AIR 1.0, Flash Lite 4

Flash ランタイムのベクターレンダラーを使用して、source 表示オブジェクトをビットマップイメージ上に描画します。matrixcolorTransformblendMode、およびターゲット clipRect パラメーターを指定することにより、レンダリングの実行方法を制御できます。さらに、必要に応じて、拡大 / 縮小時にビットマップのスムージングを行うかどうかを指定することもできます(これはソースオブジェクトが BitmapData オブジェクトの場合にのみ可能です)。

注意:drawWithQuality() メソッドの動作は draw() メソッドと同様ですが、ベクターレンダリングの品質の指定に Stage.quality プロパティを使用する代わりに、drawWithQuality() メソッドに対して quality パラメーターを指定します。

このメソッドは、オーサリングツールインターフェイスにおいてオブジェクトに対して標準ベクターレンダラーを使ってオブジェクトを描画する方法に直接対応します。

ソース表示オブジェクトは、この呼び出しで適用される変換を使用しません。ライブラリやファイル内に存在するように処理され、マトリックス変換、カラー変換、ブレンドモードはありません。変換プロパティを使って(ムービークリップなどの)表示オブジェクトを描画するには、transform プロパティオブジェクトを、BitmapData オブジェクトを使用する Bitmap オブジェクトの transform プロパティにコピーすることができます。

このメソッドは、Flash Player 9.0.115.0 以降および Adobe AIR の RTMP でサポートされます。サーバーサイドスクリプトで、Flash Media Server 上のストリームへのアクセスを制御することができます。詳しくは、Client.audioSampleAccess プロパティおよび Client.videoSampleAccess プロパティのトピック(「Adobe Flash Media Server サーバーサイド ActionScript リファレンスガイド」)を参照してください。

ソースオブジェクトと(Sprite または MovieClip オブジェクトの場合)その子オブジェクトすべてが、呼び出し元の同一のドメインから来たのではない場合、または Security.allowDomain() メソッドを呼び出したことによって呼び出し元にアクセス可能なコンテンツ内に存在しない場合、draw() への呼び出しは SecurityError 例外をスローします。この制限事項はアプリケーションセキュリティサンドボックス内の AIR コンテンツには適用されません。

ロードされたビットマップイメージの source としての使用にも制限があります。ロードされたイメージが呼び出し元と同じドメインに存在していた場合、draw() メソッドの呼び出しは成功します。また、イメージのサーバー上のクロスドメインポリシーファイルで、draw() メソッドを呼び出す SWF コンテンツのドメインに対して許可を与えることもできます。この場合、LoaderContext オブジェクトの checkPolicyFile プロパティを設定し、このオブジェクトを context パラメーターとして、イメージのロードに使用する Loader オブジェクトの load() メソッドを呼び出すときに使用する必要があります。これらの制限は、アプリケーションセキュリティサンドボックス内の AIR コンテンツには適用されません。

Windows では、draw() メソッドは Adobe AIR の HTMLLoader オブジェクトにある HTML ページに組み込まれた SWF コンテンツをキャプチャできません。

draw() メソッドは Adobe AIR では PDF コンテンツをキャプチャできません。また、wmode 属性が "window" に設定されている HTML に埋め込まれた SWF コンテンツをキャプチャできません(Adobe AIR の場合)

パラメーター

source:IBitmapDrawable — BitmapData オブジェクトに描画される表示オブジェクトまたは BitmapData オブジェクトです (DisplayObject および BitmapData クラスは IBitmapDrawable インターフェイスを実装しています)。
 
matrix:Matrix (default = null) — ビットマップの座標を拡大 / 縮小、回転、または平行移動するために使われる Matrix オブジェクトです。マトリックス変換をイメージに適用したくない場合は、(デフォルト new Matrix() コンストラクターを使って作成される)単位マトリックスにこのパラメーターを設定するか、null 値を渡してください。
 
colorTransform:flash.geom:ColorTransform (default = null) — ビットマップのカラー値を調整するために使用する ColorTransform オブジェクトです。オブジェクトが提供されない場合、ビットマップイメージのカラーは変換されません。このパラメーターを渡す必要があるが、イメージを変換したくない場合、このパラメーターを、デフォルトの new ColorTransform() コンストラクターを使って作成される ColorTransform オブジェクトに設定します。
 
blendMode:String (default = null) — 結果として生成されるビットマップに適用されるブレンドモードを指定する、flash.display.BlendMode クラスのストリング値です。
 
clipRect:Rectangle (default = null) — 描画するソースオブジェクトの領域を定義する矩形オブジェクトです。この値を指定しない場合、クリッピングは発生せず、ソースオブジェクト全体が描画されます。
 
smoothing:Boolean (default = false)matrix パラメーターでの拡大 / 縮小または回転により、拡大 / 縮小時または回転時に BitmapData オブジェクトがスムージングされるかどうかを決定するブール値です。smoothing パラメーターが適用されるのは、source パラメーターが BitmapData オブジェクトである場合のみです。smoothingfalse に設定すると、回転または拡大 / 縮小した BitmapData イメージはピクセル化されたように、またはぎざぎざに表示されます。例えば、次の 2 つのイメージは、source パラメーターの同じ BitmapData オブジェクトを使用していますが、smoothing パラメーターは左の true と右の false に設定されています。

2 つのイメージの左側はスムージングあり、右側はスムージングなしです。

smoothingtrue に設定済み)を使用してビットマップを描画すると、smoothingfalse に設定済み)を使用して描画するより時間がかかります。


例外
ArgumentError source パラメーターが、BitmapData または DisplayObject オブジェクトではありません。
 
SecurityError source オブジェクト、および(Sprite または MovieClip オブジェクトの)すべての子オブジェクトが呼び出し元と同じドメインに属していないか、Security.allowDomain() メソッド呼び出し後に呼び出し元からアクセスできるコンテンツに含まれていません。この制限事項はアプリケーションセキュリティサンドボックス内の AIR コンテンツには適用されません。
 
ArgumentError — source が null であるか、有効な IBitmapDrawable オブジェクトではありません。

関連する API エレメント


例  ( この例の使用方法 )

次の例は、TextField オブジェクトを 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

()メソッド 
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

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 11.3, AIR 3.3

Flash ランタイムのベクターレンダラーを使用して、source 表示オブジェクトをビットマップイメージ上に描画します。matrixcolorTransformblendMode、およびターゲット clipRect パラメーターを指定することにより、レンダリングの実行方法を制御できます。さらに、必要に応じて、拡大 / 縮小時にビットマップのスムージングを行うかどうかを指定することもできます(これはソースオブジェクトが BitmapData オブジェクトの場合にのみ可能です)。

注意:drawWithQuality() メソッドの動作は draw() メソッドと同様ですが、ベクターレンダリングの品質の指定に Stage.quality プロパティを使用する代わりに、drawWithQuality() メソッドに対して quality パラメーターを指定します。

このメソッドは、オーサリングツールインターフェイスにおいてオブジェクトに対して標準ベクターレンダラーを使ってオブジェクトを描画する方法に直接対応します。

ソース表示オブジェクトは、この呼び出しで適用される変換を使用しません。ライブラリやファイル内に存在するように処理され、マトリックス変換、カラー変換、ブレンドモードはありません。変換プロパティを使って(ムービークリップなどの)表示オブジェクトを描画するには、transform プロパティオブジェクトを、BitmapData オブジェクトを使用する Bitmap オブジェクトの transform プロパティにコピーすることができます。

このメソッドは、Flash Player 9.0.115.0 以降および Adobe AIR の RTMP でサポートされます。サーバーサイドスクリプトで、Flash Media Server 上のストリームへのアクセスを制御することができます。詳細については、Client.audioSampleAccess プロパティおよび Client.videoSampleAccess プロパティのトピック(『Server-Side ActionScript Language Reference for Adobe Flash Media Server』)を参照してください。

ソースオブジェクトと(Sprite または MovieClip オブジェクトの場合)その子オブジェクトすべてが、呼び出し元の同一のドメインから来たのではない場合、または Security.allowDomain() メソッドを呼び出して呼び出し元がアクセス可能になるコンテンツ内にそれらが存在しない場合、drawWithQuality() への呼び出しは SecurityError 例外をスローします。この制限事項はアプリケーションセキュリティサンドボックス内の AIR コンテンツには適用されません。

ロードされたビットマップイメージの source としての使用にも制限があります。ロードされたイメージが呼び出し元と同じドメインに存在していた場合、drawWithQuality() メソッドの呼び出しは成功します。また、イメージのサーバー上のクロスドメインポリシーファイルで、drawWithQuality() メソッドを呼び出す SWF コンテンツのドメインに対して許可することもできます。この場合、LoaderContext オブジェクトの checkPolicyFile プロパティを設定し、このオブジェクトを context パラメーターとして、イメージのロードに使用する Loader オブジェクトの load() メソッドを呼び出すときに使用する必要があります。これらの制限は、アプリケーションセキュリティサンドボックス内の AIR コンテンツには適用されません。

Windows では、drawWithQuality() メソッドは Adobe AIR の HTMLLoader オブジェクトにある HTML ページに組み込まれた SWF コンテンツをキャプチャできません。

drawWithQuality() メソッドは Adobe AIR では PDF コンテンツをキャプチャできません。また、wmode 属性が "window" に設定されている HTML に埋め込まれた SWF コンテンツをキャプチャできません(Adobe AIR の場合)

パラメーター

source:IBitmapDrawable — BitmapData オブジェクトに描画される表示オブジェクトまたは BitmapData オブジェクトです (DisplayObject および BitmapData クラスは IBitmapDrawable インターフェイスを実装しています)。
 
matrix:Matrix (default = null) — ビットマップの座標を拡大 / 縮小、回転、または平行移動するために使われる Matrix オブジェクトです。マトリックス変換をイメージに適用したくない場合は、(デフォルト new Matrix() コンストラクターを使って作成される)単位マトリックスにこのパラメーターを設定するか、null 値を渡してください。
 
colorTransform:flash.geom:ColorTransform (default = null) — ビットマップのカラー値を調整するために使用する ColorTransform オブジェクトです。オブジェクトが提供されない場合、ビットマップイメージのカラーは変換されません。このパラメーターを渡す必要があるが、イメージを変換したくない場合、このパラメーターを、デフォルトの new ColorTransform() コンストラクターを使って作成される ColorTransform オブジェクトに設定します。
 
blendMode:String (default = null) — 結果として生成されるビットマップに適用されるブレンドモードを指定する、flash.display.BlendMode クラスのストリング値です。
 
clipRect:Rectangle (default = null) — 描画するソースオブジェクトの領域を定義する矩形オブジェクトです。この値を指定しない場合、クリッピングは発生せず、ソースオブジェクト全体が描画されます。
 
smoothing:Boolean (default = false)matrix パラメーターでの拡大 / 縮小または回転により、拡大 / 縮小時または回転時に BitmapData オブジェクトがスムージングされるかどうかを決定するブール値です。smoothing パラメーターが適用されるのは、source パラメーターが BitmapData オブジェクトである場合のみです。smoothingfalse に設定すると、回転または拡大 / 縮小した BitmapData イメージはピクセル化されたように、またはぎざぎざに表示されます。例えば、次の 2 つのイメージは、source パラメーターの同じ BitmapData オブジェクトを使用していますが、smoothing パラメーターは左の true と右の false に設定されています。

2 つのイメージの左側はスムージングあり、右側はスムージングなしです。

smoothingtrue に設定済み)を使用してビットマップを描画すると、smoothingfalse に設定済み)を使用して描画するより時間がかかります。

 
quality:String (default = null) — StageQuality のいずれかの値です。ベクターグラフィックを描画する際に使用するアンチエイリアスの品質を選択します。


例外
ArgumentError source パラメーターが、BitmapData または DisplayObject オブジェクトではありません。
 
SecurityError source オブジェクト、および(Sprite または MovieClip オブジェクトの)すべての子オブジェクトが呼び出し元と同じドメインに属していないか、Security.allowDomain() メソッド呼び出し後に呼び出し元からアクセスできるコンテンツに含まれていません。この制限事項はアプリケーションセキュリティサンドボックス内の AIR コンテンツには適用されません。
 
ArgumentError — source が null であるか、有効な IBitmapDrawable オブジェクトではありません。

関連する API エレメント


例  ( この例の使用方法 )

次の例は、TextField オブジェクトを 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

()メソッド 
public function encode(rect:Rectangle, compressor:Object, byteArray:ByteArray = null):ByteArray

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 11.3, AIR 3.3

選択したコンプレッサアルゴリズムを使用してこの BitmapData オブジェクトを圧縮し、新しい ByteArray オブジェクトを返します。オプションで、圧縮後のデータを指定した ByteArray に書き込みます。compressor 引数ではエンコーディングアルゴリズムを指定します。有効な値は、PNGEncoderOptions、JPEGEncoderOptions および JPEGXREncoderOptions です。

次の例では、JPEGEncoderOptions を使用して BitmapData オブジェクトを圧縮します。

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

パラメーター

rect:Rectangle — BitmapData オブジェクトの圧縮領域です。
 
compressor:Object — 使用するコンプレッサのタイプです。有効な値は、flash.display.PNGEncoderOptionsflash.display.JPEGEncoderOptions および flash.display.JPEGXREncoderOptions です。
 
byteArray:ByteArray (default = null) — エンコードされた画像を格納する出力用の ByteArray です。

戻り値
ByteArray — エンコードされた画像を含む ByteArray です。

関連する API エレメント

fillRect

()メソッド 
public function fillRect(rect:Rectangle, color:uint):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 9, AIR 1.0, Flash Lite 4

指定された ARGB カラーで矩形領域のピクセルを塗りつぶします。

パラメーター

rect:Rectangle — 塗りつぶす矩形領域です。
 
color:uint — 領域を塗りつぶすため使用される ARGB カラー値です。ARGB カラー値は通常、16 進数形式(例えば、0xFF336699)で指定します。


例外
TypeError — rect が null です。

関連する API エレメント


例  ( この例の使用方法 )

次の例は BitmapData オブジェクトの矩形領域を青で塗りつぶす方法を示しています。
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.geom.Rectangle;

var myBitmapData:BitmapData = new BitmapData(40, 40, false, 0x0000FF00);

var rect:Rectangle = new Rectangle(0, 0, 20, 20);
myBitmapData.fillRect(rect, 0x0000FF);

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

floodFill

()メソッド 
public function floodFill(x:int, y:int, color:uint):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 9, AIR 1.0, Flash Lite 4

(x , y) 座標を始点として所定の色で塗りつぶすことにより、イメージに対する塗りつぶし処理を実行します。floodFill() メソッドは、各種のペイントプログラムのバケツツールのようなものです。color は、アルファ情報とカラー情報を含む ARGB カラーです。

パラメーター

x:int — イメージの x 座標です。
 
y:int — イメージの y 座標です。
 
color:uint — 塗りとして使用する ARGB カラーです。


例  ( この例の使用方法 )

次の例は、BitmapData オブジェクト内の領域(ポイント (10, 10) で定義されたピクセルを囲んでいる領域。カラーはすべてこのポイントと同じ色)を赤で塗りつぶす方法を示しています。
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

()メソッド 
public function generateFilterRect(sourceRect:Rectangle, filter:BitmapFilter):Rectangle

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 9, AIR 1.0

BitmapData オブジェクト、ソース矩形、フィルターオブジェクトを指定して、applyFilter() メソッド呼び出しによって影響を受けるターゲット矩形を決定します。

例えば、ぼかしフィルターは通常、元のイメージのサイズよりも大きい領域に影響します。デフォルトの BlurFilter インスタンスによってフィルターが適用される 100 x 200 ピクセルのイメージでは、blurX = blurY = 4(-2,-2,104,204) というターゲット矩形を生成します。generateFilterRect() メソッドを使用すると、このターゲット矩形のサイズを前もって知ることができるので、フィルター処理の前にターゲットイメージを適切なサイズにすることができます。

一部のフィルターでは、ソースイメージのサイズに基づいてターゲット矩形がクリッピングされる場合があります。例えば、内側の DropShadow は、ソースイメージよりも大きい結果を生成しません。この API では、ソース rect パラメーターではなく、BitmapData オブジェクトをソースの境界として使用します。

パラメーター

sourceRect:Rectangle — 入力として使用するソースイメージの領域を定義する矩形です。
 
filter:BitmapFilter — ターゲット矩形を算出するために使用するフィルターオブジェクトです。

戻り値
Rectangle — イメージ、sourceRect パラメーター、およびフィルターを使って算出されるターゲット矩形です。

例外
TypeError — sourceRect または filter が null です。

例  ( この例の使用方法 )

次の例では、generateFilterRect() メソッドを使用して、ぼかしフィルターの結果が占める矩形領域を決定する方法を示しています。generateFilterRect() メソッドの結果は、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);
generateFilterRect() メソッドはフィルターを適用しない点に注意してください。applyFilter() メソッドを呼び出してフィルターを適用します。

getColorBoundsRect

()メソッド 
public function getColorBoundsRect(mask:uint, color:uint, findColor:Boolean = true):Rectangle

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 9, AIR 1.0, Flash Lite 4

findColor パラメーターが true に設定されている場合)ビットマップイメージ内の指定された色のすべてのピクセルを完全に囲む矩形領域を判別します。または、(findColor パラメーターが false に設定されている場合)指定された色ではないすべてのピクセルを完全に囲む矩形領域を判別します。

例えば、あるソースイメージで、0 以外のアルファチャンネルを含むイメージの矩形を判別するには、パラメーターとして {mask: 0xFF000000, color: 0x00000000} を渡します。findColor パラメーターが true に設定されている場合、(value & mask) == color であるピクセルの境界を見つけるためにイメージ全体が検索されます(value はピクセルのカラー値)。findColor パラメーターが false に設定されている場合、(value & mask) !== color であるピクセルの境界を見つけるためにイメージ全体が検索されます(value はピクセルのカラー値)。 イメージの周囲の空白を判別するには、空白以外のピクセルの境界を見つけるために、{mask: 0xFFFFFFFF, color: 0xFFFFFFFF} を渡してください。

パラメーター

mask:uint — 対象となる ARGB カラーのビットを指定する 16 進数値です。カラー値は、&(ビット単位の論理積(AND))演算子を使用して、この 16 進数値と組み合わせられます。
 
color:uint — 16 進数値です。(findColortrue に設定されている場合は)一致すべき ARGB カラー、一致すべきでない ARGB カラー(findColorfalse に設定されている場合)をそれぞれ指定します。
 
findColor:Boolean (default = true) — 値が true に設定された場合、イメージ内のカラー値の境界を返します。値が false に設定された場合、イメージ内の指定されたカラーが存在しない領域の境界を返します。

戻り値
Rectangle — 指定された色であるイメージの領域です。

例  ( この例の使用方法 )

次の例では、上半分のピクセルが赤である BitmapData オブジェクトを作成します。getColorBoundsRect() メソッドを呼び出して、赤(0xFF0000)のピクセルからなる矩形を判別します。さらに、(findColor パラメーターを 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

()メソッド 
public function getPixel(x:int, y:int):uint

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 9, AIR 1.0, Flash Lite 4

BitmapData オブジェクトの特定ポイント (x, y) の RGB ピクセル値を表す整数を返します。getPixel() メソッドは、乗算されていないピクセル値を返します。アルファ情報は返しません。

BitmapData オブジェクト内のピクセルはすべて、乗算済みカラー値として保存されます。乗算済みイメージピクセルは、アルファデータが既に乗算された赤、緑、青の各カラーチャンネル値を保持します。例えば、アルファ値が 0 の場合、乗算されていない値に関わらず、RGB チャンネルの値も 0 になります。このようにデータが失われると、処理の実行時に問題が生じることがあります。BitmapData のすべてのメソッドは、乗算されていない値を受け取ったり返したりします。ピクセルの内部表現は、値として返される前に、乗算済みから非乗算に変換されます。設定処理の際は、ピクセル値が事前に乗算されてから、生のイメージピクセルが設定されます。

パラメーター

x:int — ピクセルの x 座標です。
 
y:int — ピクセルの y 座標です。

戻り値
uint — RGB ピクセル値を表す数値。(x , y) 座標がイメージの境界外である場合は、0 を返します。

関連する API エレメント


例  ( この例の使用方法 )

次の例では、塗りが赤の BitmapData オブジェクトを作成し、次に getPixel() メソッドを使用して、左上隅のピクセルの色の値を決定しています。
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

()メソッド 
public function getPixel32(x:int, y:int):uint

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 9, AIR 1.0, Flash Lite 4

アルファチャンネルデータと RGB データを含む ARGB カラー値を返します。このメソッドは getPixel() メソッドと似ていますが、getPixel() メソッドはアルファチャンネルデータがない RGB カラーを返します。

BitmapData オブジェクト内のピクセルはすべて、乗算済みカラー値として保存されます。乗算済みイメージピクセルは、アルファデータが既に乗算された赤、緑、青の各カラーチャンネル値を保持します。例えば、アルファ値が 0 の場合、乗算されていない値に関わらず、RGB チャンネルの値も 0 になります。このようにデータが失われると、処理の実行時に問題が生じることがあります。BitmapData のすべてのメソッドは、乗算されていない値を受け取ったり返したりします。ピクセルの内部表現は、値として返される前に、乗算済みから非乗算に変換されます。設定処理の際は、ピクセル値が事前に乗算されてから、生のイメージピクセルが設定されます。

パラメーター

x:int — ピクセルの x 座標です。
 
y:int — ピクセルの y 座標です。

戻り値
uint — ARGB ピクセル値を表す数値です。(x, y) 座標がイメージの境界外である場合は、0 を返します。

関連する API エレメント


例  ( この例の使用方法 )

次の例では、色で塗られた BitmapData オブジェクトを作成し、次に getPixel32() メソッドを使用して左上隅のピクセルの色の値を決定し、さらに各カラー成分(アルファ、赤、緑、青)の 16 進数値を決定します。
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

()メソッド 
public function getPixels(rect:Rectangle):ByteArray

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 9, AIR 1.0, Flash Lite 4

ピクセルデータの矩形領域からバイト配列を生成します。各ピクセルごとに、符号なし整数(32 bit の乗算されないピクセル値)をバイト配列に書き込みます。

パラメーター

rect:Rectangle — 現在の BitmapData オブジェクト内の矩形領域です。

戻り値
ByteArray — 特定の矩形内のピクセルを表す ByteArray です。

例外
TypeError — rect が null です。

関連する API エレメント


例  ( この例の使用方法 )

次の例では、ランダムノイズピクセルで塗りつぶされた BitmapData オブジェクトを作成し、getPixels() メソッドを使用して、ByteArray オブジェクトを 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

()メソッド 
public function getVector(rect:Rectangle):Vector.<uint>

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5, Flash Lite 4

ピクセルデータの矩形領域からベクター配列を生成します。指定された矩形を表す、符号なし整数(32 bit の乗算されないピクセル値)の Vector オブジェクトを返します。

パラメーター

rect:Rectangle — 現在の BitmapData オブジェクト内の矩形領域です。

戻り値
Vector.<uint> — 指定された Rectangle を表す Vector です。

例外
TypeError — rect が null です。

histogram

()メソッド 
public function histogram(hRect:Rectangle = null):Vector.<Vector.<Number>>

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5, Flash Lite 4

BitmapData オブジェクトの 256 値のバイナリ数のヒストグラムを計算します。このメソッドは 4 つの Vector を含む Vector オブジェクトを返します。<Number> インスタンス(Number オブジェクトを含む 4 つの Vector オブジェクト)です。4 つの Vector インスタンスは、赤、緑、青およびアルファの順の各コンポーネントを表します。各 Vector インスタンスには、各コンポーネントの値のポピュレーションカウント(0 ~ 255)を表す 256 値が含まれています。

パラメーター

hRect:Rectangle (default = null) — BitmapData オブジェクトの使用領域です。

戻り値
Vector.<Vector.<Number>>

hitTest

()メソッド 
public function hitTest(firstPoint:Point, firstAlphaThreshold:uint, secondObject:Object, secondBitmapDataPoint:Point = null, secondAlphaThreshold:uint = 1):Boolean

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 9, AIR 1.0, Flash Lite 4

1 つのビットマップイメージと、ポイント、矩形、または他のビットマップイメージとの間でピクセルレベルのヒットを検出します。ヒットは、1 つの不透明なピクセルまたは 2 つの重なり合う不透明なピクセル上のポイントまたは矩形の重なりです。ヒットテストの際、どちらのオブジェクトの変形(伸縮、回転など)も考慮されません。

イメージが不透明である場合、このメソッドでは完全に不透明な矩形と見なされます。透過性を考慮するピクセルレベルのヒットテストを実施する場合は、両方のイメージとも透明である必要があります。2 つの透明なイメージをテストするとき、アルファしきい値パラメーターは、アルファチャンネル値(0 ~ 255)がいくつであれば不透明とみなすかを制御します。

パラメーター

firstPoint:Point — 任意の座標空間における BitmapData イメージの左上隅の位置です。同じ座標空間を使って secondBitmapPoint パラメーターが定義されます。
 
firstAlphaThreshold:uint — このヒットテストで不透明とみなされるアルファチャンネルの最小値です。
 
secondObject:Object — Rectangle、Point、Bitmap、または BitmapData オブジェクトです。
 
secondBitmapDataPoint:Point (default = null) — 2 番目の BitmapData オブジェクト内のピクセル位置を定義するポイントです。このパラメーターは、secondObject の値が BitmapData オブジェクトである場合にのみ使用します。
 
secondAlphaThreshold:uint (default = 1) — 2 番目の BitmapData オブジェクト内で不透明であるとみなされるアルファチャンネルの最小値です。このパラメーターは、secondObject の値が BitmapData オブジェクトで、両方の BitmapData オブジェクトが透明である場合にのみ使用します。

戻り値
Boolean — ヒットが発生する場合は true、そうでない場合は false です。

例外
ArgumentError secondObject パラメーターが、Point、Rectangle、Bitmap、または BitmapData オブジェクトではありません。
 
TypeError — firstPoint が null です。

例  ( この例の使用方法 )

次の例では、矩形領域 (20, 20, 40, 40) でのみ不透明な BitmapData オブジェクトを作成した後、hitTest() メソッドを呼び出します(secondObject として Point オブジェクトを使用)。最初の呼び出しでは、Point オブジェクトが(不透明ではない)BitmapData オブジェクトの左上隅を定義し、2 番目の呼び出しでは、Point オブジェクトが(不透明な)BitmapData オブジェクトの中央を定義します。
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

()メソッド 
public function lock():void

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 9, AIR 1.0

この BitmapData オブジェクトが変更されたときに、BitmapData オブジェクトを参照するすべてのオブジェクト(例えば Bitmap オブジェクト)が更新されないように、イメージをロックします。パフォーマンスを向上させるには、このメソッドを unlock() メソッドと共に、setPixel() メソッドまたは setPixel32() メソッドを何度も呼び出す前後に使用してください。

関連する API エレメント


例  ( この例の使用方法 )

次の例では、bitmapData プロパティ(Bitmap オブジェクトである picture のプロパティ)に基づいて BitmapData オブジェクトを作成します。次に、lock() メソッドを呼び出してから、BitmapData オブジェクトを変更する複雑なカスタム関数である complexTransformation() を呼び出します (picture オブジェクトおよび complexTransformation() 関数はこの例では定義されません)。complexTransformation() 関数が bitmapData プロパティ(picture オブジェクトのプロパティ)を更新する場合でも、コードが unlock() メソッドを bitmapData オブジェクトに対して呼び出すまで、変更は反映されません。
import flash.display.BitmapData;

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

merge

()メソッド 
public function merge(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, redMultiplier:uint, greenMultiplier:uint, blueMultiplier:uint, alphaMultiplier:uint):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 9, AIR 1.0, Flash Lite 4

ソースイメージとターゲットイメージをチャンネルごとにブレンドします。チャンネルおよびピクセルごとに、ソースピクセルおよびターゲットピクセルのチャンネル値に基づいて新しい値が計算されます。例えば、赤チャンネルでは、新しい値が次のように計算されます(ここで、redSrc はソースイメージのピクセルでの赤チャンネル値、redDest はターゲットイメージの対応するピクセルでの赤チャンネル値です)。

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

redMultipliergreenMultiplierblueMultiplier、および alphaMultiplier の各値は、それぞれのカラーチャンネルに対して使用する乗数です。0 から 0x100(256)までの 16 進数値を使用します。0 を指定すると、ターゲットの値がそのまま結果で使用され、0x100 を指定すると、ソースの値がそのまま使用されます。その間の数値を指定すると、混ぜ合わされた色が使用されます(50% の場合、0x80 など)。

パラメーター

sourceBitmapData:BitmapData — 使用する入力ビットマップイメージです。ソースイメージは、別の BitmapData オブジェクトにすることも、現在の BitmapData オブジェクトを参照することもできます。
 
sourceRect:Rectangle — 入力として使用するソースイメージの領域を定義する矩形です。
 
destPoint:Point — ソース矩形の左上隅に対応する、ターゲットイメージ(現在の BitmapData インスタンス)内のポイントです。
 
redMultiplier:uint — 赤チャンネル値に乗算する 16 進数の uint 値です。
 
greenMultiplier:uint — 緑チャンネル値に乗算する 16 進数の uint 値です。
 
blueMultiplier:uint — 青チャンネル値に乗算する 16 進数の uint 値です。
 
alphaMultiplier:uint — アルファ透明度の値に乗算する 16 進数の uint 値です。


例外
TypeError — sourceBitmapData、sourceRect、または destPoint が null です。

例  ( この例の使用方法 )

次の例では、2 つの BitmapData オブジェクトを作成します。どちらのサイズも 100 x 80 ピクセルです。最初のオブジェクトは緑、2 番目のオブジェクトは赤でそれぞれ塗りつぶされます。コードは merge() メソッドを呼び出し、2 番目の BitmapData ピクセルを最初の BitmapData オブジェクトの指定された矩形領域にのみ結合します。
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

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

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 9, AIR 1.0

ランダムノイズを表すピクセルでイメージを塗りつぶします。

パラメーター

randomSeed:int — ランダムシード(乱数の種)として使用する数値です。他のすべてのパラメーターを同じままにした場合、ランダムシードの値を変更することでさまざまな疑似乱数を生成できます。ノイズ関数はマッピング関数であり、真の乱数生成関数ではありません。このため、同じランダムシードから毎回同じ結果が作成されます。
 
low:uint (default = 0) — チャンネルごとに生成する最小値です(0 ~ 255)。
 
high:uint (default = 255) — チャンネルごとに生成する最大値です(0 ~ 255)。
 
channelOptions:uint (default = 7) — 任意の 4 つのカラーチャンネル値(BitmapDataChannel.REDBitmapDataChannel.BLUEBitmapDataChannel.GREEN、および BitmapDataChannel.ALPHA)の組み合わせである数値。OR 論理演算子(|)を使用して、複数のチャンネル値を組み合わせることができます。
 
grayScale:Boolean (default = false) — ブール値です。値が true である場合、すべてのカラーチャンネルに同じ値を設定することでグレースケールのイメージが作成されます。このパラメーターを true に設定しても、アルファチャンネル選択には影響しません。

関連する API エレメント


例  ( この例の使用方法 )

次の例では、2 つの BitmapData オブジェクトを作成し、両者に対して noise() メソッドを呼び出します。ただし、grayscale パラメーターは false に設定されるか(1 番目のオブジェクトの noise() メソッドへの呼び出しの場合)、true に設定されます(2 番目のオブジェクトの noise() メソッドへの呼び出しの場合)。
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

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

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 9, AIR 1.0, Flash Lite 4

最大で 4 つのカラーパレットデータ配列(各チャンネルごとに 1 つの配列)を使用して、イメージ内のカラーチャンネル値をマッピングし直します。

Flash ランタイムは以下の手順に従って、結果として得られるイメージを生成します。

  1. 赤、緑、青、アルファの各値を算出した後、標準の 32 bit 整数算術演算を使ってこれらの値を足し合わせます。
  2. 各ピクセルの赤、緑、青、アルファのチャンネル値を抽出して、別個の 0 ~ 255 の値にします。これらの値は、次の該当する配列で新しいカラー値を調べる場合に使用します。redArraygreenArrayblueArray、および alphaArray。これら 4 つの配列にはそれぞれ 256 個の値が含まれている必要があります。
  3. 新しいチャンネル値を 4 つともすべて取得した後、それらの値を組み合わせて、ピクセルに適用される標準の ARGB 値にします。

このメソッドではクロスチャンネル効果をサポートできます。それぞれの入力配列は完全な 32 bit 値を含むことができます。値を足し合わせるときに移動は発生しません。このルーチンは、チャンネル単位のクランピングに対応していません。

チャンネルに対して配列が指定されない場合は、ソースイメージからターゲットイメージにカラーチャンネルがコピーされます。

このメソッドは各種効果で使用できます。例えば、通常のパレットマッピング(1 つのチャンネルを選択して疑似色イメージに変換する)などです。さらに、ガンマ、曲線、平準化、量子化といったさまざまなカラー操作アルゴリズムにもこのメソッドを使用できます。

パラメーター

sourceBitmapData:BitmapData — 使用する入力ビットマップイメージです。ソースイメージは、別の BitmapData オブジェクトにすることも、現在の BitmapData インスタンスを参照することもできます。
 
sourceRect:Rectangle — 入力として使用するソースイメージの領域を定義する矩形です。
 
destPoint:Point — ソース矩形の左上隅に対応する、ターゲットイメージ(現在の BitmapData オブジェクト)内のポイントです。
 
redArray:Array (default = null)redArraynull でない場合、red = redArray[source red value] else red = source rect value
 
greenArray:Array (default = null)greenArraynull でない場合、green = greenArray[source green value] else green = source green value.
 
blueArray:Array (default = null)blueArraynull でない場合、blue = blueArray[source blue value] else blue = source blue value
 
alphaArray:Array (default = null)alphaArraynull でない場合、alpha = alphaArray[source alpha value] else alpha = source alpha value


例外
TypeError — sourceBitmapData、sourceRect、または destPoint が null です。

例  ( この例の使用方法 )

次の例では、中央に赤い正方形がある緑の BitmapData オブジェクトを作成した後、paletteMap() メソッドを使用して、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

()メソッド 
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

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 9, AIR 1.0

Perlin ノイズイメージを生成します。

Perlin ノイズ生成アルゴリズムでは、個々のランダムノイズ関数(オクターブといいます)を補間および組み合わせることで、より自然に見えるランダムノイズを生成する単一の関数にします。音楽のオクターブと同様、各オクターブ関数の周波数は、その前のオクターブ関数の周波数の 2 倍になります。Perlin ノイズは、複数のノイズデータセットをさまざまな詳細レベルで組み合わせるので、"フラクタルノイズの和" と呼ばれてきました。

Perlin ノイズ関数は、木目、雲、山脈など、自然現象や風景をシミュレートする場合に使用できます。ほとんどの場合、Perlin ノイズ関数の出力をそのまま表示するのではなく、他のイメージを強調したり、擬似ランダムバリエーションを与えるために使用します。

単純なデジタルランダムノイズ関数は、コントラストのきついポイントが含まれるイメージを生成する場合が多いです。このようにきついコントラストは自然界にはあまりありません。Perlin ノイズアルゴリズムは、さまざまな詳細レベルで実行する複数のノイズ関数を混ぜ合わせます。このアルゴリズムの結果、互いに隣接するピクセル値の差異はより小さくなります。

パラメーター

baseX:Numberx 方向で使用する周波数。例えば、64 x 128 のイメージに見合うサイズのノイズを生成するには、baseX 値として 64 を渡します。
 
baseY:Numbery 方向で使用する周波数。例えば、64 x 128 のイメージに見合うサイズのノイズを生成するには、baseY 値として 128 を渡します。
 
numOctaves:uint — このノイズを作成するために組み合わせるオクターブ(つまり個々のノイズ関数)の数です。オクターブ数を多くすると、よりきめ細かいイメージを作成できます。オクターブ数を増やすと、処理時間も長くなります。
 
randomSeed:int — ランダムシード(乱数の種)として使用する数値です。他のすべてのパラメーターを同じままにした場合、ランダムシードの値を変更することでさまざまな疑似乱数を生成できます。Perlin ノイズ関数はマッピング関数であり、真の乱数生成関数ではありません。このため、同じランダムシードから毎回同じ結果が作成されます。
 
stitch:Boolean — ブール値です。値が true の場合、ビットマップ塗りとしてシームレスなタイリング用テクスチャを作成するために、このメソッドはイメージのトランジションエッジをスムーズにすることを試みます。
 
fractalNoise:Boolean — ブール値です。値が true の場合、このメソッドはフラクタルノイズを生成します。それ以外の場合は、乱流を生成します。乱流があるイメージにはグラデーションに視覚的な不連続性があるので、炎や海の波のようなシャープな視覚効果に適している場合があります。
 
channelOptions:uint (default = 7) — 任意の 4 つのカラーチャンネル値(BitmapDataChannel.REDBitmapDataChannel.BLUEBitmapDataChannel.GREEN、および BitmapDataChannel.ALPHA)の組み合わせである数値。OR 論理演算子(|)を使用して、複数のチャンネル値を組み合わせることができます。
 
grayScale:Boolean (default = false) — ブール値です。値が true の場合、赤、緑、および青の各カラーチャンネルに同じ値を設定して、グレースケールイメージが作成されます。この値が true に設定されても、アルファチャンネルの値に影響はありません。
 
offsets:Array (default = null) — 各オクターブの x オフセットと y オフセットに対応するポイントの配列です。オフセット値を操作することで、perlinNoise イメージのレイヤーをスムーズにスクロールできます。オフセット配列内の各ポイントは、特定のオクターブノイズ関数に影響を与えます。


例  ( この例の使用方法 )

次の例では、perlinNoise() メソッドを呼び出して赤および青の水彩画効果を生み出す 200 x 200 ピクセルの BitmapData オブジェクトを作成します。
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

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

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 9, AIR 1.0

ソースイメージからターゲットイメージへのピクセルディゾルブ、または同じイメージを使用したピクセルディゾルブを実行します。Flash ランタイムは randomSeed 値を使用して、ランダムなピクセルディゾルブを生成します。完了するまでピクセルディゾルブを続けるには、この関数の戻り値を後続の呼び出しに渡す必要があります。

ソースイメージとターゲットイメージが等しくない場合は、すべてのプロパティを使用して、ソースからターゲットにピクセルがコピーされます。この処理により、空白イメージから完全に設定されたイメージへのディゾルブが可能になります。

ソースイメージとターゲットイメージが等しい場合は、color パラメーターを使ってピクセルが塗られます。この処理により、完全に設定されたイメージを消去するようにディゾルブできます。このモードでは、ターゲット point パラメーターが無視されます。

パラメーター

sourceBitmapData:BitmapData — 使用する入力ビットマップイメージです。ソースイメージは、別の BitmapData オブジェクトにすることも、現在の BitmapData インスタンスを参照することもできます。
 
sourceRect:Rectangle — 入力として使用するソースイメージの領域を定義する矩形です。
 
destPoint:Point — ソース矩形の左上隅に対応する、ターゲットイメージ(現在の BitmapData インスタンス)内のポイントです。
 
randomSeed:int (default = 0) — ピクセルディゾルブを開始するために使用するランダムシード(乱数の種)です。
 
numPixels:int (default = 0) — デフォルトは、ソース領域(幅 x 高さ)の 1/30 です。
 
fillColor:uint (default = 0) — ソース値とターゲット値が等しいピクセルの塗りつぶしに使用する ARGB カラー値です。

戻り値
int — 後続の呼び出しで使用する新しいランダムシード(乱数の種)です。

例外
TypeError — sourceBitmapData、sourceRect、または destPoint が null です。
 
TypeError — numPixels が負の値です。

例  ( この例の使用方法 )

次の例では、pixelDissolve() メソッドを使用して、すべてのピクセルのカラーが変更されるまで一度に 40 個のピクセルをディゾルブすることにより、グレーの BitmapData オブジェクトを赤に変換します。
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

()メソッド 
public function scroll(x:int, y:int):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 9, AIR 1.0

所定の (x , y) ピクセル量だけイメージをスクロールします。スクロール領域外のエッジ領域は変わらずにそのままになります。

パラメーター

x:int — 水平方向のスクロール量です。
 
y:int — 垂直方向のスクロール量です。


例  ( この例の使用方法 )

次の例は、Bitmap データオブジェクトを右に 40 ピクセルだけスクロールした効果を示しています。
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

()メソッド 
public function setPixel(x:int, y:int, color:uint):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 9, AIR 1.0, Flash Lite 4

BitmapData オブジェクトの 1 つのピクセルを設定します。この処理中、イメージピクセルのアルファチャンネルは現在の値が保持されます。RGB カラーパラメーターの値は、乗算されていないカラー値として扱われます。

注意:setPixel() または setPixel32() メソッドを繰り返し使用する場合、パフォーマンスを向上させるには、lock() メソッドを呼び出してから setPixel() または setPixel32() メソッドを呼び出します。その後、ピクセル変更がすべて完了したら、unlock() メソッドを呼び出します。このように処理を行うと、ピクセル変更がすべて完了するまで、この BitmapData インスタンスを参照するオブジェクトは更新されません。

パラメーター

x:int — 値が変更されるピクセルの x 座標です。
 
y:int — 値が変更されるピクセルの y 座標です。
 
color:uint — 結果として生成される、ピクセルの RGB カラーです。

関連する API エレメント


例  ( この例の使用方法 )

次の例では、setPixel() メソッドを使用して、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

()メソッド 
public function setPixel32(x:int, y:int, color:uint):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 9, AIR 1.0, Flash Lite 4

BitmapData オブジェクトの 1 つのピクセルにカラー値とアルファ透明度を設定します。このメソッドは setPixel() メソッドと似ています。主な違いは、setPixel32() メソッドではアルファチャンネル情報が含まれる ARGB カラー値を引数として取ることです。

BitmapData オブジェクト内のピクセルはすべて、乗算済みカラー値として保存されます。乗算済みイメージピクセルは、アルファデータが既に乗算された赤、緑、青の各カラーチャンネル値を保持します。例えば、アルファ値が 0 の場合、乗算されていない値に関わらず、RGB チャンネルの値も 0 になります。このようにデータが失われると、処理の実行時に問題が生じることがあります。BitmapData のすべてのメソッドは、乗算されていない値を受け取ったり返したりします。ピクセルの内部表現は、値として返される前に、乗算済みから非乗算に変換されます。設定処理の際は、ピクセル値が事前に乗算されてから、生のイメージピクセルが設定されます。

注意:setPixel() または setPixel32() メソッドを繰り返し使用する場合、パフォーマンスを向上させるには、lock() メソッドを呼び出してから setPixel() または setPixel32() メソッドを呼び出します。その後、ピクセル変更がすべて完了したら、unlock() メソッドを呼び出します。このように処理を行うと、ピクセル変更がすべて完了するまで、この BitmapData インスタンスを参照するオブジェクトは更新されません。

パラメーター

x:int — 値が変更されるピクセルの x 座標です。
 
y:int — 値が変更されるピクセルの y 座標です。
 
color:uint — 結果として生成される、ピクセルの ARGB カラーです。ビットマップが不透明な(透明でない)場合には、このカラー値のアルファ透明度部分は無視されます。

関連する API エレメント


例  ( この例の使用方法 )

次の例では、setPixel32()メソッドを使用して、透明な(alpha == 0x60)赤い線を 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

()メソッド 
public function setPixels(rect:Rectangle, inputByteArray:ByteArray):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 9, AIR 1.0, Flash Lite 4

バイト配列をピクセルデータの矩形領域に変換します。各ピクセルごとに ByteArray.readUnsignedInt() メソッドが呼び出され、戻り値がピクセルに書き込まれます。矩形全体が書き込まれる前にバイト配列が終了した場合、関数は終了します。バイト配列内のデータは 32 bit ARGB ピクセル値と想定されます。ピクセル読み取りの前後に、バイト配列に対するシークは実行されません。

パラメーター

rect:Rectangle — BitmapData オブジェクトの矩形領域を指定します。
 
inputByteArray:ByteArray — 矩形領域で使用される 32 bit の乗算されないピクセル値からなる ByteArray オブジェクトです。


例外
EOFError inputByteArray オブジェクトには、rect 矩形の領域を塗りつぶすための十分なデータが含まれていません。このメソッドは、可能な限り多くのピクセルを塗りつぶした後、例外をスローします。
 
TypeError — rect または inputByteArray が null です。

関連する API エレメント


例  ( この例の使用方法 )

次の例では、getPixels() メソッドと setPixels() メソッドを使用して、ある BitmapData オブジェクトから別の BitmapData オブジェクトにピクセルをコピーします。
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

()メソッド 
public function setVector(rect:Rectangle, inputVector:Vector.<uint>):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5, Flash Lite 4

Vector をピクセルデータの矩形領域に変換します。ピクセルごとに、ベクターエレメントが BitmapData ピクセルに読み込みおよび書き込みされます。Vector のデータは 32 bit ARGB ピクセル値と推定されます。

パラメーター

rect:Rectangle — BitmapData オブジェクトの矩形領域を指定します。
 
inputVector:Vector.<uint> — 矩形領域で使用される 32 bit の乗算されないピクセル値からなる Vector オブジェクトです。


例外
RangeError — ベクター配列は、すべてのピクセルデータを読み込めるほど大きくありません。

threshold

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

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 9, AIR 1.0

指定されたしきい値と比較してイメージ内のピクセル値をテストし、テストに適合したピクセルに新しいカラー値を設定します。threshold() メソッドを使用すると、イメージ内のカラー範囲を分離して置換し、イメージピクセルに対しその他の論理演算を実行することができます。

threshold() メソッドのテスト論理は次のとおりです。

  1. ((pixelValue & mask) operation (threshold & mask)) の場合、ピクセルを color に設定します。
  2. そうでない場合、copySource == true であれば、sourceBitmap の対応するピクセル値にピクセルを設定します。

operation パラメーターは、しきい値テストで使用する比較演算子を指定します。例えば、operation パラメーターとして "==" を使用することにより、イメージ内の特定のカラー値を分離できます。または、{operation: "<", mask: 0xFF000000, threshold: 0x7F000000, color: 0x00000000} を使用することにより、ソースイメージピクセルのアルファが 0x7F 未満の場合に、すべてのターゲットピクセルが完全に透明になるよう設定できます。アニメーション化されたトランジションやその他の効果に対して、この技法を使用できます。

パラメーター

sourceBitmapData:BitmapData — 使用する入力ビットマップイメージです。ソースイメージは、別の BitmapData オブジェクトにすることも、現在の BitmapData インスタンスを参照することもできます。
 
sourceRect:Rectangle — 入力として使用するソースイメージの領域を定義する矩形です。
 
destPoint:Point — ソース矩形の左上隅に対応する、ターゲットイメージ(現在の BitmapData インスタンス)内のポイントです。
 
operation:String — 比較演算子("<"、"<="、">"、">="、"=="、"!=")の 1 つ。ストリングとして渡されます。="
 
threshold:uint — 各ピクセルがしきい値に適合するか、それともしきい値を超えているかをテストするための基準となる値です。
 
color:uint (default = 0) — しきい値テストに適合した場合にピクセルに設定されるカラー値です。デフォルト値は 0x00000000 です。
 
mask:uint (default = 0xFFFFFFFF) — カラーコンポーネントを分離するために使用するマスクです。
 
copySource:Boolean (default = false) — 値が true の場合、しきい値テストが失敗したときに、ソースイメージのピクセル値がターゲットイメージにコピーされます。値が false であれば、しきい値テストに適合しない場合にソースイメージはコピーされません。

戻り値
uint — 変更されたピクセルの数です。

例外
TypeError — sourceBitmapData、sourceRect、destPoint、または operation が null です。
 
ArgumentError — operation のストリングが有効な演算ではありません。

例  ( この例の使用方法 )

次の例では、perlinNoise() メソッドを使用して青および赤のパターンを 1 つの BitmapData オブジェクトに追加した後、threshold() メソッドを使用して、これらのピクセルを最初の BitmapData オブジェクトから 2 番目のオブジェクトにコピーします。その際、赤の値が 0x80(50%)より大きいピクセルを、透明の赤(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

()メソッド 
public function unlock(changeRect:Rectangle = null):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 9, AIR 1.0

この BitmapData オブジェクトが変更されたときに、BitmapData オブジェクトを参照するすべてのオブジェクト(例えば Bitmap オブジェクト)が更新されるように、イメージをロック解除します。パフォーマンスを向上させるには、このメソッドを lock() メソッドと共に、setPixel() メソッドまたは setPixel32() メソッドを何度も呼び出す前後に使用してください。

パラメーター

changeRect:Rectangle (default = null) — 変更された BitmapData オブジェクトの領域です。このパラメーターに値を指定しない場合、BitmapData オブジェクトの全領域が変更されたと見なされます。このパラメーターは、Flash Player バージョン 9.0.115.0 以降を必要とします。

関連する API エレメント


例  ( この例の使用方法 )

次の例では、bitmapData プロパティ(Bitmap オブジェクトである picture のプロパティ)に基づいて BitmapData オブジェクトを作成します。次に、lock() メソッドを呼び出してから、BitmapData オブジェクトを変更する複雑なカスタム関数である complexTransformation() を呼び出します (picture オブジェクトおよび complexTransformation() 関数はこの例では定義されません)。complexTransformation() 関数が bitmapData プロパティ(picture オブジェクトのプロパティ)を更新する場合でも、コードが unlock() メソッドを bitmapData オブジェクトに対して呼び出すまで、変更は反映されません。
import flash.display.BitmapData;

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

次の例では、BitmapDataExample クラスを使用して、"Image.gif" イメージをデフォルトの位置 (0, 0) にある DisplayObject にロードします。"Image.gif" のコピーを下のイメージの右に配置します。このコピーでは、threshold() メソッドを使用するテストに合格したピクセルに新しい色が適用されています。これを行うには、以下の手順を実行します。
  1. url プロパティを作成します。これはイメージファイルの場所と名前です。
  2. クラスコンストラクターが Loader オブジェクトを作成します。これは、completeHandler() メソッドがイメージ操作を完了したときに送出される、イベントリスナーをインスタンス化します。
  3. 次に、request URLRequest オブジェクトが、loader.load() に渡されます。これは、表示オブジェクトを使用してメモリにイメージをロードします。
  4. 次にイメージが表示リストに配置され、イメージは画面の座標 x = 0、y = 0 に表示されます。
  5. 続いて、completeHandler() メソッドで次の処理が実行されます。
    • 2 番目の Loader オブジェクトと Bitmap オブジェクトを作成します。Bitmap オブジェクトは、この Loader オブジェクトで初期化されます。
    • 2 番目の Bitmap オブジェクトである duplicate を作成します。これは、duplicateImage() メソッドを呼び出し、元のイメージを複製します。
    • BitmapData オブジェクトを作成すると、これが duplicate オブジェクトの BitmapData オブジェクトに割り当てられます。
    • 元のイメージと同じ座標、幅、高さで初期化された新しい Rectangle オブジェクトを作成します。
    • 新しい Point オブジェクトを作成します。デフォルトでは x = 0、y = 0 に作成されます。
    • 次に示す変数を作成します。
      • operation — しきい値が元の値以上である場合に、新しい色を適用します。
      • threshold — 各ピクセルの比較対象の値。この例では、アルファ 0xCC の明るい灰色に設定されます。
      • color — しきい値のテストに合格したピクセルに設定する色。この例では黄色です。
      • mask — 正反対の色。この例では透明色の青色です。
      • copySourcefalse に設定します。これは、しきい値を満たさなかった場合には、ピクセル値がコピーされないことを示します。しきい値のテストに合格したピクセルだけが変更されるため、この値に意味はありません。
    • 上記の変数を使用して threshold() メソッドを呼び出します。結果のしきい値の等式は、if (current pixel Value & 0x000000FF) >= (0xCCCCCCCC & 0x000000FF) then set pixel to 0xFFFFFF00 のようになります。

注意:

  • 「ローカルでの再生に関するセキュリティ」を「ローカルファイルにのみアクセスする」に設定して SWF ファイルをコンパイルする必要があります。
  • この例では、"Image.gif" という名前のファイルが SWF ファイルと同じディレクトリに配置されている必要があります。
  • イメージは、幅が約 80 ピクセル以内のものを使用することをお勧めします。

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 ]英語で表示される理由
ActionScript 3.0 リファレンスガイドのコンテンツが英語で表示されます。

ActionScript 3.0 リファレンスガイドのすべての部分がすべての言語に翻訳されているわけではありません。言語エレメントが翻訳されていない場合、そのエレメントは英語で表示されます。例えば、ga.controls.HelpBox クラスはどの言語にも訳されていません。このため、リファレンスガイドの日本語バージョンでは、ga.controls.HelpBox クラスは英語で表示されます。