【问题标题】:SVG image not displaySVG图像不显示
【发布时间】:2014-02-25 23:42:25
【问题描述】:

我已经将一个psd文件转换为svg,它在浏览器上运行良好,但在android原生应用程序上不可用,我该怎么做?

    ImageView imageView = (ImageView)findViewById(R.id.img1);
    imageView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
    //Parse the SVG file from the resource
    SVG svg = SVGParser.getSVGFromResource(getResources(), R.raw.android);
    //Get a drawable from the parsed SVG and apply to ImageView
    imageView.setImageDrawable(svg.createPictureDrawable());

这是我用来显示 svg 图像的代码。当我使用简单的 svg 图像时它可以工作,但它不适用于使用 illustrator 转换的 svg 图像。我该怎么办?

【问题讨论】:

    标签: android svg


    【解决方案1】:

    我猜你的 SVG 只包含来自 PSD 的图像。是这样吗?

    如果 SVG 包含的只是位图图像,那么您并没有真正将 SVG 用于其正确目的(矢量艺术)。最好将 PSD 转换为 JPEG 或 PNG 并将其加载到 ImageView 中。

    但是,如果您确定要加载 SVG,则解决方案取决于您使用的 SVG 库。

    1. svg-android:据我所知不支持<image>元素,所以没有解决办法

    2. AndroidSVG:支持<image>,因此只要设备有内存来加载图像,它就应该可以工作。如果图像嵌入在文件中,你应该没问题。如果它引用外部图像,则需要传入 SVGExternalFileResolver 以便它知道如何找到位图。请参阅我对以下问题的回答:https://stackoverflow.com/a/21531168/1292848

    【讨论】:

      猜你喜欢
      • 2012-10-06
      • 2021-01-11
      • 2020-05-11
      • 2018-02-25
      • 1970-01-01
      • 1970-01-01
      • 2012-07-09
      • 1970-01-01
      • 2016-10-20
      相关资源
      最近更新 更多