2010-12-16 3 views
0

J'ai une classe qui crée une classe avec bitmapData qui fusionnent 2 IBitmapDrawable. l'un d'entre eux est 24 * 20 tandis que l'autre est 16 * 16. je veux dessiner le plus petit d'abord dans un objet bitmapData dont la largeur et la hauteur sont 24 * 20 mais je veux le dessiner au centre des grandes limites.flex bitmapData dessiner - comment l'ensemble où dessiner

Est-ce que quelqu'un sait comment faire cela? merci ...

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

Répondre

0

Regardez matrix paramètre dans BitmapData.draw, utilisez la matrice traduite.

1

Essayez ceci:

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