Ich habe ein wenig über SVGs recherchiert und anscheinend ist die Viewbox kein Element, das über Illustrator exportiert werden kann. Das viewbox-Element ist nur mit bestimmten Programmen kompatibel, die dieses Element verwenden oder bearbeiten möchten. Leider gehört Illustrator nicht dazu.
Wenn Sie die SVG-Datei aus Illustrator ohne die Option "Illustrator-Bearbeitungsfunktionen beibehalten" gespeichert haben, können Sie den Vorgang umkehren. Alle Änderungen, die Sie an den Daten der SVG-Datei vornehmen, werden dann in Illustrator übernommen, jedoch durch Neupositionieren und Ändern der Größe von Zeichenfläche und Ebenen, um eine Pseudo-Ansichtsbox zu erstellen.
Derzeit können Sie nur in Illustrator entwerfen und den gesamten zusätzlichen Code zum Versetzen und Positionieren der Viewbox in den Dateidaten verwenden. Sie können eine Pseudo-Viewbox erstellen, indem Sie einfach die Position Zeichenflächenbreite + -höhe / X + Y und anschließend die Attribute Objektgröße und -position ändern. Es wird jedoch niemals ein echtes Viewbox-Attribut geben, es sei denn, sie veröffentlichen ein Update für Illustrator mit bearbeitbaren Viewbox-Funktionen.
Lesen Sie etwas über das SVG-Format in Illustrator: Adobe Illustrator Im SVG-Format speichern
Ich bin mehrmals auf dieses Problem gestoßen, und das einzige, was mir jemals geholfen hat, die SVG-Ansichtsbox beim Exportieren aus Illustrator zuverlässig auf genau 0, 0 zurückzusetzen, ist , ein neues leeres Dokument zu erstellen und das Bildmaterial zu kopieren und darin einzufügen .
Die linke obere Ecke dieser unberührten Standard-Zeichenfläche wird als Punkt 0, 0 des Ansichtsfelds exportiert. Verwenden Sie die intelligenten Hilfslinien (
cmd-u
) oder dasalign
Fenster, um festzulegen,Align to Artboard
ob Ihre Grafik genau bei 0, 0 beginnen soll.Sie können die Zeichenfläche sicher von der unteren rechten Ecke aus in der Größe ändern, aber wenn Sie die obere linke Ecke verschieben, kann es zu Problemen kommen. Das Verschieben der linken oberen Ecke der Zeichenfläche oder das Importieren von SVG-Dateien in AI führt anscheinend zu einer seltsamen internen Trennung zwischen Linealen, Zeichenflächen und einem unsichtbaren Ursprungspunkt der geheimen Ansichtsbox, der nur Illustrator bekannt ist.
AFAICT Wie bei den meisten Dingen, die mit Web- oder aufstrebenden Technologien zu tun haben, bestand Adobes Ansatz bei SVG darin, etwas Grobes zusammenzubringen, damit sie sich in einer Pressemitteilung damit rühmen und es dann fehlerhaft, unvollendet und ungeliebt lassen können existieren und weitermachen wie 1998.
quelle
viewbox
beim Export in SVG geändert werden. Sie sind völlig korrekt darin, ein neues Dokument zu erstellen und alle Grafiken zu kopieren. Ihre Antwort sollte als richtig +1 markiert sein.Preserve Illustrator Editing Capabilities
das erste Mal speichere, falls ich weitere Anpassungen vornehmen muss, und speichere es dann, nachdem ich denke, dass alles ziemlich gut ist, ohne es (die Zunahme der Dateigröße ist ziemlich bedeutend, also wirst du es tun wollen) this)Ich weiß, dass das Thema sehr spät ist, aber ich hatte das gleiche Problem und habe Folgendes getan.
Hoffe das hilft jemand anderem.
quelle
width="<W>" height="<H>"
in Ihrem bevorzugten Texteditor zum SVG-Tag ebenfalls hilfreich ist (wo<W>
und<H>
würde Dezimalzahlen sein).Ich hatte ein sehr ähnliches Problem, dass mein von der KI erstelltes SVG nicht zentriert und auf das gesamte Browserfenster erweitert wurde, da die KI die Größe der Zeichenfläche ständig ändert und das Zentrieren vergisst.
Die einzige Möglichkeit, dies zu beheben, besteht in einem abschließenden manuellen Verarbeitungsschritt in Inkscape.
Abschließend müssen Sie die SVG-Datei erneut speichern, verwenden jedoch das Format "Optimierte SVG-Datei" im Dialogfeld "Speichern unter". Es wird ein Dialogfeld für SVG-Optionen angezeigt und Sie müssen "Viewboxing aktivieren" aktivieren.
Da alle meine SVGs Symbole der gleichen Größe sind, dauert dieser Verarbeitungsschritt nur 1 Minute, da ich immer die gleiche Leinwand- und Objektgröße habe. Aber ja, es ist eine Schande, dass dieser Schritt überhaupt benötigt wird und in AI behoben werden sollte.
quelle
Ich habe das herausgefunden. Endlich! Es gibt einen einfachen Weg, dies zu tun. Wie so:
Das Problem bestand darin, dass beim Exportieren eines Bildes aus Illustrator (wie bei vielen anderen) die Zeichenfläche nicht in der exportierten SVG-Datei enthalten ist. Die Pfade haben keine Grundlage für ihre Berechnungen.
In meinem Fall war die maximale Höhe für meine Bilder
100px
und ich musste die CSS-Stile für diese Bilder basierend auf ihrer Breite und Höhe festlegen. In CSS verwende ichvw
Einheiten oder einfach nur alt,100%
wenn die SVG-Datei den Blockraum füllen soll. Das skaliert gut. Auf diese Weise können Sie die Breite und Höhe nicht in CSS ändern, um sicherzustellen, dass sie korrekt angezeigt werden.Ich ging jedes Logo durch und stellte die Höhe auf ein
100px
und ließ die Breite anhand des Seitenverhältnisses automatisch berechnen. Anschließend passe ich die Zeichenfläche an das Logo an, um nicht verwendeten Platz zu entfernen.Ich habe ein Rechteck ausgewählt und Füllung und Kontur deaktiviert und sichergestellt, dass es genau die gleiche Größe wie die Zeichenfläche hat. Platziere dieses leere Objekt auf der Rückseite. Wenn Sie jetzt exportieren, verfügt der Pfad über eine Basis, auf der die Berechnungen ausgeführt werden können.
Um dies im Code zu tun, können Sie die Pfade in ein
rect
umbrechen und die Breite und Höhe festlegen. Anschließend können Sie den PfadviewBox
auf den gleichen Wert einstellen (das Seitenverhältnis beibehalten). Wie im obigen Beispiel gezeigt. Ich habe das noch nicht getestet, werde es aber testen und aktualisieren.quelle
Ich konnte es mit Inkscape beheben . Scheint, als ob Illustrator SVG-Dateien nur unzureichend unterstützt.
quelle