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 类提供了许多方法,还支持强大的滤镜!
    例如

     

    
    package
    {
    	import flash.display.Bitmap;
    	import flash.display.BitmapData;
    	import flash.display.Sprite;
    	import flash.filters.BlurFilter;
    	import flash.filters.GlowFilter;
    	import flash.net.FileFilter;
    	
    	public class SimpleBitmap extends Sprite
    	{
    		public function SimpleBitmap()
    		{
    			init();
    		}
    		
    		private function init():void
    		{
    			var myBitmapData:BitmapData = 
                            new BitmapData(200, 100, false, 0xff00ff);
    			var myBitmap:Bitmap = new Bitmap(myBitmapData);
    			var filter:Array=new Array();
    			var glow:GlowFilter=new GlowFilter(0xff0000,0.4,6,6);
    			filter.push(glow);
    			myBitmap.filters=filter;
    			addChild(myBitmap);
    		}
    	}
    }
    


     

    当然你想了解更多的话:http://help.adobe.com/zh_CN/AS3LCR/Flex_4.0/flash/display/BitmapData.html

    引用地址:
  • bridesmaid dresses
  • BLOG: bridesmaid dresses
  • 2015-01-31 09:03
  • prom dresses
  • BLOG: prom dresses
  • 2015-01-28 00:08
  •  

我要评论