如何在 Android 运行时将 SVG(可缩放矢量图形)转换为位图?
如果可能的话,请向我提供确切的代码块或确切的链接。我对 Android 应用程序开发很陌生。
如何在 Android 运行时将 SVG(可缩放矢量图形)转换为位图?
如果可能的话,请向我提供确切的代码块或确切的链接。我对 Android 应用程序开发很陌生。
按照svg-androidPictureDrawable
教程从 SVG 文件中获取一个。然后您需要Bitmap
从 的大小创建 aPictureDrawable
并将其提供给 a Canvas
。当Canvas
now 从 中绘制 aPicture
时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 画布元素(这是一个位图表面)。有两个库可以帮助您做到这一点:
使用这些库将 SVG 渲染到画布后,您可以进一步从画布中获取静态图像文件。有关第二步的更多详细信息,请参阅此 Stack Overflow 线程。