【问题标题】:SVG to Bitmap at runtime conversion in Android [closed]SVG在Android中运行时转换为位图[关闭]
【发布时间】:2015-04-28 13:54:57
【问题描述】:

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

如果可能,请向我提供确切的代码块或确切的链接。我对 Android 应用程序开发还很陌生。

【问题讨论】:

    标签: android svg android-bitmap


    【解决方案1】:

    按照svg-android 教程从您的SVG 文件中获取PictureDrawable。然后您需要从PictureDrawable 的大小创建一个Bitmap,并将其提供给Canvas。当Canvas 现在从PictureDrawable 中绘制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;
    

    【讨论】:

      【解决方案2】:

      您是否尝试在原生 Android 应用中执行此操作?还是在 Android 浏览器中使用 JavaScript?

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

      使用这些库将 SVG 渲染到画布后,您可以进一步从画布中获取静态图像文件。 Refer to this Stack Overflow thread 了解有关第二步的更多详细信息。

      【讨论】:

      • 他没有说任何关于网络浏览器的事情,你的帖子是无关紧要的
      猜你喜欢
      • 2012-06-13
      • 1970-01-01
      • 1970-01-01
      • 2013-12-18
      • 2013-01-01
      • 2014-01-05
      • 2017-12-10
      • 2021-12-07
      • 2022-11-21
      相关资源
      最近更新 更多