SVG для Bitmap во время конвертации в Android

Как преобразовать SVG (масштабируемую векторную графику) в Bitmap во время выполнения в Android?

Просьба, если возможно, предоставить мне точный фрагмент кода или точные ссылки. Я совершенно новичок в разработке приложений для Android.

Следуйте PictureDrawable svg-android, чтобы получить PictureDrawable из вашего SVG-файла. Затем вам нужно создать Bitmap с размером PictureDrawable и передать его Canvas . Когда Canvas теперь рисует Picture из PictureDrawable , текущее растровое изображение, которое вам нужно, нарисовано (создано) во время выполнения.

 PictureDrawable pictureDrawable = svg.createPictureDrawable(); Bitmap bitmap = Bitmap.createBitmap(pictureDrawable.getIntrinsicWidth(), pictureDrawable.getIntrinsicHeight(), Config.ARGB_8888); Canvas canvas = new Canvas(bitmap); canvas.drawPicture(pictureDrawable.getPicture()); currentBitmap = bitmap; 

Вы пытаетесь сделать это в своем родном приложении для Android? Или в браузере Android с помощью JavaScript?

Если вы находитесь в более позднем лагере, вы можете использовать JavaScript для разбора SVG и визуализации результатов в элемент холста HTML5 (который является растровой поверхностью). Есть две библиотеки, которые могут вам помочь:

  • canvg
  • fabric.js

После того, как вы используете эти библиотеки для рендеринга SVG на холст, вы можете дополнительно захватить статический файл изображения с холста. Подробнее об этом втором шаге см. В этом потоке переполнения стека .