Экспорт путей GIMP в вопрос .svg - PullRequest
1 голос
/ 10 августа 2009

Я использовал направляющие в файле GIMP, чтобы создать путь, представляющий собой просто прямые линии - без кривых или чего-либо еще. Однако, когда я экспортирую путь, код SVG использует «C» индикатор кривой, чтобы нарисовать путь. Так что часть кода выглядит так:

<path id="Unnamed"
    fill="none" stroke="black" stroke-width="1"
    d="M 400.00,1230.00
       C 400.00,1230.00 328.00,1230.00 328.00,1230.00
         328.00,1230.00 328.00,962.00 328.00,962.00
       ...
       Z"
</path>

Я хочу вычеркнуть координаты, которые были экспортированы в этот файл, и использовать их для множества других вещей, и это очевидно тривиальный вопрос для обработки формата "C", но мне интересно, почему он использовал C и не L, и если я могу получить время загрузки быстрее на действительно сложных путях, если файл .svg использовал L.

Ответы [ 3 ]

0 голосов
/ 10 августа 2009

Если у вас есть только прямые линии, то я полагаю, что это может иметь значение в некоторых случаях, потому что команде lineto нужно указать только одну точку, а curvto - три. Это может увеличить размер файла и, следовательно, повлиять на время загрузки / анализа. Хотя, вероятно, не слишком много, если у вас не огромное количество строк.

0 голосов
/ 24 января 2013

Это как-то связано с тем, что пути представлены в виде кривых Безье в GIMP (как уже правильно угадано). Код gimpvectors-export.c в git.gnome экспортирует эти кривые правильно в соответствии с Рекомендация SVG .

Поэтому, когда вы в конечном итоге создаете более одной контрольной точки в GIMP с вашим путем (что вы в основном делаете все время), вы в конечном итоге получаете экспортированный результат.

0 голосов
/ 10 августа 2009

Я предполагаю, что GIMP просто обрабатывает каждый сегмент пути как кривую Безье и поэтому экспортирует их в SVG как таковой. Или им просто было лень реализовывать специализированное кодирование определенных путей. В любом случае, как я понимаю, эти кривые функционально эквивалентны вашим отрезкам прямой линии. так что это все та же информация.

Что касается времени загрузки, я думаю, что это не имеет большого значения. Как синтаксис, так и синтаксис пути должны быть проанализированы, независимо от того, будет ли это несколько токенов более или менее в последнем, я не думаю, что это будет иметь большое значение. Тем не менее, как обычно: Если вы сомневаетесь, профиль: -)

...