0

我有一个类,它使用合并 2 个 IBitmapDrawable 的 bitmapData 创建一个类。其中一个是 24*20,另一个是 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 回答