Я использовал комбинацию Illustrator, Sketch, Inkscape и svg-редактора Питера Коллингриджа для создания и обработки SVG, но столкнулся с несколькими проблемами. Я пытаюсь создать базовый логотип с использованием текста, и когда логотип появляется на странице, я хотел бы анимировать внешнюю границу (с эффектом рисования ), а затем заполнить центры сплошным цветом.
В Illustrator и Sketch я начал с обычного текстового поля и преобразовал слой в контуры, но мои экспортированные SVG содержат только один путь без полей stroke
и . stroke-width
Это выглядит примерно так: <path fill="#FFF" d="…"/>
, с большим количеством разметки в d=''
поле.
Я прочитал и узнал, что Inkscape экспортирует некоторые из самых чистых SVG, поэтому импортировал PNG моих инициалов, «проследил растровое изображение» и «разгруппировал слои» в соответствии с этой демонстрацией: youtube.com/watch?v=1cZk08x_rAI. Это экспортировало svg с несколькими путями, но в каждом из них по-прежнему отсутствовали параметры stroke
и stroke-width
. Это самое близкое, что я когда-либо делал для анимации: codepen.io/pcooney10/pen/PPvGrx , и оно также содержит фактический код SVG.
У меня есть несколько вопросов, надеюсь, здесь есть люди, которые могут помочь:
Как создать/экспортировать SVG, содержащие поля stroke
, stroke-width
, stroke-dasharray
и ? stroke-dashoffset
Эти параметры, похоже, открывают множество функций анимации.
Как я могу создать плоский SVG, который по-прежнему анимирует внешние границы? Кажется, пути должны быть замкнутыми, так что это помогает мне понять, почему мой svg состоит из 7 слоев. Все лишние цвета кажутся ненужными, но если я скрою слой, это будет выглядеть забавно.
В общем, какой инструмент лучше всего подходит для создания SVG? Кажется, что Inkscape экспортирует самый чистый SVG-код, но с ним не так просто работать, как со Sketch и Illustrator. Svg-редактор Питера Коллингриджа кажется лучшим для сокращения кода, но он не удаляет все стили, которые Sketch и Illustrator встраивают в файл.
- Как создать/экспортировать SVG, содержащие поля
stroke
,stroke-width
,stroke-dasharray
и ?stroke-dashoffset
С Inkscape это очень просто:
обводка : нарисуйте или импортируйте свой объект, выберите объект, затем просто выберите цвет из палитры, удерживая нажатой, Shift
или задайте обводку непосредственно в меню «Заливка и обводка» ( Shift+Ctrl+F
). Ширина обводки по умолчанию будет 1px .
ширина обводки : отрегулируйте ширину обводки по своему вкусу в меню «Заливка и обводка».
Сохранение этих трех фигур
как простой SVG дает вам:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
version="1.1"
id="svg197572"
viewBox="0 0 840.00001 280"
height="280"
width="840">
<defs
id="defs197574" />
<metadata
id="metadata197577">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
transform="translate(87.913618,-29.053558)"
id="layer1">
<g
transform="translate(-5.1968614,1.7322813)"
id="g198176">
<path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#0088aa;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:15.99999952, 7.99999977;stroke-dashoffset:24;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="path198120"
d="m 660.77938,211.25626 c -9.4418,16.35367 -2.12269,65.32688 -19.37371,73.00753 -17.25102,7.68065 -48.74777,-30.52798 -67.21871,-34.4541 -18.47094,-3.92612 -62.7855,18.16832 -75.42109,4.13508 -12.63559,-14.03325 13.96995,-55.79555 11.99608,-74.5757 -1.97388,-18.78014 -36.68089,-54.09824 -27.23909,-70.45191 9.44179,-16.353669 57.38167,-3.95556 74.63269,-11.63621 17.25102,-7.680648 40.11546,-51.602873 58.5864,-47.676754 18.47094,3.92612 21.49388,53.350874 34.12947,67.384124 12.63558,14.03324 61.47361,22.20591 63.44748,40.98605 1.97387,18.78015 -44.09773,36.92822 -53.53952,53.28189 z" />
<path
d="m 397.92226,211.25626 c -9.4418,16.35367 -2.12269,65.32688 -19.37371,73.00753 -17.25101,7.68065 -48.74777,-30.52798 -67.2187,-34.4541 -18.47094,-3.92612 -62.78551,18.16832 -75.4211,4.13508 -12.63558,-14.03325 13.96995,-55.79555 11.99608,-74.5757 -1.97387,-18.78014 -36.68089,-54.09824 -27.23909,-70.45191 9.44179,-16.353669 57.38167,-3.95556 74.63269,-11.63621 17.25102,-7.680648 40.11547,-51.602873 58.58641,-47.676754 18.47093,3.92612 21.49387,53.350874 34.12946,67.384124 12.63559,14.03324 61.47361,22.20591 63.44748,40.98605 1.97387,18.78015 -44.09773,36.92822 -53.53952,53.28189 z"
id="path198124"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#0088aa;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
<path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#0088aa;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:16, 8;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="path198126"
d="m 135.06512,211.25626 c -9.4418,16.35367 -2.12269,65.32688 -19.37371,73.00753 -17.251014,7.68065 -48.747765,-30.52798 -67.218704,-34.4541 -18.470939,-3.92612 -62.785503,18.16832 -75.421091,4.13508 -12.635588,-14.03325 13.969949,-55.79555 11.996077,-74.5757 -1.973873,-18.78014 -36.680888,-54.09824 -27.239093,-70.45191 9.441795,-16.353669 57.381673,-3.95556 74.632691,-11.63621 17.251019,-7.680648 40.115467,-51.602873 58.586406,-47.676754 18.470944,3.92612 21.493874,53.350874 34.129464,67.384124 12.63559,14.03324 61.47361,22.20591 63.44748,40.98605 1.97388,18.78015 -44.09773,36.92822 -53.53952,53.28189 z" />
</g>
</g>
</svg>
Проверьте три <path ... />
элемента, чтобы увидеть свойства штриха и штриха.
- Как я могу создать плоский SVG, который по-прежнему анимирует внешние границы?
Я думаю, вы смешиваете здесь несколько концепций: если под «сплющенным» вы подразумеваете «без слоев», вам придется переместить все объекты в один слой. Это совершенно не зависит от того, являются ли определенные формы закрытыми путями или нет. Кажется, вы запустили «Trace Bitmap», который (в зависимости от настроек/фильтра) дает вам несколько объектов, которые могут показаться разными «слоями», но на самом деле являются просто отдельными объектами, содержащими (возможно, зашумленную) геометрию формы, все они в один слой.
Итак, чтобы прояснить ситуацию:
В SVG слои представляют собой отдельные перекрывающиеся «холсты», видимость которых можно переключать по отдельности. Чтобы увидеть слои в Inkscape, нажмите Shift+Ctrl+L
. Для простого SVG, который вы хотите использовать в Интернете, я бы использовал только один слой и поместил туда все объекты. Скорее всего, у вас будет только один слой под названием «Слой 1». Это нормально.
Когда вы запускаете «Trace Bitmap» (например, с «Multiple Scans: Colors»), вы получаете группу объектов. Вы можете разгруппировать это с помощью Shift+Ctrl+G
, затем разделить (переместить F1
) и проверить отдельные объекты. Скорее всего, они будут содержать векторные следы фигур разного цвета. Чтобы отредактировать эти объекты, вам нужно ввести «Редактировать пути по узлам» ( F2
), затем вы можете, например, выбрать (нарисовать прямоугольник выбора) и удалить зашумленные узлы ( Ctrl+Del
). Если вы чувствуете, что просто много шума или что объекты очень плохо разделяют оригинал, вы можете повторно запустить «Trace Bitmap» с другими настройками или просто нарисовать векторные фигуры вручную.
Вы можете объединить любые объекты, которые являются путями (например, результаты «Trace Bitmap») в один объект, выделив их оба и выбрав «Путь» > «Объединение» (или любую другую логическую операцию, если на то пошло). Если один из объектов не является путем, преобразуйте его с помощью «Путь» > «Объект в путь». Если это не сработает, возможно, вы имеете дело с группой путей, которые вам нужно сначала разгруппировать, а затем преобразовать по отдельности. Примечание . Объект может иметь только один цвет заливки и один цвет обводки. Таким образом, когда вы соединяете два объекта, они приобретают цвета первого или второго объекта.
Независимо от того, получаете ли вы свои векторные фигуры путем трассировки или рисования вручную, в конце концов вы хотите иметь несколько чистых объектов с закрытыми путями. Затем вы можете назначить stroke
, stroke-width
и stroke-dasharray
. stroke-dashoffset
Это нормально, если некоторые контуры открыты, но обратите внимание, что заливка будет выглядеть забавно, так как она «пересекает» одну конечную точку фигуры с другой, поэтому вам следует удалить заливку для этих контуров.
С такой очищенной формой вы сможете легко анимировать нужные свойства.
- В общем, какой инструмент лучше всего подходит для создания SVG?
Я надеюсь, что более или менее ответил на ваш вопрос (ы).
ААГД
0xПинго