0

2 つの IBitmapDrawable をマージする bitmapData を持つクラスを作成するクラスがあります。1 つは 24*20 で、もう 1 つは 16*16 です。幅と高さが 24*20 の bitmapData オブジェクトで最初に小さい方を描画したいのですが、大きな境界の中央に描画したいと考えています。

誰もそれを行う方法を知っていますか? ありがとう...

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;            
}
4

2 に答える 2

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;            
}
于 2011-05-16T13:10:20.233 に答える
0

matrixBitmapData.drawのパラメーターを見て、変換されたマトリックスを使用します。

于 2010-12-16T08:40:03.547 に答える