Package | flash.display |
Class | public class Bitmap |
Inheritance | Bitmap DisplayObject EventDispatcher Object |
Language version: | ActionScript 3.0 |
Runtime version: |
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:
setMask()
methods. 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 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.
See also
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
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 | ||
loaderInfo : LoaderInfo
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 | ||
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
Indicates the x coordinate of the mouse or user input device position, in pixels.
| DisplayObject | ||
mouseY : Number
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
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
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
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 | ||
z : Number
Indicates the z coordinate position along the z-axis of the DisplayObject
instance relative to the 3D parent container.
| DisplayObject |
Method | Defined by | ||
---|---|---|---|
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 | ||
Dispatches an event into the event flow.
| EventDispatcher | ||
Returns a rectangle that defines the area of the display object relative to the coordinate system
of the
targetCoordinateSpace object. | DisplayObject | ||
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 | ||
Converts the
point object from the Stage (global) coordinates
to the display object's (local) coordinates. | DisplayObject | ||
Converts a two-dimensional point from the Stage (global) coordinates to a
three-dimensional display object's (local) coordinates.
| DisplayObject | ||
Checks whether the EventDispatcher object has any listeners registered for a specific type
of event.
| EventDispatcher | ||
Indicates whether an object has a specified property defined.
| Object | ||
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 | ||
Evaluates the display object to see if it overlaps or intersects with the
point specified by the
x and y parameters. | DisplayObject | ||
Indicates whether an instance of the Object class is in the prototype chain of the object specified
as the parameter.
| Object | ||
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 | ||
Converts the
point object from the display object's (local) coordinates to the
Stage (global) coordinates. | DisplayObject | ||
Indicates whether the specified property exists and is enumerable.
| Object | ||
Removes a listener from the EventDispatcher object.
| EventDispatcher | ||
Sets the availability of a dynamic property for loop operations.
| Object | ||
Returns the string representation of this object, formatted according to locale-specific conventions.
| Object | ||
Returns the string representation of the specified object.
| Object | ||
Returns the primitive value of the specified object.
| Object | ||
Checks whether an event listener is registered with this EventDispatcher object or any of
its ancestors for the specified event type.
| EventDispatcher |
bitmapData | property |
bitmapData:BitmapData
[read-write]
Language version: | ActionScript 3.0 |
Runtime version: |
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 |
Runtime version: |
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. public function get pixelSnapping():String
public function set pixelSnapping(value:String):void
smoothing | property |
smoothing:Boolean
[read-write]
Language version: | ActionScript 3.0 |
Runtime version: |
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.
public function get smoothing():Boolean
public function set smoothing(value:Boolean):void
Bitmap | () | constructor |
public function Bitmap(bitmapData:BitmapData = null, pixelSnapping:String = "auto", smoothing:Boolean = false)
Language version: | ActionScript 3.0 |
Runtime version: |
Initializes a Bitmap object to refer to the specified BitmapData object.
ParametersbitmapData: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):
|
const IMAGE_URL:String = "http://www.helpexamples.com/flash/images/logo.png"; var ldr:Loader = new Loader(); ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, ldr_complete); ldr.load(new URLRequest(IMAGE_URL)); var bitmap1:Bitmap; var bitmap2:Bitmap; var bitmap3:Bitmap; var bitmap4:Bitmap; function ldr_complete(evt:Event):void { var bmp:Bitmap = ldr.content as Bitmap; bitmap1 = new Bitmap(bmp.bitmapData); bitmap1.x = 100; bitmap1.y = 100; bitmap1.rotation = 0; addChild(bitmap1); bitmap2 = new Bitmap(bmp.bitmapData); bitmap2.x = 200; bitmap2.y = 100; bitmap2.rotation = 90; addChild(bitmap2); bitmap3 = new Bitmap(bmp.bitmapData); bitmap3.x = 300; bitmap3.y = 100; bitmap3.rotation = 180; addChild(bitmap3); bitmap4 = new Bitmap(bmp.bitmapData); bitmap4.x = 400; bitmap4.y = 100; bitmap4.rotation = 270; addChild(bitmap4); }
threshold()
method.
This task is accomplished using the following steps:
url
is created, which is the location and name of the image fileconfigureAssets()
method, which, in turn, calls the
completeHandler()
method.configureAssets()
creates a Loader object, which then instantiates an event listener,
which is dispatched when completeHandler()
completes the image manipulation.buildChild()
method creates a new instance of a URLRequest object,
request
, with url
passed so the file name and location are known.request
object is passed to the loader.load()
method, which loads the image
into memory via a display object.completeHandler()
method then performs the following tasks:
duplicate
, which in turn calls the
duplicateImage()
method, which creates a duplicate of the original image. duplicate
object's
BitmapData object.operation
: applies the new color when the threshold
value is >= the original.threshold
: the value against which each pixel is compared is set to
light gray with an alpha of 0xCC. color
: the color that the pixels will be set to that pass the threshold
test, which is solid yellow in this case.mask
: set to the exact opposite of color, (transparent blue).copySource
: set to false, indicating that the pixel values are not copied
in the event the threshold value does not pass. This value has no meaning because
the image is duplicated and only pixels that pass the threshold test are changed.threshold()
method by using the preceding variables. The resulting threshold
equation is as follows: if (current pixel Value & 0x000000FF) >=
(0xCCCCCCCC & 0x000000FF) then set pixel to 0xFFFFFF00
. Notes:
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); } } }