web-dev-qa-db-fra.com

Pourquoi mon SVG ne parvient-il pas à se charger dans Vector Asset Studio?

Le fichier SVG ci-dessous ne parvient pas à s'ouvrir dans Vector Asset Studio d'Android Studio, ce qui entraîne l'erreur:

"Image d'aperçu vide! EXCEPTION dans l'analyse de TareSymbol.svg: Chaîne d'entrée:" 8.7337904mm "Exception lors de l'analyse du fichier XML: Fin de fichier prématurée." 

Pourquoi le fichier SVG suivant n'est-il pas compatible avec 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>

 enter image description here

26
Luke Allison

L'importation des fichiers .svg produits dans Inkscape dans Adobe Illustrator et leur exportation ont résolu ce problème à 100%. 

6
Luke Allison

Android Studio Vector Asset Studio ne prend actuellement pas en charge toutes les fonctionnalités de SVG. Vous pouvez convertir SVG en VectorDrawable à l’aide de ce tool .

J'espère que ça aide.

31
user6154174

Vous devez modifier la largeur et la hauteur du svg à partir de mm pour utiliser px à la place. Il s'agit d'une solution de contournement en cours en attente lorsque le problème est résolu.

Il y a déjà un rapport de bogue déposé ici

13
Kingsley Adio

Après avoir passé quelques heures, j'ai compris le problème, et même utiliser des scripts externessvg2vectordrawablene pouvait pas aider.

La taille des formes et/ou la taille de la page du document ne peuvent pas contenir de nombres flottants dans sa largeur/hauteur tels que 14.134 ou 3.5 

Cela signifie que la largeur et la hauteur de la forme et de la page doivent être entiers !

9
idish

Comme @Kingsley Adio l'a dit, vous devez utiliser des unités px pour votre document SVG.
Dans Inkscape, j’ai réussi à le faire en créant un format de page personnalisé et en définissant l’unité de sortie sur px:

 Inkscape Document Properties

8
DenisGL

Compilation des choses qui ont fonctionné pour moi lorsque j'essaie d'importer des SVG avec l'outil Vector Asset (ils ne s'excluent pas mutuellement):

  • Modifiez les valeurs de mm à px (généralement présentes dans les attributs width/height)
  • Les valeurs arrondies flottent en valeurs entières (généralement trouvées dans les attributs width/height ou viewBox ou style). Comme 224.5. Vous n'aurez pas à le faire dans les polygones, mais uniquement sur le nœud SVG.

Il y a options diverses qui pourraient causer une telle erreur (certaines d'entre elles sont listées ici).

L’utilisation de rgba(r,g,b,a) dans votre fichier .svg pourrait en être la cause. Il suffit de vérifier et de convertir si trouvé. 

Astuce: vous pouvez éditer .svg fils dans n’importe quel éditeur de fichier.

0
Hannes .T

Changer la langue dans les paramètres m'a aidé! J'avais le néerlandais comme langue sur mon ordinateur (où les virgules sont utilisées à la place des points flottants) et le changer en anglais et le redémarrage a fonctionné pour moi.

0
Hester

Изменение текста на объект решило ту проблему для меня. Сли вы используете Inkscape: сначала нажмитеCtrl+K(Combine de chemin) тогдаCtrl+J(Динамическое смещение).

0
Hill Karimov