·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

[AS3]as3下BitmapData对象创建位图方法实例

时间:2013-08-30 10:37cuplayer.com
矢量图和位图的区别:矢量图形是由数学方法描述图形元素,比如一条直线是从(x0,y0)到(x1,y1)。而位图把图形描述为一个矩形区域值集合,每个点都对应一个颜色值

  矢量图和位图的区别:矢量图形是由数学方法描述图形元素,比如一条直线是从(x0,y0)到(x1,y1)。而位图把图形描述为一个矩形区域值集合,每个点都对应一个颜色值

  矢量图有两大优势:缩放和文件大小。当你缩放矢量图时,图像总能保持清晰,而位图当放大时就会出现锯齿状变得不清晰。

  正因为矢量图是一个线条,曲线和图形的坐标组成的列表,所以它的文件和位图相比小很多。而位图要记录每个点的颜色值,信息量非常大,也就导致了文件的庞大。

  矢量图的这种优势使它作为Flash媒体格式的最好形式,但是位图也有它自己的优点,比如位图能很好的表现照片,如果用矢量图去描述照片的所有颜色和图形,那结果就是比位图的文件还要大了。

  位图另一个好处就是很容易进行处理,矢量图的每个曲线都是经过计算出来的,如果图像复杂就会花很长时间去处理,而位图就容易处理多了,无论多么复杂的动画,位图总能表现的很好。

  32位16进制颜色值的得到方法:假如有0x0A5500EE,则表示alpha的值是0A,R(red)是55,G(green)是 00,B(blue)是EE。关于alpha的值,其范围用十进制表示是在0--255之间,用十六进制表示就是00--FF。可以用 int.toString(16)来进行十进制到十六进制的转换,如果转换的值为个位,则需要补0,例如1表示为01,e表示为0E

  创建位图的一般步骤:

  1. 构建一个BitmapData对象:var bitmap:BitmapData = new BitmapData(width,height,transparent,fillColor);

   width -- 位图的宽度

  height -- 位图的高度

  transparent -- 是否创建alpha通道,默认为true

  fillColor -- 32位16进制的颜色值,在transparent为true时,默认为0xFFFFFFFF

2. 新建Bitmap对象,以之前新建的BitmapData为参数:var image:Bitmap = new Bitmap(bitmap);

3. 直接添加该Bitmap对象:this.addChild(image);

  1. package {    
  2.     import flash.display.Bitmap;    
  3.     import flash.display.BitmapData;    
  4.     import flash.display.Sprite;    
  5.    
  6.     public class Sample0310 extends Sprite    
  7.     {       
  8.         public function Sample0310()    
  9.         {    
  10.             var alphaInt:int = 128;    
  11.             var alphaHex:String = alphaInt.toString(16);    
  12.             if(alphaHex.length==1)    
  13.             {    
  14.                 alphaHex = "0" + alphaHex;    
  15.             }       
  16.             var fillColor:String = "0x"+alphaHex+"FFFF00";    
  17.         
  18.             var bitmap:BitmapData = new BitmapData(200,100,true,uint(fillColor));    
  19.             var image:Bitmap = new Bitmap(bitmap);    
  20.             this.addChild(image);    
  21.         }    
  22.     }    

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器