在Android中运行时转换的SVG到位图

Hik*_*han 6 svg android android-bitmap

如何在Android中运行时将SVG(可缩放矢量图形)转换为位图?

请尽可能为我提供准确的代码块或精确链接.我是Android应用程序开发的新手.

Tou*_*der 9

按照svg-android教程PictureDrawable从SVG文件中获取.然后你需要Bitmap从大小创建一个PictureDrawable并给它一个Canvas.当Canvasnow从中绘制a 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;
Run Code Online (Sandbox Code Playgroud)


Tod*_*odd -1

您是否尝试在本机 Android 应用程序中执行此操作?或者在Android浏览器中使用JavaScript?

如果您属于后者,您可以使用 JavaScript 来解析 SVG 并将结果渲染到 HTML5 画布元素(这是一个位图表面)。有两个库可以帮助您做到这一点:

使用这些库将 SVG 渲染到画布后,您可以进一步从画布中获取静态图像文件。有关第二步的更多详细信息,请参阅此 Stack Overflow 线程。