Напишите эквивалент <svg>для - PullRequest
2 голосов
/ 08 мая 2011

Не стесняйтесь спрашивать больше контекста, если вам интересно, почему это необходимо, или хотите предложить лучший способ решения более крупной проблемы. (Это включает в себя размещение нескольких планов этажей здания на карте кампуса и нахождение абсолютного местоположения определенных вещей, которые находятся на этих картах здания; более детальная проясняла вопрос.)

Короткая версия заключается в том, что я хочу взять SVG-файл, который имеет ссылки , и объединить его в один большой файл, в который каждый SVG-файл, на который есть ссылка, встроен с встроенный XML-контент SVG.

Итак, мой исходный файл верхнего уровня (составленный в Inkscape) выглядит так:

<image xlink:href="floorplans/bldg1.svg"
width="165.52684" height="107.10559" y="-1937.7657"
x="2507.1565" transform="matrix(0,1,-1,0,0,0)" />

И моя попытка объединенной версии встроить все векторные данные:

<svg x="2507.1565" y="-1937.7657" width="165.52684" height="107.10559"
transform="matrix(0,1,-1,0,0,0)" viewBox="0 0 1224 792">
<g id="surface0">
<path style="fill:none;stroke-width:0.72;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);...

Итак, в основном я использую скрипт для замены на и вставки содержимого корня в "floorplans / bldg1.svg". (Копирование атрибутов из в и копирование атрибута viewBox из исходного в новый.)

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

Спасибо.

1 Ответ

2 голосов
/ 08 мая 2011

Атрибут transform не применяется к элементу в соответствии со спецификацией SVG. Вы можете поместить преобразование, которое было на элементе , на элемент либо снаружи, либо внутри .

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

...