Why is my SVG failing to load in Vector Asset Studio

断了今生、忘了曾经 提交于 2019-12-03 08:11:21

问题


The SVG below is failing to open in Android Studio's Vector Asset Studio in resulting in the error:

"Empty preview image! EXCEPTION in parsing TareSymbol.svg: For input string: "8.7337904mm"Exception while parsing XML file: Premature end of file."

Why is the following SVG file not compatible with Vector Asset Studio?

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:cc="http://creativecommons.org/ns#"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:svg="http://www.w3.org/2000/svg"
   xmlns="http://www.w3.org/2000/svg"
   version="1.1"
   id="svg20235"
   viewBox="0 0 61.500162 30.946501"
   height="8.7337904mm"
   width="17.356712mm">
  <defs
     id="defs20237" />
  <metadata
     id="metadata20240">
    <rdf:RDF>
      <cc:Work
         rdf:about="">
        <dc:format>image/svg+xml</dc:format>
        <dc:type
           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
        <dc:title></dc:title>
      </cc:Work>
    </rdf:RDF>
  </metadata>
  <g
     transform="translate(-109.24987,-351.17467)"
     id="layer1">
    <path
       d="m 145.03542,367.34167 10.897,-4.49325 -0.009,3.30587 13.69124,0.0372 1.13537,0 0,2.1285 -1.13537,0 -13.69662,-0.0373 -0.009,3.33988 -10.87325,-4.281 z m -13.38814,-13.15875 0,-3.00825 16.97389,0 0,3.00825 -6.8995,0 0,27.93825 -3.15214,0 0,-27.93825 -6.92225,0 z m 3.31725,13.15875 -10.897,4.49325 0.009,-3.3055 -13.69129,-0.0373 -1.13537,0 0,-2.1285 1.13537,0 13.69662,0.0372 0.009,-3.33988 10.87325,4.28063 z"
       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
       id="path20212" />
  </g>
</svg>


回答1:


Android Studio's Vector Asset Studio is currently not support all the features of SVG. You can convert SVG to VectorDrawable using this tool.

Hope it helps.




回答2:


You need to change the width and height of the svg from mm to use px instead. This is a current workaround pending when the issue is fixed.

There is already a filed bug report here




回答3:


After spending some hours, I figured out the problem, and even using external svg2vectordrawable scripts couldn't help.

The size of the shapes and/or the document's page size cannot contain floating numbers in its width/height such as 14.134 or 3.5

Meaning the width and height of the shape and the page must be integers!




回答4:


As @Kingsley Adio said, you must use px units for your SVG document.
In Inkscape, I managed to do it by creating a custom page size and setting the output unit to px:




回答5:


Importing the .svg files produced in Inkscape into Adobe Illustrator and exporting them fixed this issue 100%.




回答6:


Compilation of things that worked for me when trying to import SVGs with the Vector Asset tool (they are not mutually exclusive):

  • Change values from mm to px (typically found in the width / height attributes)
  • Round values float values to integer (typically found in the width / height or viewBox or style attributes). Like 224.5. You won't have to do this in the polygons, but only on the SVG node.



回答7:


Changing Text to Object fixed this issue for me. If you are using Inkscape: first click Ctrl+K (Path Combine) then Ctrl+J (Dynamic Offset).




回答8:


There are various option that might cause such an error (some of them listed here).

On causing could be the use of rgba(r,g,b,a) in your .svg file. Just check and convert if found.

Hint: You can edit .svg fils in any file editor.




回答9:


Changing the language in settings helped me! I had Dutch as language on my computer (where comma's are used instead of floating points) and changing it to English and restarting worked for me.




回答10:


My SVG was being created (from an online website) with , in the viewbox tag.

i.e:

viewBox="0, 0, 350,450"

changing this to:

viewBox="0 0 350 450"

allowed Android Studio to import it



来源:https://stackoverflow.com/questions/36906986/why-is-my-svg-failing-to-load-in-vector-asset-studio

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!