draw(source:Object, [matrix:Matrix], [colorTransform:ColorTransform], [blendMode:Object], [clipRect:Rectangle], [smooth:Boolean]) : Void
source:Object - 要绘制的 BitmapData 对象。
matrix:flash.geom.Matrix [可选] - 一个 Matrix 对象,用于缩放、旋转或转换位图的坐标。如果没有提供任何对象,位图图像将不转换。如果您必须传递此参数但又不希望转换图像,则可以将此参数设置为使用默认 new Matrix() 构造函数创建的恒等矩阵。
colorTransform:flash.geom.ColorTransform [可选] - 一个 ColorTransform 对象,用于调整位图的颜色值。如果没有提供任何对象,位图图像的颜色将不转换。如果您必须传递此参数但又不希望转换图像,则可以将此参数设置为使用默认 new ColorTransform() 构造函数创建的 ColorTransform 对象。
blendMode:Object [可选] - 一个 BlendMode 对象。
clipRect:flash.geom.Rectangle [可选] 一个 Rectangle 对象。如果您未提供此值,将不发生任何剪裁。
smooth:Boolean [可选] - 布尔值,确定缩放时是否要对 BitmapData 对象进行平滑处理。默认值为 false。
实例说明:
下面的示例演示如何将源 MovieClip 实例绘制为 BitmapData 对象。
import flash.display.BitmapData;
import flash.geom.Rectangle;
import flash.geom.Matrix;
import flash.geom.ColorTransform;
var myBitmapData:BitmapData = new BitmapData(100, 80, false, 0x00CCCCCC);
var mc_1:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth());
mc_1.attachBitmap(myBitmapData, this.getNextHighestDepth());
var mc_2:MovieClip = createRectangle(50, 40, 0xFF0000);
mc_2._x = 101;
var myMatrix:Matrix = new Matrix();
myMatrix.rotate(Math.PI/2);
var translateMatrix:Matrix = new Matrix();
translateMatrix.translate(70, 15);
myMatrix.concat(translateMatrix);
var myColorTransform:ColorTransform = new ColorTransform(0, 0, 1, 1, 0, 0, 255, 0);
var blendMode:String = "normal";
var myRectangle:Rectangle = new Rectangle(0, 0, 100, 80);
var smooth:Boolean = true;
mc_1.onPress = function() {
myBitmapData.draw(mc_2, myMatrix, myColorTransform, blendMode, myRectangle, smooth);
}
function createRectangle(width:Number, height:Number, color:Number):MovieClip {
var depth:Number = this.getNextHighestDepth();
var mc:MovieClip = this.createEmptyMovieClip("mc_" + depth, depth);
mc.beginFill(color);
mc.lineTo(0, height);
mc.lineTo(width, height);
mc.lineTo(width, 0);
mc.lineTo(0, 0);
return mc;
}
新疆乌鲁木齐flash动画制作