Ich habe mich bemüht, etwas zu tun, das mir ziemlich einfach vorkommt:
Wie kann ich in Inkscape die Größe des Dokuments und seines Inhalts (dh der Zeichnungen) gleichzeitig ändern?
Ein bisschen Kontext: Ich möchte eine relativ große Anzahl von SVG-Dokumenten aus dem Noun-Projekt (normalerweise 100 x 100 Pixel große Dokumente) in der Größe ändern, ohne die Größe der tatsächlichen Zeichnungen explizit ändern zu müssen.
NB: Wenn es eine Kommandozeilenlösung gibt, kann ich auch damit arbeiten!
Antworten:
Sie haben nicht erwähnt, welches Betriebssystem Sie ausführen. Ich benutze Ubuntu und konnte librsvg2 erfolgreich verwenden.
Wenn Sie Zugriff auf Ubuntu haben, können Sie Folgendes tun. Installieren Sie zuerst librsvg2:
cd
Wechseln Sie dann in das Verzeichnis, in dem Ihre SVGs gespeichert sind (stellen Sie sicher, dass nur SVGs vorhanden sind!), Und verwenden Sie einen Befehl wie den folgenden:Dadurch wird ein neuer Stapel von SVGs mit den Abmessungen 200 x 200 Pixel erstellt und als "original-file-name.new.svg" gespeichert.
Das Berechnen von Dimensionen ist etwas verwirrend. Um SVG in SVG zu konvertieren, müssen Sie ein bisschen rechnen. Die Optionen "height" und "width" in rsvg-convert verwenden in solchen Fällen pt, nicht px. Verwenden Sie also 80, wenn Sie 100px, 120, wenn Sie 150px usw. möchten.
Sie können auch rsvg-convert verwenden, um PNGs auszugeben. Zumindest meiner Erfahrung nach ist es viel besser, die Datei zu rastern als ImageMagick. Beachten Sie, dass Sie ändern müssen ,
-f
umpng
, müssen Sie die Ausgabe speichern Muster ändern aus's/svg$/new.svg/'
zu's/svg$/png/'
, und geben Sie die Breite und Höhe , dass Sie wie die Pixelwerte soll.quelle
rsvg-convert
als solche verwenden:rsvg-convert noun_project_1576.svg -w 320 -h 160 -f svg -o noun_project_1576-skewed.svg
Diese verwendet eine Quelldatei mit dem Namen "noun_project_1576" und neigt sie auf 400 x 200 Pixel und benennt sie in "noun_project_1576-skewed" um.librsvg
der FehlerDerzeit gibt es in Inkscape keine systemeigene Möglichkeit, dies zu tun. Die einzige Möglichkeit besteht darin, die Größe von Inhalten und Dokumenten separat zu ändern.
quelle
Es gibt zwar einige Möglichkeiten, dies zu tun - wie hier erwähnt - eine Möglichkeit, die wirklich gut funktionieren kann, ist die Verwendung von a
viewBox
. Sie ändern einfach den Inhalt des SVG-Tags wie folgt:Damit
viewBox
wird ein internes Koordinatensystem für das Dokument definiert. Sie können das Dokument dann einfach skalieren, indem Sie die Attributewidth
undheight
nach Bedarf ändern.Beachten Sie jedoch, dass es einige Nachteile gibt. Zum einen gibt es nur bestimmte Kontexte, in denen dies funktioniert, insbesondere, wenn Sie das SVG-Dokument direkt auf Ihrer Markup-Seite einfügen. Die Verwendung eines
<img>
Tags mit diesem kann zu unerwarteten Ergebnissen führen oder auch nicht. Sie müssen einige Ihrer eigenen Untersuchungen durchführen, um herauszufinden, wie dies am besten funktioniert.quelle