Я провел небольшое исследование SVG и, видимо, окно просмотра не является элементом, который можно экспортировать через Illustrator. Элемент viewbox совместим только с определенными программами, которые решили использовать этот элемент или манипулировать им. К сожалению, Illustrator не является одним из них.
Если вы сохранили SVG из Illustrator без «Сохранить возможности редактирования Illustrator», вы можете отменить процесс. Любые изменения, внесенные вами в данные файла SVG, будут отражены в Illustrator, но путем изменения положения и изменения размера артборда и слоев для создания псевдо-окна просмотра.
На данный момент все, что вы можете сделать, это проектные работы в Illustrator и весь дополнительный код для смещения и позиционирования окна просмотра в данных файла. Вы можете создать псевдо-окно просмотра, просто изменив позицию Artboards Width + Height / X + Y, а затем изменив атрибуты объектов Size и Position. Но истинного атрибута viewbox никогда не будет, если они не выпустят обновление для Illustrator с редактируемыми функциями viewbox.
Некоторое чтение по формату SVG в Illustrator: Adobe Illustrator Сохранить в формате SVG
Я сталкивался с этой проблемой несколько раз, и единственное, что мне когда-либо удавалось надежно сбросить SVG viewbox до точно 0, 0 при экспорте из Illustrator, - это создать новый пустой документ, скопировать и вставить в него иллюстрацию. ,
Верхний левый угол этой нетронутой артборда по умолчанию будет экспортироваться как точка 0, 0 поля просмотра. Используйте smart guides (
cmd-u
) илиalign
окно, установленное на,Align to Artboard
если ваша работа должна начинаться с 0, 0.Вы можете безопасно изменить размер артборда из нижнего правого угла, но если вы переместите верхний левый угол, все пойдет не так. Перемещение верхнего левого угла монтажных областей или импорт SVG-файлов в AI, кажется, вызывает какое-то странное внутреннее разъединение между линейками, монтажными областями и неким невидимым секретным исходным местом просмотра, известным только Illustrator.
AFAICT, как и большинство других вещей, связанных с сетью или новыми технологиями, подход Adobe к SVG заключался в том, чтобы собрать что-то грубо, чтобы они могли похвастаться этим в пресс-релизе, а затем оставить его глючным, незаконченным и нелюбимым, делая вид, что это не так. существует и продолжает, как будто это 1998 год.
источник
viewbox
будут изменены при экспорте в SVG. Вы совершенно правы в создании нового документа и копировании всей иллюстрации. Ваш ответ должен быть помечен как правильный +1.Preserve Illustrator Editing Capabilities
ли я в первый раз, только на тот случай, если мне нужно будет внести дополнительные изменения, а затем, когда я думаю, что все довольно хорошо, я сохраняю это без него (увеличение размера файла довольно значительно, так что вы захотите сделать это)Я знаю, что это очень поздно для темы, но у меня была такая же проблема и сделал следующее.
Надеюсь, это поможет кому-то еще.
источник
width="<W>" height="<H>"
в ваш любимый текстовый редактор тега SVG также помогает (где<W>
и<H>
будут десятичные числа).У меня была очень похожая проблема, что мой созданный ИИ SVG не был отцентрирован и расширен до полного окна браузера, потому что ИИ продолжает изменять размер монтажной области и забывает о центрировании.
Единственный способ исправить это - выполнить последний шаг ручной обработки в Inkscape.
Наконец, вам нужно снова сохранить SVG, но использовать формат «Оптимизированный SVG» в диалоговом окне «Сохранить как». Появится диалоговое окно для параметров SVG, и вы должны включить «Включить viewboxing».
Поскольку все мои SVG-файлы представляют собой значки одинакового размера, этот этап обработки занимает всего 1 минуту, поскольку у меня всегда одинаковый холст и размер объекта. Но да, обидно, что этот шаг вообще нужен и должен быть исправлен в AI.
источник
Я понял это. В заключение! Есть простой способ сделать это. Вот так:
Проблема заключалась в том, что при экспорте изображения из Illustrator (как это делают многие) артборд не включается в экспортированный SVG. Пути не имеют оснований для своих расчетов.
В моем случае максимальная высота для моих изображений была,
100px
и мне нужно было основывать стили CSS для этих изображений на основе их ширины и высоты. В CSS я используюvw
модули, или просто старый100%
если SVG должен заполнить пространство блока. Это хорошо масштабируется. Таким образом, вам не придется возиться с настройкой ширины и высоты в CSS, чтобы обеспечить ее правильное отображение.Я просмотрел каждый логотип и установил высоту, чтобы
100px
ширина автоматически вычислялась на основе соотношения сторон. Затем я прикрепляю артборд к логотипу, чтобы убрать все неиспользуемые места.Я выбрал прямоугольник, выключил заливку и обводку и убедился, что он точно такого же размера, как артборд. Поместите этот пустой объект сзади. Теперь при экспорте путь будет иметь базу для работы с расчетами.
Чтобы сделать это в коде, кажется, вы можете обернуть пути в a
rect
и установить его ширину и высоту, а затем вы можете установитьviewBox
одинаковое значение (оставьте пропорции одинаковыми). Как показано в примере выше. Я на самом деле не проверял это, но я буду проверять и обновлять.источник
Мне удалось это исправить с помощью Inkscape . Похоже, Illustrator плохо поддерживает файлы SVG.
источник