flex bitmapData draw - как задать, куда рисовать - PullRequest
0 голосов
/ 16 декабря 2010

У меня есть класс, который создает класс с 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 ]

1 голос
/ 16 мая 2011

Попробуйте это:

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;            
}
0 голосов
/ 16 декабря 2010

Посмотрите на параметр matrix в BitmapData.draw, используйте переведенную матрицу.

...