Android中运行时将SVG转换为位图

6
我该如何在Android中将SVG(可缩放矢量图形)转换为位图?如果可能的话,请提供精确的代码或链接。我对Android应用程序开发还很陌生。
2个回答

9
请参照 svg-android 教程,从你的SVG文件中获取一个 PictureDrawable。接下来,需要根据 PictureDrawable 的大小创建一个 Bitmap 并将其提供给 Canvas。当 CanvasPictureDrawable 绘制 Picture 时,所需的当前位图会在运行时被绘制(创建)。
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;

-1
你是想在原生Android应用中实现这个功能吗?还是在使用JavaScript的Android浏览器中?
如果你属于后者,你可以使用JavaScript解析SVG并将结果渲染到HTML5画布元素(即位图表面)。有两个库可以帮助你实现这个功能:

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


他没有提到任何关于网络浏览器的内容,你的帖子是不相关的。 - animaonline

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接