包 | flash.display |
类 | public class Bitmap |
继承 | Bitmap DisplayObject EventDispatcher Object |
子类 | FlexBitmap |
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 9 |
Bitmap()
构造函数创建的图像。
利用 Bitmap()
构造函数,可以创建包含对 BitmapData 对象的引用的 Bitmap 对象。创建了 Bitmap 对象后,使用父 DisplayObjectContainer 实例的 addChild()
或 addChildAt()
方法将位图放在显示列表中。
一个 Bitmap 对象可在若干 Bitmap 对象之中共享其 BitmapData 引用,与转换属性或旋转属性无关。由于能够创建引用相同 BitmapData 对象的多个 Bitmap 对象,因此,多个显示对象可以使用相同的复杂 BitmapData 对象,而不会因为每个显示对象实例使用一个 BitmapData 对象而产生内存开销。
Bitmap 对象可通过以下两种方式之一将 BitmapData 对象绘制到屏幕上:使用矢量渲染器作为填充位图形状,或使用更快的像素复制例程。像素复制例程的速度比矢量渲染器要快很多,但 Bitmap 对象必须满足某些条件才能使用该例程:
setMask()
方法进行剪裁。
如果从中加载 Bitmap 对象的域不同于用于加载图像的 Loader 对象的域,并且没有用于允许访问 Loader 对象的域的 URL 策略文件,则该域中的脚本无法访问 Bitmap 对象或其属性及方法。有关详细信息,请参阅以下部分:
注意:Bitmap 类不是 InteractiveObject 类的子类,因此它无法调度鼠标事件。 但是,可以使用包含 Bitmap 对象的显示对象容器的 addEventListener()
方法。
另请参见
属性 | 定义方 | ||
---|---|---|---|
accessibilityProperties : AccessibilityProperties 此显示对象的当前辅助功能选项。 | DisplayObject | ||
alpha : Number 指示指定对象的 Alpha 透明度值。 | DisplayObject | ||
bitmapData : BitmapData 被引用的 BitmapData 对象。 | Bitmap | ||
blendMode : String BlendMode 类中的一个值,用于指定要使用的混合模式。 | DisplayObject | ||
blendShader : Shader [只写] 设置用于混合前景和背景的着色器。 | DisplayObject | ||
cacheAsBitmap : Boolean 如果设置为 true,则 Flash Player 或 Adobe AIR 将缓存显示对象的内部位图表示形式。 | DisplayObject | ||
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
filters : Array 包含当前与显示对象关联的每个滤镜对象的索引数组。 | DisplayObject | ||
height : Number 指示显示对象的高度,以像素为单位。 | DisplayObject | ||
loaderInfo : LoaderInfo [只读 (read-only)] 返回一个 LoaderInfo 对象,其中包含加载此显示对象所属的文件的相关信息。 | DisplayObject | ||
mask : DisplayObject 调用显示对象被指定的 mask 对象遮罩。 | DisplayObject | ||
mouseX : Number [只读 (read-only)] 指示鼠标位置的 x 坐标,以像素为单位。 | DisplayObject | ||
mouseY : Number [只读 (read-only)] 指示鼠标位置的 y 坐标,以像素为单位。 | DisplayObject | ||
name : String 指示 DisplayObject 的实例名称。 | DisplayObject | ||
opaqueBackground : Object 指定显示对象是否由于具有某种背景颜色而不透明。 | DisplayObject | ||
parent : DisplayObjectContainer [只读 (read-only)] 指示包含此显示对象的 DisplayObjectContainer 对象。 | DisplayObject | ||
pixelSnapping : String 控制 Bitmap 对象是否贴紧至最近的像素。 | Bitmap | ||
prototype : Object [静态]
对类或函数对象的原型对象的引用。 | Object | ||
root : DisplayObject [只读 (read-only)] 对于加载的 SWF 文件中的显示对象,root 属性是此 SWF 文件所表示的显示列表树结构部分中的顶级显示对象。 | DisplayObject | ||
rotation : Number 指示 DisplayObject 实例距其原始方向的旋转程度,以度为单位。 | DisplayObject | ||
rotationX : Number 指示 DisplayObject 实例相对于 3D 父容器距离其原始方向的 x 轴旋转(以度为单位)。 | DisplayObject | ||
rotationY : Number 指示 DisplayObject 实例相对于 3D 父容器距离其原始方向的 y 轴旋转(以度为单位)。 | DisplayObject | ||
rotationZ : Number 指示 DisplayObject 实例相对于 3D 父容器距离其原始方向的 z 轴旋转(以度为单位)。 | DisplayObject | ||
scale9Grid : Rectangle 当前有效的缩放网格。 | DisplayObject | ||
scaleX : Number 指示从注册点开始应用的对象的水平缩放比例(百分比)。 | DisplayObject | ||
scaleY : Number 指示从对象注册点开始应用的对象的垂直缩放比例(百分比)。 | DisplayObject | ||
scaleZ : Number 指示从对象的注册点开始应用的对象的深度缩放比例(百分比)。 | DisplayObject | ||
scrollRect : Rectangle 显示对象的滚动矩形范围。 | DisplayObject | ||
smoothing : Boolean 控制在缩放时是否对位图进行平滑处理。 | Bitmap | ||
stage : Stage [只读 (read-only)] 显示对象的舞台。 | DisplayObject | ||
transform : Transform 一个对象,具有与显示对象的矩阵、颜色转换和像素范围有关的属性。 | DisplayObject | ||
visible : Boolean 显示对象是否可见。 | DisplayObject | ||
width : Number 指示显示对象的宽度,以像素为单位。 | DisplayObject | ||
x : Number 指示 DisplayObject 实例相对于父级 DisplayObjectContainer 本地坐标的 x 坐标。 | DisplayObject | ||
y : Number 指示 DisplayObject 实例相对于父级 DisplayObjectContainer 本地坐标的 y 坐标。 | DisplayObject | ||
z : Number 指示 DisplayObject 实例相对于 3D 父容器沿 z 轴的 z 坐标位置。 | DisplayObject |
方法 | 定义方 | ||
---|---|---|---|
初始化 Bitmap 对象以引用指定的 BitmapData 对象。 | Bitmap | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void 使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。 | EventDispatcher | ||
将事件调度到事件流中。 | EventDispatcher | ||
返回一个矩形,该矩形定义相对于 targetCoordinateSpace 对象坐标系的显示对象区域。 | DisplayObject | ||
返回一个矩形,该矩形根据 targetCoordinateSpace 参数定义的坐标系定义显示对象的边界,但不包括形状上的任何笔触。 | DisplayObject | ||
将 point 对象从舞台(全局)坐标转换为显示对象的(本地)坐标。 | DisplayObject | ||
将二维点从舞台(全局)坐标转换为三维显示对象的(本地)坐标。 | DisplayObject | ||
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。 | EventDispatcher | ||
指示对象是否已经定义了指定的属性。 | Object | ||
计算显示对象,以确定它是否与 obj 显示对象重叠或相交。 | DisplayObject | ||
计算显示对象,以确定它是否与 x 和 y 参数指定的点重叠或相交。 | DisplayObject | ||
指示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
将三维显示对象的(本地)坐标的三维点转换为舞台(全局)坐标中的二维点。 | DisplayObject | ||
将 point 对象从显示对象的(本地)坐标转换为舞台(全局)坐标。 | DisplayObject | ||
指示指定的属性是否存在、是否可枚举。 | Object | ||
从 EventDispatcher 对象中删除侦听器。 | EventDispatcher | ||
设置循环操作动态属性的可用性。 | Object | ||
返回指定对象的字符串表示形式。 | Object | ||
返回指定对象的原始值。 | Object | ||
检查是否用此 EventDispatcher 对象或其任何始祖为指定事件类型注册了事件侦听器。 | EventDispatcher |
bitmapData | 属性 |
bitmapData:BitmapData
[读写] 语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 9 |
被引用的 BitmapData 对象。
public function get bitmapData():BitmapData
public function set bitmapData(value:BitmapData):void
pixelSnapping | 属性 |
pixelSnapping:String
[读写] 语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 9 |
控制 Bitmap 对象是否贴紧至最近的像素。PixelSnapping 类包括以下可能值:
PixelSnapping.NEVER
-- 不进行像素贴紧。
PixelSnapping.ALWAYS
-- 图像始终与最近的像素贴紧,与变形无关。
PixelSnapping.AUTO
-- 如果绘制图像时未应用旋转或倾斜效果,并且图像是以 99.9% 到 100.1% 的缩放系数绘制的,则图像将与最近的像素贴紧。如果这些条件得到满足,则以 100% 的缩放比例绘制位图图像,与最近的像素贴紧。在内部,此值允许用矢量渲染器以尽可能快的速度绘制图像。
public function get pixelSnapping():String
public function set pixelSnapping(value:String):void
smoothing | 属性 |
smoothing:Boolean
[读写] 语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 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 |
运行时版本: | AIR 1.0 Flash Player 9 |
初始化 Bitmap 对象以引用指定的 BitmapData 对象。
参数bitmapData:BitmapData (default = null ) — 被引用的 BitmapData 对象。 | |||
pixelSnapping:String (default = "auto ") — Bitmap 对象是否贴紧至最近的像素。 | |||
smoothing:Boolean (default = false ) —
在缩放时是否对位图进行平滑处理。例如,下例显示使用系数 3 缩放的同一位图,smoothing 设置为 false (左侧)和 true (右侧):
|
threshold()
方法。此任务是使用以下步骤完成的:
url
属性,它是图像文件的位置和名称
configureAssets()
方法,而后者又调用 completeHandler()
方法。
configureAssets()
创建 Loader 对象,该对象随后实例化一个事件侦听器,而该事件侦听器在 completeHandler()
完成图像操作时调度。
buildChild()
方法创建一个 URLRequest 对象的新实例 request
,该实例带有传递的 url
,这样,就可以知道文件的名称和位置。
request
对象被传递给 loader.load()
方法,该方法通过显示对象将图像加载到内存中。
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); } } }