1

このライブラリhttp://code.google.com/p/svg-android/を使用してSVGをAndroidに取り込もうとしています。

これまでの私のコードは次のとおりです。

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());

    }
}

そしてそれはSVGをかなり良いものにします。しかし、たとえば100 x 100ピクセルにしたい場合など、スケーリングする方法が見つかりませんでした。

何か案は?

4

1 に答える 1

2

svg をキャンバスに描画すると、簡単にスケーリングできます。したがって、可能な解決策は、目的のサイズのビットマップ上に Canvas を作成し、スケール操作を適用してから、それに画像をレンダリングすることです。

getPictureDrawable の代わりに svg.getPicture() を使用します。svg.getLimits() (svg.getBounds() ではない) に基づいて、適用するために必要なスケールを計算します。

于 2011-09-10T08:38:28.150 に答える