2015-02-03 5 views
3

Я создал файл SVG, и в Inkscape это выглядит следующим образом:Стрелки в SVG не поворачиваются при визуализации с помощью браузеров

enter image description here

Но когда я сделать это с помощью браузера, стрелки ввернут до:

enter image description here

Это (выше) является фактическое SVG (link), и в случае, если он правильно делает в вашем браузере, вот как я это вижу (на этот раз это скриншот в формате PNG):

enter image description here

Это же в последнем Firefox и Chrome.

Этот файл был создан inkscape 0.48 для Windows, и когда я снова открываю его в inkscape, он корректно отображает его. Есть ли способ заставить браузер вращать стрелки?

+0

Его трудно, не имея возможности увидеть файл, поэтому я бы включил его. Может быть, сделать стрелку частью группы, которая вращается вместе с линией? – Ian

+0

Фактический файл svg - это второе изображение, но я явно добавил ссылку, чтобы ее можно было загрузить напрямую. Однако мне удалось решить проблему –

ответ

2

Я нашел решение:

img

Проблема заключалась в том, что для этих линий были использованы кривые Безье, и даже если линии были прямыми, это вызвало проблему. Как только я заменил кривые на «соединители диаграмм», проблема исчезла.

2

Вы используете вырожденные кривые Безье, которые отображаются как прямые. Ни Chrome, ни Firefox до версии 38 не справляются с ними при определении углов маркера.

Это исправлено в Firefox 38 от bug 1129854. Я думаю, что есть эквивалентная ошибка Chrome.

4

Об этом сообщают об ошибках для Chrome, Firefox, Inkscape и Wikimedia. Оказывается, что некоторые рендереры неправильно направляют стрелку, когда один ручка, тот, что в начале кривой, имеет нулевую длину. В настоящее время Firefox, Inkscape и LibreOffice Write получают все правильно, а Chrome ошибается.

Чтобы создать пример такой строки, нарисуйте линию в Inkscape, а затем добавьте кривую середину. Inkscape затем делает оба сегмента кривыми Безье, но конечные сегменты имеют ручки с нулевой длиной. Если вы затем удалите среднюю точку, Inkscape попытается сопоставить кривую и создаст ненулевые дескрипторы длины для конечных точек.

Сообщается также bug in Firefox in 2015, and fixed

Сообщается также bug in Chrome in 2015, and not fixed

Сообщил, как bug in Inkscape in 2006, blamed on user and closed as "out of date" in 2009

Сообщается также bug in Wikimedia in 2015, by me

Discussion of ambiguity in SVG spec

3

Исправление, что я заметил в Inkscape является первым выбрать "редактировать пути по узлам "и выберите каждую конечную точку и выберите вариант« сделать выбранные узлы гладкими »на панели инструментов редактирования пути.

 Смежные вопросы

  • Нет связанных вопросов^_^