ActionScript 3.0 Language and Components Reference | All Packages | All Classes | Language Elements | Index | Appendixes | Conventions | Frames No Frames |
Bitmap

Package | flash.display
Class | public class Bitmap
Inheritance | Bitmap DisplayObject EventDispatcher Object

Language Version : | ActionScript 3.0

Player Version : | Flash Player 9

The Bitmap class represents display objects that represent bitmap images. These can be images that you load with the flash.display.Loader class, or they can be images that you create with the `Bitmap()` constructor.

The `Bitmap()` constructor allows you to create a Bitmap object that contains a reference to a BitmapData object. After you create a Bitmap object, use the `addChild()` or `addChildAt()` method of the parent DisplayObjectContainer instance to place the bitmap on the display list.

A Bitmap object can share its BitmapData reference among several Bitmap objects, independent of translation or rotation properties. Because you can create multiple Bitmap objects that reference the same BitmapData object, multiple display objects can use the same complex BitmapData object without incurring the memory overhead of a BitmapData object for each display object instance.

A BitmapData object can be drawn to the screen by a Bitmap object in one of two ways: by using the vector renderer as a fill-bitmap shape, or by using a faster pixel-copying routine. The pixel-copying routine is substantially faster than the vector renderer, but the Bitmap object must meet certain conditions to use it:

- No stretching, rotation, or skewing can be applied to the Bitmap object.
- No color transform can be applied to the Bitmap object.
- No blend mode can be applied to the Bitmap object.
- No clipping can be done through mask layers or `setMask()` methods.
- The image itself cannot be a mask.
- The destination coordinates must be on a whole pixel boundary.

If you load a Bitmap object from a domain other than that of the Loader object used to load the image, and there is no URL policy file that permits access to the domain of the Loader object, then a script in that domain cannot access the Bitmap object or its properties and methods. For more information, see the following:

- The security chapter in the Programming ActionScript 3.0 book and the latest comments on LiveDocs
- The Flash Player Developer Center Topic: Security

Note: The Bitmap class is not a subclass of the InteractiveObject class, so it cannot dispatch mouse events. However, you can use the `addEventListener()` method of the display object container that contains the Bitmap object.

View the examples

See also

flash.display.Loader
flash.display.BitmapData
Core display classes
Basics of working with bitmaps

Public Properties
Hide Inherited Public Properties
Show Inherited Public Properties

| Property | Defined By
--- | --- | ---
|  | accessibilityProperties : AccessibilityProperties The current accessibility options for this display object. | DisplayObject
|  | alpha : Number Indicates the alpha transparency value of the object specified. | DisplayObject
|  | bitmapData : BitmapData The BitmapData object being referenced. | Bitmap
|  | blendMode : String A value from the BlendMode class that specifies which blend mode to use. | DisplayObject
|  | cacheAsBitmap : Boolean If set to true, Flash Player caches an internal bitmap representation of the display object. | DisplayObject
|  | constructor : Object A reference to the class object or constructor function for a given object instance. | Object
|  | filters : Array An indexed array that contains each filter object currently associated with the display object. | DisplayObject
|  | height : Number Indicates the height of the display object, in pixels. | DisplayObject
|  | loaderInfo : LoaderInfo [read-only] Returns a LoaderInfo object containing information about loading the file to which this display object belongs. | DisplayObject
|  | mask : DisplayObject The calling display object is masked by the specified mask object. | DisplayObject
|  | mouseX : Number [read-only] Indicates the x coordinate of the mouse position, in pixels. | DisplayObject
|  | mouseY : Number [read-only] Indicates the y coordinate of the mouse position, in pixels. | DisplayObject
|  | name : String Indicates the instance name of the DisplayObject. | DisplayObject
|  | opaqueBackground : Object Specifies whether the display object is opaque with a certain background color. | DisplayObject
|  | parent : DisplayObjectContainer [read-only] Indicates the DisplayObjectContainer object that contains this display object. | DisplayObject
|  | pixelSnapping : String Controls whether or not the Bitmap object is snapped to the nearest pixel. | Bitmap
|  | prototype : Object [static] A reference to the prototype object of a class or function object. | Object
|  | root : DisplayObject [read-only] For a display object in a loaded SWF file, the root property is the top-most display object in the portion of the display list's tree structure represented by that SWF file. | DisplayObject
|  | rotation : Number Indicates the rotation of the DisplayObject instance, in degrees, from its original orientation. | DisplayObject
|  | scale9Grid : Rectangle The current scaling grid that is in effect. | DisplayObject
|  | scaleX : Number Indicates the horizontal scale (percentage) of the object as applied from the registration point. | DisplayObject
|  | scaleY : Number Indicates the vertical scale (percentage) of an object as applied from the registration point of the object. | DisplayObject
|  | scrollRect : Rectangle The scroll rectangle bounds of the display object. | DisplayObject
|  | smoothing : Boolean Controls whether or not the bitmap is smoothed when scaled. | Bitmap
|  | stage : Stage [read-only] The Stage of the display object. | DisplayObject
|  | transform : Transform An object with properties pertaining to a display object's matrix, color transform, and pixel bounds. | DisplayObject
|  | visible : Boolean Whether or not the display object is visible. | DisplayObject
|  | width : Number Indicates the width of the display object, in pixels. | DisplayObject
|  | x : Number Indicates the x coordinate of the DisplayObject instance relative to the local coordinates of the parent DisplayObjectContainer. | DisplayObject
|  | y : Number Indicates the y coordinate of the DisplayObject instance relative to the local coordinates of the parent DisplayObjectContainer. | DisplayObject

