Ich habe eine Kombination aus Illustrator, Sketch, Inkscape und dem SVG-Editor von Peter Collingridge verwendet, um SVGs zu erstellen und zu manipulieren, aber ich bin auf ein paar Probleme gestoßen. Ich versuche, ein einfaches Logo mit Text zu erstellen, und wenn das Logo auf der Seite erscheint, möchte ich den Außenrand (mit einem Zeicheneffekt ) animieren und dann die Mitten mit einer Volltonfarbe füllen.
In Illustrator und Sketch habe ich mit einem einfachen Textfeld begonnen und die Ebene in Konturen konvertiert, aber meine exportierten SVGs enthalten nur einen einzigen Pfad ohne die Felder stroke
und . stroke-width
Es sieht einfach so aus: <path fill="#FFF" d="…"/>
, mit viel Markup im d=''
Feld.
Ich habe gelesen und gelernt, dass Inkscape einige der saubersten SVGs exportiert, also ein PNG meiner Initialen importiert, „ein Bitmap-Bild nachgezeichnet“ und „die Gruppierung der Ebenen aufgehoben“ gemäß dieser Demo: youtube.com/watch?v=1cZk08x_rAI. Dadurch wurde ein Mehrpfad-Svg exportiert, aber jedem fehlten noch die Parameter stroke
und stroke-width
. Dies ist das, was ich bisher der Animation am nächsten gekommen bin: codepen.io/pcooney10/pen/PPvGrx , und es enthält auch den eigentlichen SVG-Code.
Ich habe ein paar Fragen, hoffentlich können mir hier einige helfen:
Wie kann ich SVGs erstellen/exportieren, die stroke
, stroke-width
, stroke-dasharray
und stroke-dashoffset
Felder enthalten? Diese Parameter scheinen viele Animationsfunktionen freizuschalten.
Wie kann ich ein abgeflachtes SVG erstellen, das die äußeren Ränder noch animiert? Es scheint, dass Pfade geschlossene Formen sein müssen, also hilft mir das, einen Sinn daraus zu machen, warum mein SVG aus 7 Ebenen besteht. Alle zusätzlichen Farben scheinen unnötig, aber wenn ich eine Ebene ausblende, sieht es komisch aus.
Was ist im Allgemeinen das beste Tool zum Erstellen von SVGs? Es scheint, dass Inkscape den saubersten SVG-Code exportiert, aber es ist nicht so einfach zu manövrieren wie Sketch und Illustrator. Der SVG-Editor von Peter Collingridge scheint der beste zu sein, um den Code zu verschlanken, aber er entfernt nicht alle Stile, die Sketch und Illustrator in die Datei einbetten.
- Wie kann ich SVGs erstellen/exportieren, die
stroke
,stroke-width
,stroke-dasharray
undstroke-dashoffset
Felder enthalten?
Mit Inkscape ist das ganz einfach:
Strich : Zeichnen oder importieren Sie Ihr Objekt, wählen Sie das Objekt aus und wählen Sie dann einfach eine Farbe aus der Palette aus, während Sie die Maustaste gedrückt halten, Shift
oder legen Sie den Strich direkt im Menü "Füllung und Strich" ( Shift+Ctrl+F
) fest. Die Standardstrichbreite beträgt 1px .
Strichbreite : Passen Sie die Strichbreite im Menü "Füllung und Strich" nach Ihren Wünschen an.
Speichern Sie diese drei Formen
als einfaches SVG gibt Ihnen:
<?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>
Überprüfen Sie die drei <path ... />
Elemente, um die Strich- und Stricheigenschaften anzuzeigen.
- Wie kann ich ein abgeflachtes SVG erstellen, das die äußeren Ränder noch animiert?
Ich denke, Sie vermischen hier mehrere Konzepte: Wenn Sie mit "abgeflacht" "keine Ebenen" meinen, müssten Sie alle Objekte in eine Ebene verschieben. Dies ist völlig unabhängig davon, ob bestimmte Formen geschlossene Pfade sind oder nicht. Sie scheinen "Trace Bitmap" ausgeführt zu haben, das Ihnen (abhängig von den Einstellungen / Filtern) mehrere Objekte gibt, die wie verschiedene "Ebenen" erscheinen, aber tatsächlich nur einzelne Objekte sind, die (möglicherweise verrauschte) Formgeometrie enthalten, alle von ihnen in eine einzige Schicht.
Also, um die Dinge klarzustellen:
In SVG sind Ebenen eindeutige, überlappende „Leinwände“, deren Sichtbarkeit individuell umgeschaltet werden kann. Um Ebenen in Inkscape anzuzeigen, drücken Sie Shift+Ctrl+L
. Für ein einfaches SVG, das Sie im Web verwenden möchten, würde ich nur eine einzige Ebene verwenden und alle Objekte dort einfügen. Höchstwahrscheinlich haben Sie nur eine Ebene namens "Ebene 1". Das ist gut.
Wenn Sie "Trace Bitmap" ausführen (z. B. mit "Multiple Scans: Colors"), erhalten Sie eine Gruppe von Objekten. Sie können die Gruppierung mit aufheben Shift+Ctrl+G
, dann die einzelnen Objekte trennen (verschieben F1
) und inspizieren. Sie enthalten höchstwahrscheinlich die Vektorspuren unterschiedlich gefärbter Formen. Um diese Objekte zu bearbeiten, müssen Sie "Pfade nach Knoten bearbeiten" ( F2
) eingeben, dann können Sie zB verrauschte Knoten auswählen (ein Auswahlrechteck ziehen) und löschen ( Ctrl+Del
). Wenn Sie das Gefühl haben, dass nur viel Rauschen vorhanden ist oder dass die Objekte eine sehr schlechte Trennung des Originals bieten, können Sie "Trace Bitmap" mit anderen Einstellungen erneut ausführen oder die Vektorformen einfach manuell zeichnen.
Sie können alle Objekte, die Pfade sind (wie die Ergebnisse von „Trace Bitmap“) zu einem einzigen Objekt verbinden, indem Sie beide auswählen und „Pfad“ > „Vereinigung“ (oder jede andere boolesche Operation) wählen. Wenn eines der Objekte kein Pfad ist, wandeln Sie es mit „Pfad“ > „Objekt in Pfad“ um. Wenn das nicht funktioniert, haben Sie es möglicherweise mit einer Gruppe von Pfaden zu tun, die Sie zuerst aufheben und dann einzeln konvertieren müssen. Hinweis : Ein Objekt kann nur eine Füll- und eine Strichfarbe haben. Wenn Sie also zwei Objekte verbinden, nehmen sie entweder die Farben des ersten oder des zweiten Objekts an.
Egal, ob Sie Ihre Vektorformen durch Nachzeichnen oder manuelles Zeichnen erhalten, am Ende möchten Sie ein paar saubere Objekte mit geschlossenen Pfaden haben. stroke
Dann können Sie , stroke-width
, stroke-dasharray
und zuweisen stroke-dashoffset
. Es ist in Ordnung, wenn einige Pfade offen sind, aber beachten Sie, dass die Füllung komisch aussieht, wenn sie von einem Endpunkt der Form zum anderen "schneidet", also sollten Sie die Füllung für diese Pfade entfernen.
Mit einer so aufgeräumten Form sollten Sie in der Lage sein, die gewünschten Eigenschaften leicht zu animieren.
- Was ist im Allgemeinen das beste Tool zum Erstellen von SVGs?
Ich hoffe, Ihre Frage(n) damit mehr oder weniger beantwortet zu haben.
AAGD
0xPingo