Справочник по ActionScript® 3.0 для платформы Adobe® Flash®
Домашняя страница  |  Скрыть список пакетов и классов |  Пакеты  |  Классы  |  Что нового  |  Указатель  |  Приложения  |  Почему по-английски?
Фильтры: 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
устаревший_индекс
Константы реализации специальных возможностей
Использование примеров
Юридическая информация
Пакетflash.display
Классpublic class BitmapData
НаследованиеBitmapData Inheritance Object
Реализует IBitmapDrawable

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 9, AIR 1.0, Flash Lite 4

Класс BitmapData позволяет работать с данными (пикселями) объекта Bitmap. Методы класса BitmapData можно использовать для создания прозрачных или непрозрачных растровых изображений произвольного размера и выполнять с ними различные операции. Также можно обращаться к BitmapData для получения растрового изображения, загружаемого с помощью класса flash.display.Loader.

Этот класс позволяет отделить операции по визуализации растрового изображения от внутренних подпрограмм обновления отображения проигрывателя Flash Player. Путем манипуляции с объектом BitmapData напрямую можно создавать сложные изображения без необходимости постоянно перерисовывать содержимое из векторных данных в каждом кадре.

Методы класса BitmapData поддерживают эффекты, не доступные через фильтры, предусмотренные для нерастровых экранных объектов.

Объект BitmapData содержит массив пиксельных данных. Эти данные могут представлять собой либо полностью непрозрачное растровое изображение, либо прозрачное растровое изображение с данными альфа-канала. Объекты BitmapData любого типа сохраняются в виде буфера 32-разрядных целых чисел. Каждое 32-разрядное целое число определяет свойства одного пикселя в растровом изображении.

Каждое 32-разрядное целое число представляет собой комбинацию 8-разрядных значений каналов (от 0 до 255), описывающих альфа-прозрачность и значения красного, зеленого и синего (ARGB) пикселя. (Для значений ARGB наиболее значимый байт представляет значение альфа-канала, а за ним следуют красный, зеленый и синий.)

Четыре канала (альфа-канал, красный, зеленый и синий) представлены числами при использовании в методе BitmapData.copyChannel() или свойствами DisplacementMapFilter.componentX и DisplacementMapFilter.componentY, и эти числа представлены следующими константами класса BitmapDataChannel:

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

Объекты BitmapData можно присоединить к объекту Bitmap с помощью свойства bitmapData объекта Bitmap.

Объект BitmapData можно использовать для заполнения объекта Graphics с помощью методаGraphics.beginBitmapFill().

Во время выполнения AIR классы DockIcon, Icon, InteractiveIcon и SystemTrayIcon имеют свойство bitmaps, которое является массивом объектов BitmapData, определяющих растровые изображения значка.

В 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 выдают ошибку ArgumentError, если объект BitmapData недействителен (например, если height == 0 и width == 0) или если он был удален с помощью метода dispose().

Посмотреть примеры

Связанные элементы 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
Создает фильтрованное изображение по исходному изображению и объекту filter.
BitmapData
  
Возвращает новый объект BitmapData, являющийся клоном исходного экземпляра с точной копией содержащегося в нем растрового изображения.
BitmapData
  
Изменяет значения цветов в заданной области растрового изображения с помощью объекта ColorTransform.
BitmapData
  
compare(otherBitmapData:BitmapData):Object
Сравнивает два объекта BitmapData.
BitmapData
  
copyChannel(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, sourceChannel:uint, destChannel:uint):void
Переносит данные из одного канала отдельного объекта BitmapData или текущего объекта BitmapData в канал текущего объекта 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
Отображает исходный экранный объект source поверх растрового изображения с помощью векторного средства визуализации среды выполнения 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
Отображает исходный экранный объект source поверх растрового изображения с помощью векторного средства визуализации среды выполнения Flash.
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
  
Определяет целевой прямоугольник, на который оказывает влияние вызов метода applyFilter() при наличии объекта BitmapData, исходного прямоугольника и объекта фильтра.
BitmapData
  
getColorBoundsRect(mask:uint, color:uint, findColor:Boolean = true):Rectangle
Определяет прямоугольный участок, полностью охватывающий все пиксели заданного цвета в пределах растрового изображения (если параметру findColor присвоено значение true), либо полностью охватывает все пиксели, не содержащие заданный цвет (если параметру findColor присвоено значение false).
BitmapData
  
Возвращает целое число, представляющее RGB-значение пикселя из объекта BitmapData в конкретной точке (x, y).
BitmapData
  
Возвращает значение цвета ARGB, содержащее данные альфа-канала и данные RGB.
BitmapData
  
Формирует байтовый массив из прямоугольного участка пиксельных данных.
BitmapData
  
Формирует векторный массив из прямоугольного участка пиксельных данных.
BitmapData
 Inherited
Показывает, определено ли заданное свойство для объекта.
Object
  
Вычисление гистограммы двоичных чисел с 256 значениями для объекта BitmapData.
BitmapData
  
hitTest(firstPoint:Point, firstAlphaThreshold:uint, secondObject:Object, secondBitmapDataPoint:Point = null, secondAlphaThreshold:uint = 1):Boolean
Выполняет распознавание на уровне пикселей между одним растровым изображением и точкой, прямоугольником или другим растровым изображением.
BitmapData
 Inherited
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра.
Object
  
Блокирует изображение, чтобы любые объекты, ссылающиеся на объект BitmapData, например объекты Bitmap, не обновлялись при изменении данного объекта BitmapData.
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
Переназначает значения цветовых каналов в изображении, содержащем до четырех массивов данных цветовой палитры, по одному для каждого канала.
BitmapData
  
perlinNoise(baseX:Number, baseY:Number, numOctaves:uint, randomSeed:int, stitch:Boolean, fractalNoise:Boolean, channelOptions:uint = 7, grayScale:Boolean = false, offsets:Array = null):void
Создает изображение с шумом Перлина.
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.
BitmapData
  
setPixel32(x:int, y:int, color:uint):void
Задает значения цвета и альфа-прозрачности отдельно взятой точки объекта BitmapData.
BitmapData
  
setPixels(rect:Rectangle, inputByteArray:ByteArray):void
Преобразует массив байтов в прямоугольный участок пиксельных данных.
BitmapData
 Inherited