Public Methods
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | Bitmap(bitmapData:BitmapData = null, pixelSnapping:String = "auto", smoothing:Boolean = false) Initializes a Bitmap object to refer to the specified BitmapData object. | Bitmap
|  | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void Registers an event listener object with an EventDispatcher object so that the listener receives notification of an event. | EventDispatcher
|  | dispatchEvent(event:Event):Boolean Dispatches an event into the event flow. | EventDispatcher
|  | getBounds(targetCoordinateSpace:DisplayObject):Rectangle Returns a rectangle that defines the area of the display object relative to the coordinate system of the targetCoordinateSpace object. | DisplayObject
|  | getRect(targetCoordinateSpace:DisplayObject):Rectangle Returns a rectangle that defines the boundary of the display object, based on the coordinate system defined by the targetCoordinateSpace parameter, excluding any strokes on shapes. | DisplayObject
|  | globalToLocal(point:Point):Point Converts the point object from the Stage (global) coordinates to the display object's (local) coordinates. | DisplayObject
|  | hasEventListener(type:String):Boolean Checks whether the EventDispatcher object has any listeners registered for a specific type of event. | EventDispatcher
|  | hasOwnProperty(name:String):Boolean Indicates whether an object has a specified property defined. | Object
|  | hitTestObject(obj:DisplayObject):Boolean Evaluates the display object to see if it overlaps or intersects with the obj display object. | DisplayObject
|  | hitTestPoint(x:Number, y:Number, shapeFlag:Boolean = false):Boolean Evaluates the display object to see if it overlaps or intersects with the point specified by the x and y parameters. | DisplayObject
|  | isPrototypeOf(theClass:Object):Boolean Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter. | Object
|  | localToGlobal(point:Point):Point Converts the point object from the display object's (local) coordinates to the Stage (global) coordinates. | DisplayObject
|  | propertyIsEnumerable(name:String):Boolean Indicates whether the specified property exists and is enumerable. | Object
|  | removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void Removes a listener from the EventDispatcher object. | EventDispatcher
|  | setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void Sets the availability of a dynamic property for loop operations. | Object
|  | toString():String Returns the string representation of the specified object. | Object
|  | valueOf():Object Returns the primitive value of the specified object. | Object
|  | willTrigger(type:String):Boolean Checks whether an event listener is registered with this EventDispatcher object or any of its ancestors for the specified event type. | EventDispatcher

Events
Hide Inherited Events
Show Inherited Events

