2011-09-10 13 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をキャンバスに描画すると、簡単に拡大縮小することができます。そのため、可能な解決方法は、希望のサイズのビットマップ上にキャンバスを作成し、スケール操作を適用して、画像をレンダリングします。

getPictureDrawableではなくsvg.getPicture()を使用してください。 svg.getLimits()(not svg.getBounds())に基づいて適用するのに必要な尺度を計算します。

+0

これは、問題のSVGが完全にベクトルベースであるため、私にとって興味深い結果をもたらしました。 –

関連する問題