mx.core

# BitmapAsset - AS3 Flex

Package | mx.core
Class | public class BitmapAsset
Inheritance | BitmapAsset FlexBitmap Bitmap DisplayObject EventDispatcher Object
Implements | IFlexAsset, IFlexDisplayObject, ILayoutDirectionElement

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

BitmapAsset is a subclass of the flash.display.Bitmap class which represents bitmap images that you embed in a Flex application. It implements the IFlexDisplayObject interface, which makes it possible for an embedded bitmap image to be displayed in an Image control, or to be used as a container background or a component skin.

The bitmap image that you're embedding can be in a JPEG, GIF, or PNG file. You can also embed a bitmap symbol that is in a SWF file produced by Flash. In each of these cases, the MXML compiler autogenerates a class that extends BitmapAsset to represent the embedded bitmap image.

You don't generally have to use the BitmapAsset class directly when you write a Flex application. For example, you can embed a GIF file and display the image in an Image control by writing the gollowing:

      <mx:Image id="logo" source="@Embed(source='Logo.gif')"/>

or use it as the application's background image in CSS syntax by writing

      <fx:Style>
          @namespace mx "library://ns.adobe.com/flex/mx"
          mx|Application {
              backgroundImage: Embed(source="Logo.gif")
          }
      <fx:Style/>

without having to understand that the MXML compiler has created a subclass of BitmapAsset for you.

However, it may be useful to understand what is happening at the ActionScript level. To embed a bitmap image in ActionScript, you declare a variable of type Class, and put `[Embed]` metadata on it. For example, you embed a GIF file like this:

      [Bindable]
      [Embed(source="Logo.gif")]
      private var logoClass:Class;

The MXML compiler sees the .gif extension, transcodes the GIF data into the bitmap format that the player uses, autogenerates a subclass of the BitmapAsset class, and sets your variable to be a reference to this autogenerated class. You can then use this class reference to create instances of the BitmapAsset using the `new` operator, and you can use APIs of the BitmapAsset class on them:

      var logo:BitmapAsset = BitmapAsset(new logoClass());
      logo.bitmapData.noise(4);

However, you rarely need to create BitmapAsset instances yourself because image-related properties and styles can simply be set to an image-producing class, and components will create image instances as necessary. For example, to display this image in an Image control, you can set the Image's `source` property to `logoClass`. In MXML you could do this as follows:

      <mx:Image id="logo" source="{logoClass}"/>

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
|  | blendShader : Shader [write-only] Sets a shader that is used for blending the foreground and background. | DisplayObject
|  | cacheAsBitmap : Boolean If set to true, Flash runtimes cache an internal bitmap representation of the display object. | DisplayObject
|  | cacheAsBitmapMatrix : Matrix If non-null, this Matrix object defines how a display object is rendered when cacheAsBitmap is set to true. | 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
|  | layoutDirection : String Specifies the desired layout direction for an element: one of LayoutDirection.LTR (left to right), LayoutDirection.RTL (right to left), or null (inherit). | BitmapAsset
|  | 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
|  | measuredHeight : Number [read-only] The measured height of this object. | BitmapAsset
|  | measuredWidth : Number [read-only] The measured width of this object. | BitmapAsset
|  | metaData : Object Obtains the meta data object of the DisplayObject instance if meta data was stored alongside the the instance of this DisplayObject in the SWF file through a PlaceObject4 tag. | DisplayObject
|  | mouseX : Number [read-only] Indicates the x coordinate of the mouse or user input device position, in pixels. | DisplayObject
|  | mouseY : Number [read-only] Indicates the y coordinate of the mouse or user input device 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
|  | 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
|  | rotationX : Number Indicates the x-axis rotation of the DisplayObject instance, in degrees, from its original orientation relative to the 3D parent container. | DisplayObject
|  | rotationY : Number Indicates the y-axis rotation of the DisplayObject instance, in degrees, from its original orientation relative to the 3D parent container. | DisplayObject
|  | rotationZ : Number Indicates the z-axis rotation of the DisplayObject instance, in degrees, from its original orientation relative to the 3D parent container. | 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
|  | scaleZ : Number Indicates the depth 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 : flash.geom: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
|  | z : Number Indicates the z coordinate position along the z-axis of the DisplayObject instance relative to the 3D parent container. | DisplayObject