| Event | Summary | Defined By
--- | --- | --- | ---
|  | activate | Dispatched when Flash Player gains operating system focus and becomes active. | EventDispatcher
|  | added | Dispatched when a display object is added to the display list. | DisplayObject
|  | addedToStage | Dispatched when a display object is added to the on stage display list, either directly or through the addition of a sub tree in which the display object is contained. | DisplayObject
|  | deactivate | Dispatched when Flash Player loses operating system focus and is becoming inactive. | EventDispatcher
|  | enterFrame | Dispatched when the playhead is entering a new frame. | DisplayObject
|  | exitFrame | Dispatched when the playhead is exiting the current frame. | DisplayObject
|  | frameConstructed | Dispatched after the constructors of frame display objects have run but before frame scripts have run. | DisplayObject
|  | removed | Dispatched when a display object is about to be removed from the display list. | DisplayObject
|  | removedFromStage | Dispatched when a display object is about to be removed from the display list, either directly or through the removal of a sub tree in which the display object is contained. | DisplayObject
|  | render | Dispatched when the display list is about to be updated and rendered. | DisplayObject

Property Detail

bitmapData | property

`bitmapData:BitmapData` [read-write]

Language Version : | ActionScript 3.0

Player Version : | Flash Player 9

The BitmapData object being referenced.

Implementation
`public function get bitmapData():BitmapData`
`public function set bitmapData(value:BitmapData):void`

pixelSnapping | property |

`pixelSnapping:String` [read-write]

Language Version : | ActionScript 3.0

Player Version : | Flash Player 9

Controls whether or not the Bitmap object is snapped to the nearest pixel. The PixelSnapping class includes possible values:

- `PixelSnapping.NEVER`—No pixel snapping occurs.
- `PixelSnapping.ALWAYS`—The image is always snapped to the nearest pixel, independent of transformation.
- `PixelSnapping.AUTO`—The image is snapped to the nearest pixel if it is drawn with no rotation or skew and it is drawn at a scale factor of 99.9% to 100.1%. If these conditions are satisfied, the bitmap image is drawn at 100% scale, snapped to the nearest pixel. Internally, this value allows the image to be drawn as fast as possible using the vector renderer.

Implementation
`public function get pixelSnapping():String`
`public function set pixelSnapping(value:String):void`

smoothing | property |

`smoothing:Boolean` [read-write]

Language Version : | ActionScript 3.0

Player Version : | Flash Player 9

Controls whether or not the bitmap is smoothed when scaled. If `true`, the bitmap is smoothed when scaled. If `false`, the bitmap is not smoothed when scaled.

Implementation
`public function get smoothing():Boolean`
`public function set smoothing(value:Boolean):void`
Constructor Detail

Bitmap | () | Constructor

`public function Bitmap(bitmapData:BitmapData = null, pixelSnapping:String = "auto", smoothing:Boolean = false)`

Language Version : | ActionScript 3.0

Player Version : | Flash Player 9

Initializes a Bitmap object to refer to the specified BitmapData object.

Parameters

| `bitmapData:BitmapData` (default = `null`)`` — The BitmapData object being referenced.
| `pixelSnapping:String` (default = "`auto`")`` — Whether or not the Bitmap object is snapped to the nearest pixel.
| `smoothing:Boolean` (default = `false`)`` — Whether or not the bitmap is smoothed when scaled. For example, the following examples show the same bitmap scaled by a factor of 3, with `smoothing` set to `false` (left) and `true` (right):

Examples How to use examples
BitmapExample.as
The following example uses the BitmapExample class to load the "Image.gif" image into a DisplayObject in the default location (x = 0, y = 0). A copy of Image.gif is then placed to the right of the original, which has new colors applied to pixels that pass a test using the `threshold()` method. This task is accomplished using the following steps:

1. A property `url` is created, which is the location and name of the image file
2. The class constructor calls the `configureAssets()` method, which, in turn, calls the `completeHandler()` method.
3. `configureAssets()` creates a Loader object, which then instantiates an event listener, which is dispatched when `completeHandler()` completes the image manipulation.
4. Next, the `buildChild()` method creates a new instance of a URLRequest object, `request`, with `url` passed so the file name and location are known.
5. The `request` object is passed to the `loader.load()` method, which loads the image into memory via a display object.
6. The image is then placed on the display list, which promptly displays the image on screen at coordinates x = 0, y = 0.
7. The `completeHandler()` method then performs the following tasks:

Notes:

- You will need to compile the SWF file with "Local playback security" set to "Access local files only".
- This example requires that a file named Image.gif be placed in the same directory as your SWF file.
- It is recommended that you use an image up to 80 pixels wide.

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

Submit Feedback on LiveDocs
© 2004-2008 Adobe Systems Incorporated. All rights reserved.
Tue May 20 2008, 04:02 AM -07:00