Главная / Action Script 3
Пакетflash.display
Классpublic class Bitmap
НаследованиеBitmap Inheritance DisplayObject Inheritance EventDispatcher Inheritance Object

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Класс Bitmap представляет экранные объекты, представляющие растровые изображения. Это могут быть изображения, загружаемые с помощью класса flash.display.Loader или созданные с помощью конструктора Bitmap().

Конструктор Bitmap() позволяет создать объект Bitmap, содержащий ссылку на объект BitmapData. Создав объект Bitmap, используйте метод addChild() или addChildAt() родительского экземпляра DisplayObjectContainer, чтобы добавить растровое изображение в список отображения.

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

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

Если объект Bitmap загружается не с того домена, на котором находится объект Loader, используемый для загрузки изображения, и не предусмотрено файла политики URL-адресов, предоставляющего доступ к домену объекта Loader, тогда сценарий в этом домене не может получить доступ к объекту Bitmap, его свойствам и методам. Дополнительные сведения см. в следующих источниках.

Примечание. Класс Bitmap не является подклассом класса InteractiveObject, поэтому он не может отправлять события мыши. Однако можно использовать метод addEventListener() контейнера экранного объекта, содержащего объект Bitmap.

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

См. также

flash.display.Loader
flash.display.BitmapData
Основные классы показа
Основы работы с растровыми изображениями
Введение в работу с растровыми изображениями


Общедоступные свойства
 СвойствоОпределено
 InheritedaccessibilityProperties : AccessibilityProperties
Текущие параметры специальных возможностей для данного экранного объекта.
DisplayObject
 Inheritedalpha : Number
Указывает значение альфа-прозрачности заданного объекта.
DisplayObject
  bitmapData : BitmapData
Объект BitmapData, указанный в ссылке.
Bitmap
 InheritedblendMode : String
Значение класса BlendMode, задающее режим наложения.
DisplayObject
 InheritedblendShader : Shader
[только для записи] Задает затенение, используемое при наложении переднего плана на фон.
DisplayObject
 InheritedcacheAsBitmap : Boolean
При значении true проигрыватель Flash Player кэширует внутреннее растровое представление экранного объекта.
DisplayObject
 Inheritedconstructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта.
Object
 Inheritedfilters : Array
Индексированный массив, который содержит все объекты filter, связанные в настоящий момент с экранным объектом.
DisplayObject
 Inheritedheight : Number
Указывает высоту экранного объекта в пикселах.
DisplayObject
 InheritedloaderInfo : LoaderInfo
[только для чтения] Возвращает объект LoaderInfo, содержащий сведения о загрузке файла, к которому принадлежит этот экранный объект.
DisplayObject
 Inheritedmask : DisplayObject
Вызывающий экранный объект маскируется заданным объектом mask.
DisplayObject
 InheritedmouseX : Number
[только для чтения] Указывает координату x положения курсора мыши (в пикселах).
DisplayObject
 InheritedmouseY : Number
[только для чтения] Указывает координату y положения курсора мыши (в пикселах).
DisplayObject
 Inheritedname : String
Указывает имя экземпляра DisplayObject.
DisplayObject
 InheritedopaqueBackground : Object
Определяет, является ли экранный объект непрозрачным с определенным цветом фона.
DisplayObject
 Inheritedparent : DisplayObjectContainer
[только для чтения] Указывает объект DisplayObjectContainer, содержащий данный экранный объект.
DisplayObject
  pixelSnapping : String
Определяет, должен ли объект Bitmap быть привязанным к ближайшему пикселу.
Bitmap
 Inheritedprototype : Object
[статические] Ссылка на модель объекта класса или функции.
Object
 Inheritedroot : DisplayObject
[только для чтения] В случае с экранным объектом в загруженном SWF-файле свойством root является самый верхний экранный объект в части структуры дерева списка отображения, представленной этим SWF-файлом.
DisplayObject
 Inheritedrotation : Number
Указывает поворот экземпляра DisplayObject относительно его исходной ориентации (в градусах).
DisplayObject
 InheritedrotationX : Number
Обозначает поворот в градусах по оси x экземпляра DisplayObject относительно исходной ориентации по трехмерному родительскому контейнеру.
DisplayObject
 InheritedrotationY : Number
Обозначает поворот в градусах по оси у экземпляра DisplayObject относительно исходной ориентации по трехмерному родительскому контейнеру.
DisplayObject
 InheritedrotationZ : Number