Задает доступность динамического свойства для операций цикла.
Object
  
setVector(rect:Rectangle, inputVector:Vector.<uint>):void
Преобразует вектор в прямоугольную область пиксельных данных.
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, например объекты Bitmap, обновлялись при изменении данного объекта BitmapData.
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

Определяет, поддерживает ли растровое изображение попиксельную прозрачность. Это значение можно задавать, только когда при создании объекта BitmapData в конструкторе передается значениеtrue для параметра transparent. Затем, когда объект 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, каждый пиксель растрового изображения будет окрашен в этот цвет.

По умолчанию растровое изображение создается прозрачным, если не передано значение false для параметра transparent. Создав непрозрачное растровое изображение, его нельзя сделать прозрачным. Каждый пиксель непрозрачного растрового изображения использует только 24 бита информации о цветовых каналах. Если растровое изображение определено как прозрачное, каждый пиксель использует 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-разрядное 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

Создает фильтрованное изображение по исходному изображению и объекту filter.

Этот метод базируется на поведении встроенных объектов фильтра, которые определяют целевой прямоугольник, затрагиваемый вводным исходным прямоугольником.

Полученное после применения фильтра изображение может быть больше вводного. Например, если класс BlurFilter используется, чтобы размыть очертания исходного прямоугольника с координатами (50,50,100,100) и точку назначения с координатами (10,10), то область конечного изображения будет больше (10,10,60,60) в результате размытости. Это происходит на внутреннем уровне при вызове метода applyFilter().

Если параметр sourceRect параметра sourceBitmapData является внутренней областью, например (50,50,100,100) в изображении 200 x 200, фильтр использует исходные пиксели за пределами параметра sourceRect, чтобы создать целевой прямоугольник.

Если объект BitmapData является объектом, указанным в качестве параметра sourceBitmapData, приложение использует временную копию объекта для выполнения фильтрации. Если требуется обеспечить максимальную производительность, такую ситуацию лучше избегать.

Параметры

sourceBitmapData:BitmapData — Вводное растровое изображение для использования. Исходным изображением может быть другой объект BitmapData, или оно может ссылаться на текущий экземпляр BitmapData.
 
sourceRect:Rectangle — Прямоугольник, определяющий область исходного изображения, которое будет использоваться для ввода.
 
destPoint:Point — Точка в целевом изображении (текущем экземпляре BitmapData), соответствующая правому левому углу исходного прямоугольника.
 
filter:BitmapFilter — Объект фильтра, который будет использоваться для выполнения фильтрации. Каждый тип фильтра имеет определенные требования, приведенные ниже.
  • BlurFilter — этот фильтр может использовать и прозрачные и непрозрачные исходные и конечные изображения. Если форматы изображений не совпадают, то при сопоставлении формата конечного изображения в ходе фильтрации создается копия исходного изображения.
  • BevelFilter, DropShadowFilter, GlowFilter, ChromeFilter — конечное изображение этих фильтров должно быть прозрачным. При вызове фильтра 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 — Объект Rectangle, определяющий область изображения, в которой применяется объект ColorTransform.
 
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

Сравнивает два объекта BitmapData. Если два объекта BitmapData имеют одинаковые размеры (ширину и высоту), метод возвращает новый объект BitmapData, в котором каждый пиксель представляет «разницу» между пикселями двух исходных объектов.

  • Если пиксели равны, то пиксель разницы будет иметь значение 0x00000000.
  • Если у двух пикселей разные RGB-значения (игнорирующие значение альфа-канала), то пиксель разницы будет иметь значение 0xRRGGBB, где RR/GG/BB — это индивидуальные значения разницы между красными, зелеными и синими каналами (значение пикселя в исходном объекте минус значение пикселя в объекте otherBitmapData). В данном случае различия значений альфа-канала игнорируются.
  • Если же альфа-канал имеет другое значение, то значением пикселя будет 0xZZFFFFFF, где ZZ - это разница между альфа-значениями (альфа-значение исходного объекта минус альфа-значение объекта otherBitmapData).

В качестве примера рассмотрим два следующих объекта 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
     

Примечание. Цвета, использованные для заливки двух объектов BitmapData, имеют немного разные RGB-значения (0xFF0000 и 0xFFAA00). В результате использования метода compare() создается новый объект BitmapData, каждый пиксель которого показывает разницу RGB-значений между двумя растровыми изображениями.

Рассмотрим следующие два объекта 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, каждый пиксель которого показывает разницу значений альфа-канала между двумя растровыми изображениями.

Если объекты BitmapData идентичны (имеют одинаковую высоту, ширину и значения пикселей), метод возвращает значение 0.

Если объекты BitmapData имеют разную ширину, метод возвращает значение -3.

Если объекты BitmapData имеют разную высоту, но одинаковую ширину, метод возвращает значение -4.

В следующем примере сравниваются два объекта 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 — Если два объекта BitmapData имеют одинаковые размеры (ширину и высоту), метод возвращает новый объект BitmapData с различиями между двумя объектами (см. главное обсуждение темы). Если объекты BitmapData идентичны, метод возвращает значение 0. Если объекты BitmapData имеют разную ширину, метод возвращает значение -3. Если объекты BitmapData имеют разную высоту, метод возвращает значение -4.

Выдает
TypeError — Объект otherBitmapData имеет значение null.

Пример  ( Использование этого примера )

В следующем примере показывается значение пикселя объекта 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 в канал текущего объекта 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.RED, BitmapDataChannel.BLUE, BitmapDataChannel.GREEN, BitmapDataChannel.ALPHA).
 
destChannel:uint — Целевой канал. Используйте значение класса BitmapDataChannel (BitmapDataChannel.RED, BitmapDataChannel.BLUE, BitmapDataChannel.GREEN, BitmapDataChannel.ALPHA).


Выдает
TypeError — Объекты sourceBitmapData, sourceRect и destPoint имеют значение null.

Связанные элементы API


Пример  ( Использование этого примера )

В следующем примере копируется красный канал объекта BitmapData в его собственный синий канал в области с размером 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

