包 | flash.display |
类 | public class Bitmap |
继承 | Bitmap DisplayObject EventDispatcher Object |
语言版本 : | ActionScript 3.0 |
Player 版本 : | 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 对象的域的跨域策略文件,则该域中的脚本无法访问 Bitmap 对象或其属性及方法。 有关详细信息,请参阅以下部分:
注意:Bitmap 类不是 InteractiveObject 类的子类,因此它无法调度鼠标事件。 但是,可以使用包含 Bitmap 对象的显示对象容器的 addEventListener()
方法。
另请参见
属性 | 定义方 | ||
---|---|---|---|
accessibilityProperties : AccessibilityProperties
此显示对象的当前辅助功能选项。
| DisplayObject | ||
alpha : Number
指示指定对象的 Alpha 透明度值。
| DisplayObject | ||
bitmapData : BitmapData
被引用的 BitmapData 对象。
| Bitmap | ||
blendMode : String
BlendMode 类中的一个值,用于指定要使用的混合模式。
| DisplayObject | ||
cacheAsBitmap : Boolean
如果设置为 true,则 Flash Player 将缓存显示对象的内部位图表示形式。
| 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
[static]
对类或函数对象的原型对象的引用。
| Object | ||
root : DisplayObject
[read-only]
对于加载的 SWF 文件中的显示对象,root 属性是此 SWF 文件所表示的显示列表树结构部分中的顶级显示对象。
| DisplayObject | ||
rotation : Number
指示 DisplayObject 实例距其原始方向的旋转程度,以度为单位。
| DisplayObject | ||
scale9Grid : Rectangle
当前有效的缩放网格。
| DisplayObject | ||
scaleX : Number
指示从注册点开始应用的对象的水平缩放比例(百分比)。
| DisplayObject | ||
scaleY : 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 |
方法 | 定义方 | ||
---|---|---|---|
初始化 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 | ||
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。
| EventDispatcher | ||
指示对象是否已经定义了指定的属性。
| Object | ||
计算显示对象,以确定它是否与 obj 显示对象重叠或相交。
| DisplayObject | ||
计算显示对象,以确定它是否与 x 和 y 参数指定的点重叠或相交。
| DisplayObject | ||
指示 Object 类的实例是否在指定为参数的对象的原型链中。
| Object | ||
将 point 对象从显示对象的(本地)坐标转换为舞台(全局)坐标。
| DisplayObject | ||
指示指定的属性是否存在、是否可枚举。
| Object | ||
从 EventDispatcher 对象中删除侦听器。
| EventDispatcher | ||
设置循环操作动态属性的可用性。
| Object | ||
返回指定对象的字符串表示形式。
| Object | ||
返回指定对象的原始值。
| Object | ||
检查是否用此 EventDispatcher 对象或其任何始祖为指定事件类型注册了事件侦听器。
| EventDispatcher |
bitmapData | 属性 |
bitmapData:BitmapData
[read-write]
语言版本 : | ActionScript 3.0 |
Player 版本 : | Flash Player 9 |
被引用的 BitmapData 对象。
public function get bitmapData():BitmapData
public function set bitmapData(value:BitmapData):void
pixelSnapping | 属性 |
pixelSnapping:String
[read-write]
语言版本 : | ActionScript 3.0 |
Player 版本 : | 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
[read-write]
语言版本 : | ActionScript 3.0 |
Player 版本 : | 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 |
Player 版本 : | 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()
方法将执行下列任务:
duplicate
,该对象再调用 duplicateImage()
方法,该方法创建原始图像的副本。 duplicate
对象的 BitmapData 对象。operation
:在阈值大于等于原始值时应用新颜色。threshold
:依据其对每个像素进行比较的值设置为浅灰色(Alpha 值为 0xCC)。 color
:通过阈值测试的像素将被设置的颜色,在本例中为纯黄色。mask
:设置为与颜色正好相反的颜色(透明的蓝色)。copySource
:设置为 false,指示在阈值未通过测试的情况下不复制像素值。 该值没有意义,因为图像是重复的,并且只更改通过了阈值测试的像素。threshold()
方法。 得到的阈值计算式如下所示:if (current pixel Value & 0x000000FF) >= (0xCCCCCCCC & 0x000000FF) then set pixel to 0xFFFFFF00
。 注意:
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); } } }
当前页: http://livedocs.adobe.com/flash/9.0_cn/ActionScriptLangRefV3/flash/display/Bitmap.html