Public Methods
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | BitmapAsset(bitmapData:BitmapData = null, pixelSnapping:String = "auto", smoothing:Boolean = false) Constructor. | BitmapAsset
|  | 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
|  | globalToLocal3D(point:Point):Vector3D Converts a two-dimensional point from the Stage (global) coordinates to a three-dimensional 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 bounding box of the display object to see if it overlaps or intersects with the bounding box of 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
|  | invalidateLayoutDirection():void An element must call this method when its layoutDirection changes or when its parent's layoutDirection changes. | BitmapAsset
|  | 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
|  | local3DToGlobal(point3d:Vector3D):Point Converts a three-dimensional point of the three-dimensional display object's (local) coordinates to a two-dimensional point in the Stage (global) coordinates. | DisplayObject
|  | localToGlobal(point:Point):Point Converts the point object from the display object's (local) coordinates to the Stage (global) coordinates. | DisplayObject
|  | move(x:Number, y:Number):void Moves this object to the specified x and y coordinates. | BitmapAsset
|  | 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
|  | setActualSize(newWidth:Number, newHeight:Number):void Sets the actual size of this object. | BitmapAsset
|  | setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void Sets the availability of a dynamic property for loop operations. | Object
|  | toLocaleString():String Returns the string representation of this object, formatted according to locale-specific conventions. | Object
|  | toString():String [override] Returns a string indicating the location of this object within the hierarchy of DisplayObjects in the Application. | FlexBitmap
|  | 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
Click for more information on events
Hide Inherited Events
Show Inherited Events

| Event | Summary | Defined By
--- | --- | --- | ---
|  | activate | [broadcast event] Dispatched when the Flash Player or AIR application 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 | [broadcast event] Dispatched when the Flash Player or AIR application operating loses system focus and is becoming inactive. | EventDispatcher
|  | enterFrame | [broadcast event] Dispatched when the playhead is entering a new frame. | DisplayObject
|  | exitFrame | [broadcast event] Dispatched when the playhead is exiting the current frame. | DisplayObject
|  | frameConstructed | [broadcast event] 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 | [broadcast event] Dispatched when the display list is about to be updated and rendered. | DisplayObject

Property Detail

### layoutDirection

property

`layoutDirection:String`

Language Version: | ActionScript 3.0

Product Version: | Flex 4.1

Runtime Versions: | Flash Player 10, AIR 1.5

Specifies the desired layout direction for an element: one of LayoutDirection.LTR (left to right), LayoutDirection.RTL (right to left), or null (inherit). This property is typically backed by an inheriting style. If null, the layoutDirection style will be set to undefined. Classes like GraphicElement, which implement ILayoutDirectionElement but do not support styles, must additionally support a null value for this property which means the layoutDirection must be inherited from its parent.

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

### measuredHeight

property

`measuredHeight:Number` [read-only]

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

The measured height of this object.

This is typically hard-coded for graphical skins because this number is simply the number of pixels in the graphic. For code skins, it can also be hard-coded if you expect to be drawn at a certain size. If your size can change based on properties, you may want to also be an ILayoutManagerClient so a `measure()` method will be called at an appropriate time, giving you an opportunity to compute a `measuredHeight`.

Implementation
`public function get measuredHeight():Number`

### measuredWidth

property

`measuredWidth:Number` [read-only]

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

The measured width of this object.

This is typically hard-coded for graphical skins because this number is simply the number of pixels in the graphic. For code skins, it can also be hard-coded if you expect to be drawn at a certain size. If your size can change based on properties, you may want to also be an ILayoutManagerClient so a `measure()` method will be called at an appropriate time, giving you an opportunity to compute a `measuredHeight`.

Implementation
`public function get measuredWidth():Number`
Constructor Detail

### BitmapAsset

()
Constructor

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

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Constructor.

Parameters

| `bitmapData:BitmapData` (default = `null`)`` — The data for the bitmap image.
| `pixelSnapping:String` (default = "`auto`")`` — Whether or not the bitmap is snapped to the nearest pixel.
| `smoothing:Boolean` (default = `false`)`` — Whether or not the bitmap is smoothed when scaled.

Method Detail

### invalidateLayoutDirection

()
method

`public function invalidateLayoutDirection():void`

Language Version: | ActionScript 3.0

Product Version: | Flex 4.1

Runtime Versions: | Flash Player 10, AIR 1.5

An element must call this method when its layoutDirection changes or when its parent's layoutDirection changes. If they differ, this method is responsible for mirroring the element’s contents and for updating the element’s post-layout transform so that descendants inherit a mirrored coordinate system. IVisualElements typically implement mirroring by using postLayoutTransformOffsets to scale the X axis by -1 and to translate the x coordinate of the origin by the element's width. The net effect of this "mirror" transform is to reverse the direction in which the X axis increases without changing the element's location relative to its parent's origin.

### move

()
method

`public function move(x:Number, y:Number):void`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Moves this object to the specified x and y coordinates.

Parameters

| `x:Number` — The new x-position for this object.
| `y:Number` — The new y-position for this object.

### setActualSize

()
method

`public function setActualSize(newWidth:Number, newHeight:Number):void`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Sets the actual size of this object.

This method is mainly for use in implementing the `updateDisplayList()` method, which is where you compute this object's actual size based on its explicit size, parent-relative (percent) size, and measured size. You then apply this actual size to the object by calling `setActualSize()`.

In other situations, you should be setting properties such as `width`, `height`, `percentWidth`, or `percentHeight` rather than calling this method.

Parameters

| `newWidth:Number` — The new width for this object.
| `newHeight:Number` — The new height for this object.

© 2015 Adobe Systems Incorporated. All rights reserved.
Mon Apr 10 2017, 12:28 PM -07:00