()метод 
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, можно использовать вторичное изображение в качестве источника альфа-канала для исходного изображения. Если исходное изображение имеет данные альфа-канала, то для переноса пикселей из исходного изображения в конечное используются оба набора данных альфа-канала. Параметр alphaPoint — это точка на альфа-изображении, соответствующая верхнему левому углу исходного прямоугольника. Все пиксели, не находящиеся в области пересечения исходного изображения и альфа-изображения, не копируются в конечное изображение.

Свойство mergeAlpha контролирует, используется или нет альфа-канал при копировании одного прозрачного изображение в другое прозрачное изображение. Чтобы копировать пиксели с данными альфа-канала, задайте свойству mergeAlpha значение true. По умолчанию свойство mergeAlpha имеет значение false.

Параметры

sourceBitmapData:BitmapData — Вводное растровое изображение, из которого копируются пиксели. Исходным изображением может быть другой экземпляр BitmapData, или оно может ссылаться на текущий экземпляр BitmapData.
 
sourceRect:Rectangle — Прямоугольник, определяющий область исходного изображения, которое будет использоваться для ввода.
 
destPoint:Point — Точка назначения, представляющая верхний левый угол прямоугольной области, в которую помещаются новые пиксели канала.
 
alphaBitmapData:BitmapData (default = null) — Вторичный источник альфа-канала объекта BitmapData.
 
alphaPoint:Point (default = null) — Точка в альфа-источнике объекта BitmapData, соответствующая верхнему левому углу параметра sourceRect.
 
mergeAlpha:Boolean (default = false) — Чтобы использовать альфа-канал, нужно задать значение true. Чтобы копировать пиксели без альфа-канала, нужно задать значение false.


Выдает
TypeError — Объекты sourceBitmapData, sourceRect и destPoint имеют значение null.

Пример  ( Использование этого примера )

В следующем примере копируются пиксели из области 20 х 20 пикселей одного объекта BitmapData в другой объект 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

