2015-03-17 1 views
0

У меня есть файл с SVG xml codeInkscape сохранить Изображение в формате SVG не хранит кривой

enter image description here

Кодекса

convert curve.svg curve.png 

работает отлично.

Но с помощью Inkscape:

inkscape -e curve.png curve.svg 

фон RRGGBBAA: ffffff00

Площадь 0: 0: 1000: 600 экспортируется до 1000 х 600 пикселей (90 точек на дюйм)

Растровые сохранены как : curve.png

Дает мне изображение без кривой:

enter image description here

ответ

1

Inkscape не кажется, нравится запятые в значении атрибута d<path>. Я не знаю, является ли это ошибкой, известным ограничением или из-за спецификации SVG; не знаю много о SVG - извините. :-)

Однако, если вы удаляете запятую из значения d, похоже, что все нормально.

Один из возможных способов сделать это на Linux является простой командой Awk (не очень надежные, но работает для вашего конкретного файла - только то, что я пытался в устранении неполадок):

awk '/<path /{gsub(", L", " L")}{print}' with-commas.svg > working.svg 

Если вы обнаружили, нужно массировать XML в приложении «производственного класса», пожалуйста, используйте фактический синтаксический анализатор XML и соответствующим образом удалите запятые, вместо того чтобы полагаться на мой глупый сценарий Awk. :-)

+1

Запятые разрешены только между числами в атрибуте d. В этом случае они не так, что путь недействителен, а inkscape совершенно прав, чтобы отклонить его. –