Apache Flex 4.16.0 API Reference | All Packages | All Classes | Index | Frames No Frames |
BitmapAsset

Package | mx.core
Class | public class BitmapAsset
Inheritance | BitmapAsset FlexBitmap flash.display.Bitmap
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

| Property | Defined By
--- | --- | ---
|  | 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
|  | measuredHeight : Number [read-only] The measured height of this object. | BitmapAsset
|  | measuredWidth : Number [read-only] The measured width of this object. | BitmapAsset

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
|  | invalidateLayoutDirection():void An element must call this method when its layoutDirection changes or when its parent's layoutDirection changes. | BitmapAsset
|  | move(x:Number, y:Number):void Moves this object to the specified x and y coordinates. | BitmapAsset
|  | setActualSize(newWidth:Number, newHeight:Number):void Sets the actual size of this object. | BitmapAsset
|  | toString():String [override] Returns a string indicating the location of this object within the hierarchy of DisplayObjects in the Application. | FlexBitmap

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.

Sun Mar 5 2017, 03:42 PM +11:00