Заполняет пространство байтовым массивом из прямоугольного участка пиксельных данных. Начиная с индекса position в ByteArray, этот метод записывает в байтовый массив беззнаковое целое (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() мгновенно освобождает память, занятую фактическими данными растрового изображения (растровое изображение может потреблять до 64 МБ памяти). После вызова BitmapData.dispose() объект BitmapData больше не может использоваться, и среда выполнения Flash выдает исключение в случае последующего вызова функции для объекта BitmapData. Однако метод BitmapData.dispose() не утилизирует объект BitmapData (около 128 байт); память, занимаемая фактическим объектом BitmapData, освобождается при его утилизации сборщиком мусора.

Связанные элементы API


Пример  ( Использование этого примера )

В следующем примере показан результат вызова метода объекта BitmapData после вызова метода dispose() (выдается исключение).
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

Отображает исходный экранный объект source поверх растрового изображения с помощью векторного средства визуализации среды выполнения Flash. Можно задать параметры matrix, colorTransform, blendMode и clipRect назначения, чтобы управлять процессом визуализации. Также можно указать, должно ли сглаживать растровое изображение при масштабировании (это применимо только если источником является объект BitmapData).

Примечание. Метод drawWithQuality() работает так же, как метод draw(), но вместо использования свойства Stage.quality для определения качества визуализации вектора необходимо указать параметр quality в методе drawWithQuality().

Этот метод напрямую соответствует тому, как рисуются объекты с помощью стандартного векторного средства визуализации в интерфейсе инструмента разработки.

Исходный экранный объект не использует свои примененные преобразования для этого вызова. Он обрабатывается в том виде, в котором представлен в библиотеке или файле: без преобразования матрицы, цвета и без режима наложения. Чтобы нарисовать экранный объект (например, фрагмент ролика) с помощью его собственных свойств преобразования, можно скопировать его объект свойства transform в свойство transform объекта Bitmap, использующего объект BitmapData.

Этот метод поддерживается через протокол RTMP в Flash Player 9.0.115.0 и более поздних версиях и в Adobe AIR. Можно контролировать потоки на сервере Flash Media Server в сценарии, выполняемом на стороне сервера. Более подробную информацию см. в статьях о свойствах Client.audioSampleAccess и Client.videoSampleAccess в Справочном руководстве по серверному языку ActionScript для Adobe Flash Media Server.

Если объект source и (в случае с объектами Sprite и MovieClip) все его дочерние объекты не находятся в том же домене, что и вызывающий объект, или не находятся в содержимом, доступном вызывающему объекту посредством вызова метода Security.allowDomain(), вызов метода draw() выдает исключение SecurityError. Это ограничение не применимо к содержимому AIR в изолированной программной среде безопасности приложения.

Существуют также ограничения по использованию загруженного растрового изображения в качестве объекта source. Вызов метода draw() будет успешным, если загруженное изображение принадлежит тому же домену, что и вызывающий объект. Более того, файл междоменной политики на сервере изображения может предоставить право доступа домену содержимого SWF, вызывающего метод draw(). В таком случае необходимо задать свойство checkPolicyFile объекта LoaderContext и использовать этот объект в качестве параметра context при вызове метода load() объекта Loader, используемого для загрузки изображения. Эти ограничения не применимы к содержимому AIR в изолированной программной среде безопасности приложения.

В Windows метод draw() не может выполнить захват содержимого SWF, встроенного в страницу HTML в объекте HTMLLoader в Adobe AIR.

Метод draw() не может выполнить захват содержимого PDF в Adobe AIR. Он также не может выполнить захват содержимого SWF, встроенного в HTML-файл, в котором атрибут wmode имеет значение window в Adobe AIR.

Параметры

source:IBitmapDrawable — Экранный объект или объект BitmapData для рисования объекта BitmapData. Классы DisplayObject и BitmapData реализуют интерфейс IBitmapDrawable.
 
matrix:Matrix (default = null) — Объект Matrix, используемый для масштабирования, поворота и перемещения координат растрового изображения. Если не требуется применять преобразование матрицы в изображение, задайте для этого параметра идентификационную матрицу, созданную с помощью конструктора new Matrix() по умолчанию, или передайте значение null.
 
colorTransform:flash.geom:ColorTransform (default = null) — Объект ColorTransform, используемый для настройки значений цвета растрового изображения. Если объект не указан, цвета растрового изображения не преобразуются. Если вам необходимо передать этот параметр, но преобразовывать изображение не нужно, задайте для него объект ColorTransform, созданный с помощью конструктора new ColorTransform() по умолчанию.
 
blendMode:String (default = null) — Строковое значение класса flash.display.BlendMode, задающее режим наложения, которые будет применен к полученному растровому изображению.
 
clipRect:Rectangle (default = null) — Объект Rectangle, определяющий для рисования область исходного объекта. Если это значение не задано, то обрезка не производится и исходный объект рисуется полностью.
 
smoothing:Boolean (default = false) — Логическое значение, которое определяет, будет ли объект BitmapData сглаживаться при масштабировании или повороте вследствие масштабирования или поворота в параметре matrix. Параметр smoothing применяется, только если параметром source является объект BitmapData. Если smoothing имеет значение false, повернутое или масштабированное изображение BitmapData может получиться нечетким или с зазубренными очертаниями. Например в следующих двух изображениях в качестве параметра source используется один и тот же объект BitmapData, но для левого параметр smoothing имеет значение true, а для правого - false.

Два изображения: левое со сглаживанием и правое без сглаживание.

Рисование с параметром smoothing в значении true требует больше времени, чем со smoothing в значении false.


Выдает
ArgumentError — Параметр source не является объектом BitmapData или DisplayObject.
 
SecurityError — Объект source и (в случае с объектами Sprite и MovieClip) все его дочерние объекты находятся не в том же домене, что и вызывающий объект, или не находятся в содержимом, доступном вызывающему объекту посредством вызова метода Security.allowDomain(). Это ограничение не применимо к содержимому AIR в изолированной программной среде безопасности приложения.
 
ArgumentError — Источник имеет значение 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

Отображает исходный экранный объект source поверх растрового изображения с помощью векторного средства визуализации среды выполнения Flash. Можно задать параметры matrix, colorTransform, blendMode и clipRect назначения, чтобы управлять процессом визуализации. Также можно указать, должно ли сглаживать растровое изображение при масштабировании (это применимо только если источником является объект BitmapData).

Примечание. Метод drawWithQuality() работает так же, как метод draw(), но вместо использования свойства Stage.quality для определения качества визуализации вектора необходимо указать параметр quality в методе drawWithQuality().

Этот метод напрямую соответствует тому, как рисуются объекты с помощью стандартного векторного средства визуализации в интерфейсе инструмента разработки.

Исходный экранный объект не использует свои примененные преобразования для этого вызова. Он обрабатывается в том виде, в котором представлен в библиотеке или файле: без преобразования матрицы, цвета и без режима наложения. Чтобы нарисовать экранный объект (например, фрагмент ролика) с помощью его собственных свойств преобразования, можно скопировать его объект свойства transform в свойство transform объекта Bitmap, использующего объект BitmapData.

Этот метод поддерживается через протокол RTMP в Flash Player 9.0.115.0 и более поздних версиях и в Adobe AIR. Можно контролировать потоки на сервере Flash Media Server в сценарии, выполняемом на стороне сервера. Дополнительные сведения см. в разделах о свойствах Client.audioSampleAccess и Client.videoSampleAccess в документе Справочник по языку ActionScript на стороне сервера для Adobe Flash Media Server.

Если объект source и (в случае с объектами Sprite и MovieClip) все его дочерние объекты не находятся в том же домене, что и вызывающий объект, или не находятся в содержимом, доступном вызывающему объекту посредством вызова метода Security.allowDomain(), вызов метода drawWithQuality() выдает исключение SecurityError. Это ограничение не применимо к содержимому AIR в изолированной программной среде безопасности приложения.

Существуют также ограничения по использованию загруженного растрового изображения в качестве объекта source. Вызов метода drawWithQuality() будет успешным, если загруженное изображение принадлежит тому же домену, что и вызывающий объект. Более того, файл междоменной политики на сервере изображения может предоставить право доступа домену содержимого SWF, вызывающего метод drawWithQuality(). В таком случае необходимо задать свойство checkPolicyFile объекта LoaderContext и использовать этот объект в качестве параметра context при вызове метода load() объекта Loader, используемого для загрузки изображения. Эти ограничения не применимы к содержимому AIR в изолированной программной среде безопасности приложения.

В Windows метод drawWithQuality() не может выполнить захват содержимого SWF, встроенного в страницу HTML в объекте HTMLLoader в Adobe AIR.

Метод drawWithQuality() не может выполнить захват содержимого PDF в Adobe AIR. Он также не может выполнить захват содержимого SWF, встроенного в HTML-файл, в котором атрибут wmode имеет значение window в Adobe AIR.

Параметры

source:IBitmapDrawable — Экранный объект или объект BitmapData для рисования объекта BitmapData. Классы DisplayObject и BitmapData реализуют интерфейс IBitmapDrawable.
 
matrix:Matrix (default = null) — Объект Matrix, используемый для масштабирования, поворота и перемещения координат растрового изображения. Если не требуется применять преобразование матрицы в изображение, задайте для этого параметра идентификационную матрицу, созданную с помощью конструктора new Matrix() по умолчанию, или передайте значение null.
 
colorTransform:flash.geom:ColorTransform (default = null) — Объект ColorTransform, используемый для настройки значений цвета растрового изображения. Если объект не указан, цвета растрового изображения не преобразуются. Если вам необходимо передать этот параметр, но преобразовывать изображение не нужно, задайте для него объект ColorTransform, созданный с помощью конструктора new ColorTransform() по умолчанию.
 
blendMode:String (default = null) — Строковое значение класса flash.display.BlendMode, задающее режим наложения, которые будет применен к полученному растровому изображению.
 
clipRect:Rectangle (default = null) — Объект Rectangle, определяющий для рисования область исходного объекта. Если это значение не задано, то обрезка не производится и исходный объект рисуется полностью.
 
smoothing:Boolean (default = false) — Логическое значение, которое определяет, будет ли объект BitmapData сглаживаться при масштабировании или повороте вследствие масштабирования или поворота в параметре matrix. Параметр smoothing применяется, только если параметром source является объект BitmapData. Если smoothing имеет значение false, повернутое или масштабированное изображение BitmapData может получиться нечетким или с зазубренными очертаниями. Например в следующих двух изображениях в качестве параметра source используется один и тот же объект BitmapData, но для левого параметр smoothing имеет значение true, а для правого - false.

Два изображения: левое со сглаживанием и правое без сглаживание.

Рисование с параметром smoothing в значении true требует больше времени, чем со smoothing в значении false.

 
quality:String (default = null) — Любое из значений StageQuality. Выбирает качество сглаживания для использования при рисовании векторной графики.


Выдает
ArgumentError — Параметр source не является объектом BitmapData или DisplayObject.
 
SecurityError — Объект source и (в случае с объектами Sprite и MovieClip) все его дочерние объекты находятся не в том же домене, что и вызывающий объект, или не находятся в содержимом, доступном вызывающему объекту посредством вызова метода Security.allowDomain(). Это ограничение не применимо к содержимому AIR в изолированной программной среде безопасности приложения.
 
ArgumentError — Источник имеет значение 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.

В следующем примере выполняется сжатие объекта BitmapData с использованием алгоритма 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); 

