flex位图数据绘制 - 如何设置在哪里绘制

问题描述:

我有一个类创建一个类与bitmapData合并2 IBitmapDrawable。 其中一个是24 * 20,而另一个是16 * 16。 我想先画一个bitmapData对象,它的宽度和高度都是24 * 20 ,但是我想把它画在大范围的中心。flex位图数据绘制 - 如何设置在哪里绘制

没有人知道如何做到这一点? 感谢...

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

matrix参数的BitmapData.draw,使用翻译矩阵。

试试这个:

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