J'essaie de convertir des fichiers SVG qui proviennent d'un outil de ligne de commande (abcm2ps) en fichiers vectoriels Android, mais je rencontre des problèmes.
Mon processus est le suivant:
Je reçois des erreurs indiquant que certains identifiants référencés sont introuvables. J'ai regardé dans le fichier XML et j'ai remarqué que cette erreur se produit uniquement pour les références qui contiennent à nouveau des références. Exemple:
<defs id="defs6633"> <path id="usharp" class="fill" d="m 136,-702 v 890 h 32 v -890 m 128,840 h 32 V -750 H 296 M 64,-464 v 116 l 338,-96 V -560 M 64,-118 V -2 l 338,-98 v -114" inkscape:connector-curvature="0" style="fill:currentColor" /> <use id="sh0" transform="matrix(0.018,0,0,0.018,-4,5)" xlink:href="#usharp" x="0" y="0" width="100%" height="100%" /> </defs> <use x="44.5" y="20" xlink:href="#sh0" id="use6635" width="100%" height="100%" />
Comme vous pouvez le voir, l'objet use6635
fait référence à sh0
, qui fait à nouveau référence à usharp code>.
D'autres endroits où l'objet référencé ne fait pas référence à un autre objet fonctionnent, cependant.
Est-ce une limitation connue du convertisseur? Existe-t-il un moyen (de préférence un outil en ligne de commande) d'aplatir la hiérarchie de référence afin que seuls les objets référencés ne référencent pas d'autres objets?
EDIT: OK, conversion en EPS puis en SVG crée des SVG qui sont traités sans l'avertissement ci-dessus - Je reçois maintenant des avertissements indiquant que les largeurs de trait mises à l'échelle ne sont pas prises en charge ...
3 Réponses :
vous devriez essayer Shape Builder , j'ai eu un problème connexe qu'il a résolu le mien, j'espère qu'il sera utile pour vous aussi!
Bel essai, n'aide cependant pas. Il dit que mes fichiers SVG ne peuvent pas être importés.
OK, je suis un peu plus loin qu'hier. Changer mon flux de travail pour créer d'abord un EPS, puis utiliser Inkscape pour créer un SVG à partir de cet EPS permet à votre site lié de lire correctement le SVG. Android Vector Studio le lit également maintenant, mais avertit de ne pas pouvoir mettre à l'échelle la largeur des lignes ...
J'utilise cet outil simple pour convertir des fichiers SVG en xml, je n'ai jamais eu de problème avec lui jusqu'à présent :-) Ce n'est pas un outil de ligne de commande mais je pense que vous pouvez convertir plusieurs fichiers à la fois.
http://a-student.github.io/SvgToVectorDrawableConverter.Web/ a>
Merci pour votre réponse. Alors que la possibilité de convertir tout un tas de fichiers à la fois aurait été aussi bonne qu'un outil de ligne de commande, cet outil ne prend pas non plus en charge la mise à l'échelle des largeurs de trait. Merci cependant d'avoir essayé de vous aider!
Les derniers jours où j'utilisais ce site avec d'excellents résultats, déposez votre fichier svg et obtenez votre code xml pouvant être dessiné [ https://svg2vector.com/] [1]
Essayez d'utiliser l'outil Vector Asset Studio intégré à Android Studio. developer.android.com/studio/write/vector-asset-studio