Параметры

rect:Rectangle — Сжимаемая область объекта BitmapData.
 
compressor:Object — Тип используемого сжатия. Допустимые значения: flash.display.PNGEncoderOptions, flash.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 часто указываются в шестнадцатеричном формате, например 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() напоминает инструмент заливки в различных программах для рисования. Цвет представляет собой цвет 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

Определяет целевой прямоугольник, на который оказывает влияние вызов метода applyFilter() при наличии объекта BitmapData, исходного прямоугольника и объекта фильтра.

Например, размывающий фильтр обычно воздействует на область, размер которой превышает размер исходного изображения. Изображение размером 100 x 200 пикселей, отфильтрованное с использованием экземпляра BlurFilter по умолчанию, где blurX = blurY = 4 создает целевой прямоугольник с координатами (-2,-2,104,204). Метод generateFilterRect() позволяет заранее определять размер целевого прямоугольника, чтобы соответствующим образом изменить его размеры перед применением фильтра.

Некоторые фильтры обрезают целевой прямоугольник по размеру исходного изображения. Например, внутренний фильтр DropShadow не увеличивает размер по сравнению с исходным изображением. В данном API-интерфейсе объект BitmapData используется в качестве исходных границ, а не исходного параметра rect.

Параметры

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).

Например, если имеется исходное изображение и требуется определить прямоугольник изображения, содержащий ненулевой альфа-канал, передайте в качестве параметров {mask: 0xFF000000, color: 0x00000000}. Если параметру findColor задано значение true, в пределах всего изображения ведется поиск границ с пикселями, для которых (value & mask) == color (где value - это значение цвета пикселя). Если параметру findColor задано значение false, в пределах всего изображения ведется поиск границ пикселей, для которых (value & mask)!= color (где value - это значение цвета пикселя). Чтобы определить белое пространство вокруг изображения, передайте {mask: 0xFFFFFFFF, color: 0xFFFFFFFF}, чтобы найти границы не белых пикселей.

Параметры

mask:uint — Шестнадцатеричное значение, указывающее рассматриваемые биты цвета ARGB. Значение цвета объединяется с данным шестнадцатеричным значением с использованием оператора & (побитовое И).
 
color:uint — Шестнадцатеричное значение, задающее цвет ARGB для соответствия (если findColor имеет значение true) или не соответствия (если findColor имеет значение false).
 
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

Возвращает целое число, представляющее RGB-значение пикселя из объекта BitmapData в конкретной точке (x, y). Метод getPixel() возвращает неумноженное значение пикселя. Информация альфа-канала не возвращается.

Все пиксели в объекте BitmapData сохраняются как предварительно умноженные значения цвета. В предварительно умноженном пикселе изображения значения красного, зеленого и синего канала уже умножены на данные альфа-канала. Например, если значение альфа-канала равно нулю, то значения RGB-каналов также равны нулю независимо от их значений до умножения. Потеря данных может вызвать проблемы при выполнении операций. Все методы 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

Возвращает значение цвета ARGB, содержащее данные альфа-канала и данные RGB. Этот метод подобен методу getPixel(), который возвращает RGB-цвет без данных альфа-канала.

Все пиксели в объекте BitmapData сохраняются как предварительно умноженные значения цвета. В предварительно умноженном пикселе изображения значения красного, зеленого и синего канала уже умножены на данные альфа-канала. Например, если значение альфа-канала равно нулю, то значения RGB-каналов также равны нулю независимо от их значений до умножения. Потеря данных может вызвать проблемы при выполнении операций. Все методы BitmapData принимают и возвращают неумноженные значения. Перед тем как возвращать значение, внутреннее представление пикселя преобразуется из предварительно умноженного в неумноженное. Во время операции настройки, значение пикселя предварительно умножается, и только после этого настраивается необработанный пиксель изображения.

Параметры

x:int — Положение пикселя по оси x.
 
y:int — Положение пикселя по оси y.

Возвращает
uint — Число, представляющее значение пикселя ARGB. Если координаты (x, y) находятся за пределами изображения, возвращается значение 0.

Связанные элементы API


Пример  ( Использование этого примера )

В следующем примере создается объект BitmapData, залитый цветом, а затем с помощью метода getPixel32() определяется значение цвета в верхнем левом пикселе, после чего определяются шестнадцатеричные значения для каждого компонента цвета (альфа-канал, красный, зеленый и синий).
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-разрядное неумноженное значение пикселя) для каждого пикселя в байтовом массиве.

Параметры

rect:Rectangle — Прямоугольная область в текущем объекте BitmapData.

Возвращает
ByteArray — Объект ByteArray, представляющий пиксели в данном объекте Rectangle.

Выдает
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

Формирует векторный массив из прямоугольного участка пиксельных данных. Возвращает объект Vector беззнаковых целых чисел (32-разрядное неумноженное пиксельное значение) для заданного прямоугольника.

Параметры

rect:Rectangle — Прямоугольная область в текущем объекте BitmapData.

Возвращает
Vector.<uint> — Объект Vector, представляющий указанный объект Rectangle.

Выдает
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

