2010-12-16 3 views
0

나는 IBitmapDrawable을 병합하는 bitmapData 클래스를 생성합니다. 중 하나는 24 * 20이고 다른 하나는 16 * 16입니다. 너비와 높이가 24 * 20 인 bitmapData 객체에서 더 작은 크기를 먼저 그려야하지만 큰 경계의 중심에 그려야합니다.flex bitmapData draw - 그릴 위치를 설정하는 방법

그 방법을 아는 사람이 있습니까? 덕분에 ...하여 BitmapData.draw에서 matrix 매개 변수를 사용 번역 매트릭스에서

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

답변

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