Преобразование SVG в Android Vector Drawable - PullRequest
0 голосов
/ 30 марта 2019

Я пытаюсь преобразовать SVG-файлы, которые выводятся из инструмента командной строки (abcm2ps), в векторные графические объекты Android, но у меня возникают проблемы.

Мой процесс выглядит следующим образом:

  1. Создайте исходный файл SVG с помощью инструмента, упомянутого выше
  2. Запустите файл SVG через Inkscape, чтобы исправить размер страницы
  3. Еще раз запустите результат через Inkscape, чтобы сохранить его как обычныйSVG (где-то читал, что это может решить проблемы, но это не помогает)
  4. Попробуйте импортировать файл SVG в Android Studio безрезультатно

Я получаю сообщения об ошибкахнекоторые ссылочные идентификаторы не могут быть найдены.Я посмотрел в файл XML и заметил, что эта ошибка возникает только для ссылок, которые снова содержат ссылки.Пример:

<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%" />

Как видите, объект use6635 ссылается на sh0, который снова ссылается на usharp.

Другие места, где указанный объект не ссылается на другой объект, работают1023

Это известное ограничение преобразователя?Есть ли способ (предпочтительно инструмент командной строки) для выравнивания ссылочной иерархии, чтобы ссылаться только на объекты, которые не ссылаются на другие объекты?


РЕДАКТИРОВАТЬ: ОК, преобразование в EPS, а затем в SVGсоздает SVG, которые обрабатываются без предупреждения выше - теперь я получаю предупреждения о том, что масштабированная ширина штриха не поддерживается ...

Ответы [ 2 ]

1 голос
/ 01 апреля 2019

Я использую этот простой инструмент для конвертирования файлов SVG в xml, у меня никогда не возникало с этим проблем :-) Это не инструмент командной строки, но я думаю, что вы можете конвертировать много файлов одновременно.

http://a -student.github.io / SvgToVectorDrawableConverter.Web /

1 голос
/ 30 марта 2019

вы должны попробовать Shape Builder , у меня возникла связанная с этим проблема, она решила мою, надеюсь, она вам тоже пригодится!

...