Вычисление гистограммы двоичных чисел с 256 значениями для объекта BitmapData. Этот метод возвращает объект Vector, содержащий четыре экземпляра Vector.<Number> (четыре объекта Vector, содержащие объекты Number). Четыре экземпляра Vector представляют красный, зеленый, синий и альфа компоненты по порядку. Каждый экземпляр Vector содержит 256 значений, которые представляют распространение отдельного значения компонента: от 0 до 255.

Параметры

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

Выполняет распознавание на уровне пикселей между одним растровым изображением и точкой, прямоугольником или другим растровым изображением. Попаданием считается наложение точки или прямоугольника на непрозрачный пиксель или два накладывающихся непрозрачных пикселя. При тестировании нажатия растягивание, поворот и другие преобразования обоих объектов не учитываются.

Если изображение непрозрачное, то при использовании данного метода оно считается полностью непрозрачным прямоугольником. Для тестирования нажатия, при котором учитывается прозрачность, оба изображения должны быть прозрачными. Когда тестируются два прозрачных изображения, параметры порога альфа-значений контролируют, какие значения альфа-канала (от 0 до 255) считаются непрозрачными.

Параметры

firstPoint:Point — Положение верхнего левого угла изображения BitmapData в произвольном координатном пространстве. То же координатное пространство используется при определении параметра secondBitmapPoint.
 
firstAlphaThreshold:uint — Самое низкое значение альфа-канала, рассматриваемое как непрозрачное, для данной проверки попадания.
 
secondObject:Object — Объект Rectangle, Point, Bitmap или BitmapData.
 
secondBitmapDataPoint:Point (default = null) — Точка, определяющая местоположение пикселя во втором объекте BitmapData. Используйте этот параметр, только когда значением secondObject является объект BitmapData.
 
secondAlphaThreshold:uint (default = 1) — Самое низкое значение альфа-канала, рассматриваемое как непрозрачное во втором объекте BitmapData. Используйте этот параметр, только когда значением secondObject является BitmapData и оба объекта BitmapData прозрачные.

Возвращает
Boolean — Имеет значение true при наличии совпадений; в противном случае - false.

Выдает
ArgumentError — Параметр secondObject не является объектом Point, Rectangle, Bitmap или BitmapData.
 
TypeError — Объект firstPoint имеет значение null.

Пример  ( Использование этого примера )

В следующем примере создается объект BitmapData, являющийся непрозрачным только в прямоугольной области с координатами (20, 20, 40, 40), и вызывается метод hitTest() с объектом Point в качестве secondObject. При первом вызове объект Point определяет верхний левый угол объекта BitmapData, который является прозрачным, а при втором вызове объект 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, например объекты Bitmap, не обновлялись при изменении данного объекта BitmapData. Чтобы повысить производительность, используйте этот метод вместе с методом unlock() до или после многочисленных вызовов метода setPixel() или setPixel32().

Связанные элементы API


Пример  ( Использование этого примера )

В следующем примере создается объект BitmapData на базе свойства bitmapData объекта Bitmap с именем picture. Затем вызывается метод lock() перед вызовом сложной пользовательской функции, complexTransformation(), изменяющей объект BitmapData. (Объект 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;

Значения redMultiplier, greenMultiplier, blueMultiplier и alphaMultiplier являются множителями, используемыми для канала каждого цвета. Используйте шестнадцатеричное значение от 0 до 0x100 (256), где 0 обозначает, что в результате используется полное значение целевого изображения, а 0x100 - что используется полное значение исходного изображения, а промежуточные числа означают, что используется наложение (так 0x80 указывает на 50-процентное наложение).

Параметры

sourceBitmapData:BitmapData — Вводное растровое изображение для использования. Исходным изображением может быть другой объект BitmapData, или оно может ссылаться на текущий объект BitmapData.
 
sourceRect:Rectangle — Прямоугольник, определяющий область исходного изображения, которое будет использоваться для ввода.
 
destPoint:Point — Точка в целевом изображении (текущем экземпляре BitmapData), соответствующая правому левому углу исходного прямоугольника.
 
redMultiplier:uint — Шестнадцатеричное значение, на которое будет умножаться значение красного канала.
 
greenMultiplier:uint — Шестнадцатеричное значение, на которое будет умножаться значение зеленого канала.
 
blueMultiplier:uint — Шестнадцатеричное значение, на которое будет умножаться значение синего канала.
 
alphaMultiplier:uint — Шестнадцатеричное значение, на которое будет умножаться значение альфа-канала.


Выдает
TypeError — Объекты sourceBitmapData, sourceRect и destPoint имеют значение null.

Пример  ( Использование этого примера )

В следующем примере создаются два объекта BitmapData. Размер обоих составляет 100 х 80 пикселей. Первый объект заливается зеленым цветом, а второй — красным. Код вызывает метод merge(), накладывающий пиксели второго объекта 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) — Число, которое может представлять собой любую комбинацию значений четырех каналов цвета (BitmapDataChannel.RED, BitmapDataChannel.BLUE, BitmapDataChannel.GREEN и BitmapDataChannel.ALPHA). Можно использовать логический оператор ИЛИ (|) для комбинирования значений каналов.
 
grayScale:Boolean (default = false) — Логическое значение. Если имеет значение true, создается изображение с использованием серой шкалы путем присвоения всем цветовым каналам одного и того же значения. На значение альфа-канала не воздействует задание значения true для этого параметра.

Связанные элементы API


Пример  ( Использование этого примера )

В следующем примере создается два объекта BitmapData и для каждого из них вызывается метод noise(). Однако параметру grayscale задано значение false для вызова метода noise() первого объекта и true для вызова метода 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

Переназначает значения цветовых каналов в изображении, содержащем до четырех массивов данных цветовой палитры, по одному для каждого канала.

Среда выполнения Flash предпринимает следующие шаги для создания конечного изображения.

  1. После вычисления значения красного, зеленого, синего и альфа-каналов складываются, образуя стандартное 32-разрядное целое число.
  2. Значения красного, зеленого, синего и альфа-каналов каждого пикселя извлекаются в отдельные значения от 0 до 255. Эти значения используются для поиска новых значений цвета в соответствующем массиве: redArray, greenArray, blueArray и alphaArray. Каждый из этих четырех массивов должен содержать 256 значений.
  3. После получения новых значений для всех четырех каналов, они образуют стандартное значение ARGB, которое применяется к пикселю.

