8.3.绘制可视化对象到位图上

问题
我想把Sprite或其他显示对象上的内容绘制到位图上
解决办法
用BitmapData类的draw( )方法绘制内容
讨论
创建好的BitmapData,只是简单的黑色背景。你可能会把在sprite或其他可视化对象上已画好的图形内容画到位图上,用draw( )方法就能做到,你只要把相关对象作为draw( )的参数就可以了,也可以把flash.geom.Matrix类实例作为参数,Matrix类允许你对图形进行缩放,旋转,变换,或倾斜等操作。该参数是可选的,不过你又要使用参数,但又不想做什么,可指定为null。你还可以传递ColorTransform 对象作为参数,它能在绘图前修改颜色,下面的例子画了一个sprite到BitmapData上,名为_sprite,BitmapData 名为bitmap:
+展开
-ActionScript
bitmap.draw(_sprite);

BitmapData 类有一些基本绘图方法,比如设置象素颜色,创建填充的矩形,或噪波函数,但是没有基本的函数如画直线,曲线等等,为了解决这问题,可以先在movie clip或sprite画好,在把对象画到位图上去。下面的例子创建了BitmapData和Sprite,先在sprite 上画出椭圆,再把sprite画到BitmapData上:
+展开
-ActionScript
var bitmap:BitmapData = new BitmapData(100, 100,true, 0x00ffffff);
var sprite:Sprite = new Sprite( );
sprite.graphics.beginFill(0xff0000, 100);
sprite.graphics.drawEllipse(0, 25, 100, 50);
sprite.graphics.endFill( );
bitmap.draw(sprite);

加支付宝好友偷能量挖...


评论(0)网络
阅读(125)喜欢(0)flash/flex/fcs/AIR