Масштабирование SVG в Android? - PullRequest
       30

Масштабирование SVG в Android?

1 голос
/ 10 сентября 2011

Я пытаюсь использовать эту библиотеку 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 на 100 пикселей?

Есть идеи?

1 Ответ

2 голосов
/ 10 сентября 2011

Вы можете легко масштабировать svgs, когда рисуете их в Canvas. Таким образом, возможное решение состоит в том, чтобы создать холст поверх растрового изображения желаемого размера, применить операцию масштабирования и затем визуализировать на нем картинку.

Используйте svg.getPicture () вместо getPictureDrawable. Рассчитать необходимый масштаб для применения на основе svg.getLimits () (НЕ svg.getBounds ()).

...