Обозначает поворот в градусах по оси z экземпляра DisplayObject относительно исходной ориентации по трехмерному родительскому контейнеру.
DisplayObject
 Inheritedscale9Grid : Rectangle
Текущая активная сетка масштабирования.
DisplayObject
 InheritedscaleX : Number
Указывает горизонтальное масштабирование объекта от точки регистрации (в процентах).
DisplayObject
 InheritedscaleY : Number
Указывает вертикальное масштабирование объекта от точки регистрации (в процентах).
DisplayObject
 InheritedscaleZ : Number
Указывает масштабирование глубины объекта (в процентах) относительно точки регистрации этого объекта.
DisplayObject
 InheritedscrollRect : Rectangle
Прямоугольная область прокрутки экранного объекта.
DisplayObject
  smoothing : Boolean
Определяет, следует ли смягчать растровое изображение при масштабировании.
Bitmap
 Inheritedstage : Stage
[только для чтения] Класс Stage экранного объекта.
DisplayObject
 Inheritedtransform : Transform
Объект со свойствами, относящимися к матрице, преобразованию цвета и пиксельным границам экранного объекта.
DisplayObject
 Inheritedvisible : Boolean
Определяет видимость экранного объекта.
DisplayObject
 Inheritedwidth : Number
Указывает ширину экранного объекта в пикселах.
DisplayObject
 Inheritedx : Number
Указывает координату x экземпляра DisplayObject, связанную с локальными координатами родительского DisplayObjectContainer.
DisplayObject
 Inheritedy : Number
Указывает координату y экземпляра DisplayObject, связанную с локальными координатами родительского DisplayObjectContainer.
DisplayObject
 Inheritedz : Number
Указывает положение по оси z экземпляра DisplayObject относительно трехмерного родительского контейнера.
DisplayObject
Общедоступные методы
 МетодОпределено
  
Bitmap(bitmapData:BitmapData = null, pixelSnapping:String = "auto", smoothing:Boolean = false)
Инициализирует объект Bitmap для ссылки на заданный объект BitmapData.
Bitmap
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Регистрирует объект прослушивателя события в объекте EventDispatcher, в результате чего прослушиватель будет получать уведомления о событиях.
EventDispatcher
 Inherited
Передает событие в поток событий.
EventDispatcher
 Inherited
getBounds(targetCoordinateSpace:DisplayObject):Rectangle
Возвращает прямоугольник, определяющий область экранного объекта, которая относится к системе координат объекта targetCoordinateSpace.
DisplayObject
 Inherited
getRect(targetCoordinateSpace:DisplayObject):Rectangle
Возвращает прямоугольник, определяющий границу экранного объекта по системе координат, заданной параметром targetCoordinateSpace, за исключением линий фигур.
DisplayObject
 Inherited
Преобразует объект Point из координат рабочей области (глобальных) в координаты экранного объекта (локальные).
DisplayObject
 Inherited
Преобразует двумерный объект Point из координат рабочей области (глобальных) в координаты экранного трехмерного объекта (локальные).
DisplayObject
 Inherited
Проверяет наличие у объекта EventDispatcher прослушивателей событий, которые зарегистрированы для получения уведомлений о событиях определенного типа.
EventDispatcher
 Inherited
Показывает, определено ли заданное свойство для объекта.
Object
 Inherited
Оценивает экранный объект, чтобы определить, перекрывает ли он экранный объект obj или пересекается с ним.
DisplayObject
 Inherited
hitTestPoint(x:Number, y:Number, shapeFlag:Boolean = false):Boolean
Вычисляет экранный объект, чтобы определить, перекрывает ли он точку, заданную координатами x и y, или пересекает ее.
DisplayObject
 Inherited
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра.
Object
 Inherited
Преобразует трехмерный объект point из координат трехмерного экранного объекта (локальных) в двухмерный объект point с координатами рабочей области (глобальными).
DisplayObject
 Inherited
Преобразует объект point из координат экранного объекта (локальных) в координаты рабочей области (глобальные).
DisplayObject
 Inherited
Показывает наличие заданного свойства и его перечисляемость.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Удаляет прослушиватель из объекта EventDispatcher.
EventDispatcher
 Inherited
Задает доступность динамического свойства для операций цикла.
Object
 Inherited
Возвращает строковое представление заданного объекта.
Object
 Inherited
Возвращает элементарное значение заданного объекта.
Object
 Inherited