Этот метод может поддерживать эффекты, создаваемые с использованием разных каналов. Каждый вводный массив содержит полные 32-разрядные значения, поэтому при складывании значений не происходит смещения. Эта подпрограмма не поддерживает фиксацию по каналам.

Если для канала не задан массив, то канал цвета копируется из исходного изображения в целевое.

Этот метод можно использовать для самых разнообразных эффектов, таких как общее наложение палитры (преобразование одного канала для создания псевдо-цветного изображения). Этот метод можно использовать для различных расширенных алгоритмов манипуляций с цветом, таких как использование гаммы, кривых, уровней и квантизации.

Параметры

sourceBitmapData:BitmapData — Вводное растровое изображение для использования. Исходным изображением может быть другой объект BitmapData, или оно может ссылаться на текущий экземпляр BitmapData.
 
sourceRect:Rectangle — Прямоугольник, определяющий область исходного изображения, которое будет использоваться для ввода.
 
destPoint:Point — Точка в целевом изображении (текущем объекте BitmapData), соответствующая правому левому углу исходного прямоугольника.
 
redArray:Array (default = null) — Если redArray не имеет значение null, красный = redArray[исходное значение красного], в противном случае красный = исходное значение красного (red = redArray[source red value] else red = source rect value).
 
greenArray:Array (default = null) — Если greenArray не имеет значение null, зеленый = greenArray[исходное значение зеленого], в противном случае зеленый = исходное значение зеленого (green = greenArray[source green value] else green = source green value.)
 
