2011-09-10 5 views
1

나는이 라이브러리 http://code.google.com/p/svg-android/을 사용하여 SVG를 안드로이드에 넣으려고합니다.Android에서 SVG 스케일링?

public class main extends Activity { 
    /** Called when the activity is first created. */ 

    ImageView iv; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     iv = (ImageView)findViewById(R.id.imageView1); 
     SVG svg = SVGParser.getSVGFromResource(getResources(), R.raw.android); 
     iv.setImageDrawable(svg.createPictureDrawable()); 

    } 
} 

을 그리고 그것은 SVGpretty 좋은 그릴 수행합니다

여기 내 코드는 지금까지입니다. 그러나 제가 그것을, 예를 들어, 100x100px가 되길 원한다면, 그것을 스케일하는 방법을 찾을 수 없었습니다.

아이디어가 있으십니까?

답변

2

svg를 Canvas로 그릴 때 크기를 쉽게 조절할 수 있습니다. 따라서 가능한 해결책은 원하는 크기의 비트 맵 위에 Canvas를 만들고 축척 작업을 적용한 다음 그 위에 그림을 렌더링하는 것입니다.

getPictureDrawable 대신 svg.getPicture()를 사용하십시오. svg.getLimits() (not svg.getBounds())를 기반으로 적용 할 스케일을 계산하십시오.

+0

나를 위해이 질문은 SVG가 전적으로 벡터 기반이기 때문에 궁금한 점이 있습니다. –