Onelong

分享知识,与你一起进步......
RSS icon Home icon
  • as3 BitmapData 基础应用

    post by onelong / 2010-4-2 20:44 Friday [MXML/ActionScript3.0]

    从adobe的帮助文档可以了解到 BitmapData 类是用来处理 Bitmap 对象的位图图像的数据(像素)。可以使用 BitmapData 类的方法创建任意大小的透明或不透明位图图像,并在运行时采用多种方式操作这些图像。也可以访问使用 flash.display.Loader 类加载的位图图像的 BitmapData。此类允许您将位图呈现操作与 Flash Player 的内部显示更新例程分隔开来。通过直接操作 BitmapData 对象,您可以创建复杂的图像,不会因连续重新绘制矢量数据的内容而产生每帧开销。BitmapData 类的方法支持通过可用于非位图显示对象的滤镜无法得到的效果。BitmapData 对象包含像素数据的数组。此数据可以表示完全不透明的位图,或表示包含 Alpha 通道数据的透明位图。以上任一类型的 BitmapData 对象都作为 32 位整数的缓冲区进行存储。每个 32 位整数确定位图中单个像素的属性。每个 32 位整数都是四个 8 位通道值(从 0 到 255)的组合,这些值描述像素的 Alpha 透明度以及红色、绿色、蓝色 (ARGB) 值。(对于 ARGB 值,最高有效字节代表 Alpha 通道值,其后的有效字节分别代表红色、绿色和蓝色通道值。)将这四个通道(Alpha、红色、绿色和蓝色)与 BitmapData.copyChannel() 方法或 DisplacementMapFilter.componentX 及 DisplacementMapFilter.componentY 属性一起使用时,这些通道以数字形式表示,并且这些数字在 BitmapDataChannel 类中由以下常量表示:
    BitmapDataChannel.ALPHA
    BitmapDataChannel.RED
    BitmapDataChannel.GREEN
    BitmapDataChannel.BLUE
    通过使用 Bitmap 对象的 bitmapData 属性,可以将 BitmapData 对象附加到 Bitmap 对象。可以使用 Graphics.beginBitmapFill() 方法用 BitmapData 对象填充 Graphics 对象。
    说了那么多,也是时候说说它到底是怎样用的了!如:
    var myBitmapData:BitmapData = new BitmapData(200, 100, false, 0xff0000);//新建一个宽200像素高100像素背景为红色的位图数据
    var myBitmap:Bitmap = new Bitmap(myBitmapData);//新建位图
    addChild(myBitmap);把位图加入显示列表中!
    就这样简单就在flash中新建了一个位图!也是有人会问这和Graphics里的方法有什么不同呢?呵呵
    BitmapData 类提供了许多方法,还支持强大的滤镜!
    例如

     

    阅读全文>>