blueArray:Array (default = null) — Если blueArray не имеет значение null, синий = blueArray[исходное значение синего], в противном случае синий = исходное значение синего (blue = blueArray[source blue value] else blue = source blue value.
 
alphaArray:Array (default = null) — Если alphaArray не имеет значение null, альфа = alphaArray[исходное альфа-значение], в противном случае альфа = исходное альфа-значение (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

Создает изображение с шумом Перлина.

Алгоритм создания шума Перлина интерполирует и объединяет отдельные функции случайного шума (называемые октавами) в одну функцию, создающую более естественный случайный шум. Как и в музыкальных октавах, каждая функция октавы удваивает частоту предыдущей. Шум Перлина описывается как «фрактальная сумма шума», так как он объединяет несколько наборов шумовых данных с разным уровнем детализации.

Функции шума Перлина можно использовать для симуляции естественных явлений и ландшафтов, таких как текстура древесины, облака и горные хребты. В большинстве случаев результат функции шума Перлина не отображается непосредственно: он используется для доработки других изображений, придавая им псевдослучайные вариации.

Простые функции цифрового белого шума часто дают изображения с резко контрастирующими точками. Такое явление редко встречается в естественных условиях. Алгоритм шума Перлина объединяет несколько функций шума с разным уровнем детализации. В результате чего разница между значениями соседних пикселей становится не столь большой.

Параметры

baseX:Number — Частота, используемая по оси x. Например, чтобы создать объект с шумом для изображения размером 64 x 128, передайте 64 для значения baseX.
 
baseY:Number — Частота для использования в направлении y. Например, чтобы создать объект с шумом для изображения размером 64 x 128, передайте 128 для значения baseY.
 
numOctaves:uint — Количество октав или индивидуальных функций шума, которые необходимо объединить с целью создания шума. Чем больше октав, тем более детальное изображение создается. Также чем больше октав, тем больше времени требуется на обработку.
 
randomSeed:int — Начальное значение, используемое для создания случайных чисел. Если не изменять остальных параметров, можно создавать различные псевдослучайные результаты, изменяя начальное значение случайной последовательности. Функция шума Перлина является функцией наложения, а не настоящей функцией создания случайных чисел, поэтому при использовании одного и того же начального числа она каждый раз дает одинаковые результаты.
 
stitch:Boolean — Логическое значение. При значении true метод пытается сгладить края перехода изображения, чтобы создать бесшовную текстуру для мозаичной заливки растровым изображением.
 
fractalNoise:Boolean — Логическое значение. При значении true метод создает фрактальный шум, в противном случае создается турбулентность. Изображение с турбулентностью имеет видимые прерывания градиента, благодаря чему оно больше подходит для более резких визуальных эффектов, например для создания языков пламени или морских волн.
 
channelOptions:uint (default = 7) — Число, которое может представлять собой любую комбинацию значений четырех каналов цвета (BitmapDataChannel.RED, BitmapDataChannel.BLUE, BitmapDataChannel.GREEN и BitmapDataChannel.ALPHA). Можно использовать логический оператор ИЛИ (|) для комбинирования значений каналов.
 
grayScale:Boolean (default = false) — Логическое значение. При значении true создается изображение с использованием серой шкалы путем присвоения каналам красного, зеленого и синего цветов идентичных значений. Значение альфа-канала остается без изменений, если данному параметру задано значение true.
 
offsets:Array (default = null) — Массив точек, соответствующий смещениям в направлениях x и y для каждой октавы. Изменяя значения смещения, можно плавно прокручивать слои изображения с шумом Перлина. Каждая точка в массиве смещения применяется к функции шума конкретной октавы.


Пример  ( Использование этого примера )

В следующем примере создается объект BitmapData 200 х 200 пикселей, который вызывает метод perlinNoise() для создания эффекта красной и синей акварели.
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) — По умолчанию составляет 1/30 исходной области (ширина x высота).
 
fillColor:uint (default = 0) — Значение цвета ARGB, используемое для заливки пикселей, для которых исходное значение равно целевому.

Возвращает
int — Новое начальное значение случайного числа для последующих вызовов.

Выдает
TypeError — Объекты sourceBitmapData, sourceRect и destPoint имеют значение null.
 
TypeError — numPixels имеет отрицательное значение.

Пример  ( Использование этого примера )

В следующем примере метод pixelDissolve() используется для преобразования серого объекта BitmapData в красный: одновременно растворяется по 40 пикселей до тех пор, пока не будет изменен цвет всех пикселей.
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 — Число точек для прокрутки по вертикали.


Пример  ( Использование этого примера )

В следующем примере показывается эффект прокрутки объекта BitmapData на 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. При выполнении этой операции сохраняется текущее значение альфа-канала пикселя изображения. Значение параметра 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. Этот метод поход на метод setPixel(). Основное различие заключается в том, что метод setPixel32() принимает ARGB-значение цвета, содержащее информацию об альфа-канале.

Все пиксели в объекте BitmapData сохраняются как предварительно умноженные значения цвета. В предварительно умноженном пикселе изображения значения красного, зеленого и синего канала уже умножены на данные альфа-канала. Например, если значение альфа-канала равно нулю, то значения RGB-каналов также равны нулю независимо от их значений до умножения. Потеря данных может вызвать проблемы при выполнении операций. Все методы BitmapData принимают и возвращают неумноженные значения. Перед тем как возвращать значение, внутреннее представление пикселя преобразуется из предварительно умноженного в неумноженное. Во время операции настройки, значение пикселя предварительно умножается, и только после этого настраивается необработанный пиксель изображения.

Примечание. Для повышения производительности при многократном использовании метода setPixel() или setPixel32() вызовите метод lock() перед тем, как вызывать setPixel() или setPixel32(), а по завершении внесения изменений в пиксели, вызовите метод unlock(). Эта процедура не позволяет объектам, ссылающимся на данный экземпляр BitmapData, обновляться, пока не будет завершено изменение пикселей.

Параметры

x:int — Положение по оси x пикселей, значение которого меняется.
 
y:int — Положение по оси y пикселя, значение которого меняется.
 
color:uint — Полученный ARGB-цвет пикселя. Если растровое изображение непрозрачное, то альфа-составляющая значения цвета игнорируется.

Связанные элементы API


Пример  ( Использование этого примера )

В следующем примере с помощью метода setPixel32() рисуется прозрачная красная линия в объекте BitmapData (значение альфа-канала = 0х60).
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-разрядные ARGB-значения пикселей. Перед считыванием пикселей и после него поиск по массиву байтов не выполняется.

Параметры

rect:Rectangle — Задает прямоугольную область объекта BitmapData.
 
inputByteArray:ByteArray — Объект ByteArray состоит из 32-разрядных неумноженных пиксельных значений, которые должны использоваться в прямоугольной области.


Выдает
EOFError — Объект inputByteArray не содержит достаточно данных для заполнения области прямоугольника rect. Метод заполняет максимально возможное количество пикселей, а затем выдает исключение.
 
TypeError — Объекты rect и inputByteArray имеют значение null.

Связанные элементы API


Пример  ( Использование этого примера )

В следующем примере методы getPixels() и setPixels() используются для копирования пикселей из одного объекта 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

Преобразует вектор в прямоугольную область пиксельных данных. Для каждого пикселя элемент вектора считывается и записывается в пиксель BitmapData. Ожидается, что данные в векторе являются 32-разрядными ARGB-значениями пикселей.

Параметры

rect:Rectangle — Задает прямоугольную область объекта BitmapData.
 
inputVector:Vector.<uint> — Векторный объект состоит из 32-разрядных неумноженных пиксельных значений, используемых в прямоугольной области


Выдает
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 — В качестве строки String передается один из следующих операторов сравнения: "<", "<=", ">", ">=", "==", "!="
 
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() для добавления сине-красного рисунка в объект BitmapData, а затем вызывается метод threshold(), чтобы скопировать эти пиксели из первого объекта BitmapData во второй, заменяя пиксели, в которых значение красного больше 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, например объекты Bitmap, обновлялись при изменении данного объекта BitmapData. Чтобы повысить производительность, используйте этот метод вместе с методом lock() до или после многочисленных вызовов метода setPixel() или setPixel32().

Параметры

changeRect:Rectangle (default = null) — Измененная область объекта BitmapData. Если не задать значения для данного параметра, измененной считается вся область объекта BitmapData. Для использования этого параметра требуется проигрыватель Flash Player версии 9.0.115.0 или более поздней.

Связанные элементы API


Пример  ( Использование этого примера )

В следующем примере создается объект BitmapData на базе свойства bitmapData объекта Bitmap с именем picture. Затем вызывается метод lock() перед вызовом сложной пользовательской функции, complexTransformation(), изменяющей объект BitmapData. (Объект 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 в объект DisplayObject в месте по умолчанию (0, 0). Затем копия Image.gif помещается справа от оригинала, в котором применяются новые цвета к пикселям, тестируемым с помощью метода threshold(). Это можно сделать, выполнив следующие действия.
  1. Создается свойство url, описывающее местоположение и имя файла изображения.
  2. Конструктор класса создает объект Loader, который затем создает экземпляр прослушивателя событий, отправляемых по завершении обработки изображения методом completeHandler().
  3. Затем объект URLRequest с именем request передается методу loader.load(), который загружает изображение в память с помощью экранного объекта.
  4. После этого изображение добавляется в список отображения, который отображает изображение на экране в положении с координатами x = 0, y = 0.
  5. Затем метод completeHandler() выполняет следующие действия.
    • Создает второй объект Loader и инициализированный вместе с ним объект Bitmap.
    • Создает второй объект Bitmap, duplicate, который в свою очередь вызывает метод duplicateImage(), создающий дубликат исходного изображения.
    • Создает объект BitmapData, который назначается объекту BitmapData объекта duplicate.
    • Создает новый объект Rectangle, инициализированный с теми же координатами, шириной и высотой, что и исходное изображение.
    • Создает новый объект Point с координатами по умолчанию: x = 0, y = 0.
    • Создает следующие переменные:
      • operation — Использует новый цвет при пороговом значении, которое больше или равно исходному значению.
      • threshold — Значение, с которым сравнивается каждый пиксель (в данном примере это светло-серый цвет со значением альфа-канала 0xCC).
      • color — Цвет, указанный для пикселей, проходящих пороговый тест; в данном случае это желтый цвет.
      • mask — Диаметрально противоположный цвет (прозрачный синий).
      • copySource — Установлено на значение false, указывающее на то, что значения пикселей не копируются в том случае, если они не проходят пороговое значение. Это значение не имеет смысла, потому что изображение продублировано и изменяются только пиксели, прошедшие пороговый тест.
    • Вызывает метод 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 будет отображаться на английском языке.