Проверяет, зарегистрирован ли прослушиватель событий в объекте EventDispatcher или в любом из его предков для получения уведомлений о событиях определенного типа.
EventDispatcher
События
 Событие Сводка Определено
 Inherited[многоадресное событие] Отправляется, когда проигрыватель Flash Player перемещается в фокус операционной системы и становится активным.EventDispatcher
 InheritedОтправляется, когда экранный объект добавляется в список отображения.DisplayObject
 InheritedОтправляется, когда экранный объект добавляется к списку отображения в рабочей области, либо непосредственно, либо путем добавления поддерева, содержащего экранный объект.DisplayObject
 Inherited[многоадресное событие] Отправляется, когда проигрыватель Flash Player покидает фокус операционной системы и становится неактивным.EventDispatcher
 Inherited[многоадресное событие] Отправляется, когда точка воспроизведения переходит в новый кадр.DisplayObject
 Inherited[многоадресное событие] Отправляется, когда точка воспроизведения покидает текущий кадр.DisplayObject
 Inherited[многоадресное событие] Отправляется после завершения работы конструкторов экранных объектов кадра до выполнения сценариев кадра.DisplayObject
 InheritedОтправляется перед удалением экранного объекта из списка отображения.DisplayObject
 InheritedОтправляется перед удалением экранного объекта из списка отображения, либо непосредственно, либо путем удаления поддерева, содержащего экранный объект.DisplayObject
 Inherited[многоадресное событие] Отправляется перед обновлением и визуализацией списка отображения.DisplayObject
Сведения о свойстве
bitmapDataсвойство
bitmapData:BitmapData  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Объект BitmapData, указанный в ссылке.



Реализация
    public function get bitmapData():BitmapData
    public function set bitmapData(value:BitmapData):void
pixelSnappingсвойство 
pixelSnapping:String  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Определяет, должен ли объект Bitmap быть привязанным к ближайшему пикселу. Класс PixelSnapping включает возможные значения:



Реализация
    public function get pixelSnapping():String
    public function set pixelSnapping(value:String):void
smoothingсвойство 
smoothing:Boolean  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Определяет, следует ли смягчать растровое изображение при масштабировании. При значении true растровое изображение смягчается при масштабировании. При значении false растровое изображение не смягчается при масштабировании.



Реализация
    public function get smoothing():Boolean
    public function set smoothing(value:Boolean):void
Сведения о конструкторе
Bitmap()Конструктор
public function Bitmap(bitmapData:BitmapData = null, pixelSnapping:String = "auto", smoothing:Boolean = false)

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Инициализирует объект Bitmap для ссылки на заданный объект BitmapData.

Параметры
bitmapData:BitmapData (default = null) — Объект BitmapData, указанный в ссылке.
 
pixelSnapping:String (default = "auto") — Определяет, должен ли объект Bitmap быть привязанным к ближайшему пикселу.
 
smoothing:Boolean (default = false) — Определяет, следует ли смягчать растровое изображение при масштабировании. В следующих примерах показано то же растровое изображение, отмасштабированное с фактором 3, при smoothing в значении false (слева) и true (справа).

Растровое изображение без смягченияРастровое изображение со смягчением

Примеры Как пользоваться примерами
BitmapExample.as

В следующем примере класс BitmapExample используется для загрузки изображения "Image.gif" в объект DisplayObject в месте по умолчанию (x = 0, y = 0). Затем копия Image.gif помещается справа от оригинала, в котором применяются новые цвета к пикселам, подвергающимся тестированию с помощью метода threshold(). Это можно сделать, выполнив следующие действия.
  1. Создается свойство url, описывающее местоположение и имя файла изображения.
  2. Конструктор класса вызывает метод configureAssets(), который в свою очередь вызывает метод completeHandler().
  3. configureAssets() создает объект Loader, который затем создает экземпляр прослушивателя событий, отправляемых по завершении обоработки изображения методом completeHandler().
  4. Затем метод buildChild() создает новый экземпляр объекта URLRequest, request, и передает url, чтобы сообщить имя и местоположение файла.
  5. Объект request передается методу loader.load(), который загружает изображение в память через экранный объект.
  6. После этого изображение добавляется в список отображения, который почти сразу показывает изображение на экране в положении с координатами x = 0, y = 0.
  7. Затем метод completeHandler() выполняет следующие задачи:

Примечания.


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 BitmapExample extends Sprite {
        private var url:String = "Image.gif";
        private var size:uint = 80;

        public function BitmapExample() {
            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);
        }
    }
}