flex bitmapData draw - 如何设置绘制的位置

时间:2010-12-16 07:38:40

标签: flex draw bitmapdata

我有一个类创建一个带有bitmapData的类,它合并了2个IBitmapDrawable。 其中一个是24 * 20而另一个是16 * 16。 我想在bitmapData对象中绘制较小的第一个,其宽度和高度为24 * 20 但我想把它画在大边界的中心。

有谁知道怎么做? 感谢...

if (baseIcon) {
    var result:BitmapData = new BitmapData(baseIconWidth,baseIconHeigt,true, 0x00FFFFFF);
    result.draw(baseIcon,new Matrix(1, 0, 0, 1, 0, 0));
    if (indicatorIcon) {
       result.draw(indicatorIcon,new Matrix(1, 0, 0, 1, 0, 0));
    }
    bitmapData = result;
    baseIcon = null;            
}

2 个答案:

答案 0 :(得分:1)

试试这个:

if (baseIcon) {
    var result:BitmapData = new BitmapData(baseIconWidth,baseIconHeigt,true, 0x00FFFFFF);
    var m:Matrix = new Matrix();
    m.translate(baseIconWidth/2 - baseIcon.width/2,baseIconHeight/2 - baseIcon.height/2);
    result.draw(baseIcon,m);
    if (indicatorIcon) {
       result.draw(indicatorIcon,new Matrix(1, 0, 0, 1, 0, 0));
    }
    bitmapData = result;
    baseIcon = null;            
}

答案 1 :(得分:0)

查看BitmapData.draw中的matrix参数,使用已翻译的矩阵。