Bitmap和BitmapData类

一、flash.display.Bitmap类及其两个子类

1、继承自DisplayObject,和InteractiveObject平级,所以无法调度鼠标事件,可以使用额外的包装容器(Sprite)来实现侦听。

2、只支持GIF、JPEG、PNG格式,不支持BMP

3、构造函数: Bitmap(bitmapData:BitmapData = null, pixelSnapping:String = "auto", smoothing:Boolean = false),pixelSnapping是自动紧贴,smoothing是平滑处理

4、Bitmap类的子类mx.core.FlexBitmap:覆盖了toString(),用于指示对象在应用程序的DisplayObject层次结构中所处的位置。

5、FlexBitmap的子类mx.core.BitmapAsset:实现了IFlexAsset、IFlexDisplayObject接口。在FLEX应用程序中,通常不必直接使用此类,MXML编译器会自动生成,比如:

<mx:Image id = “logo” source = “@Embed(source = ‘Logo.gif’)”/>

不过,在AS级别,则可以对图片进行更多的操作(比如使用BitmapData类的一些方法):

[Bindable]

[Embed(source = “Logo.gif”)]

private var logoClass:Class;

var logo:BitmapAsset = BitmapAsset(new logoClass());

logo.bitmapData.noise(4);

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

 

二、flash.display.BitmapData类

1、继承自Object,可以看作一个专门用来存储位图像素点阵信息的数组。比如大小100x100的位图,其BitmapData就相当于一个100x100的二维数组,对应存储了10000像素的颜色值。这个颜色值是一个32位的ARGB值,用uint整数类型表示,即alpha 和red green blue 三原色。0xFF669900代表不透明的橙色,其中FF表示16进制的最大数,alpha值的范围也就在0x00-0xFF之间,比如十六进制80就是十进制的128,也就是透明度256的一半。

2、构造函数:BitmapData(width:int, height:int, transparent:Boolean = true,fillColor:unit = 0xFFFFFFFF),width 和 height 参数指定位图的大小,二者的最大值都是 2880 像素。transparent是透明度,设置为false时,颜色值仅使用24位的RGB值,这可以略微提升呈现性能。但需要注意的是,设置为不透明位图后,将无法再更改为透明位图。fillColor是用于填充位图区域的 32 位 ARGB 颜色值,默认为0xFFFFFFFF(纯白色)。

posted on 2012-11-09 20:25  笔墨丹青  阅读(1553)  评论(0)    收藏  举报

导航