Walczyłem o zrobienie czegoś, co wydawałoby się dość proste:
W Inkscape, jak mogę jednocześnie zmienić rozmiar dokumentu i jego zawartości (tj. Rysunków)?
Trochę kontekstu: chcę zmienić rozmiar dość dużej liczby dokumentów SVG z The Noun Project (zazwyczaj są to dokumenty o wymiarach 100 x 100 pikseli) bez konieczności jawnej zmiany rozmiaru rzeczywistych rysunków.
Uwaga: Jeśli istnieje rozwiązanie wiersza poleceń, mogę z tym również pracować!
Odpowiedzi:
Nie wspomniałeś o tym, jakiego systemu operacyjnego używasz. Używam Ubuntu i udało mi się z powodzeniem korzystać z librsvg2.
Jeśli masz dostęp do Ubuntu, oto co możesz zrobić. Najpierw zainstaluj librsvg2:
Następnie
cd
przejdź do katalogu zawierającego pliki SVG (upewnij się, że mają tylko pliki SVG!) I użyj polecenia w następujący sposób:Spowoduje to utworzenie nowej partii plików SVG o wymiarach 200 na 200 pikseli i zapisanych jako „original-file-name.new.svg”
Obliczanie wymiarów jest nieco mylące. Aby przekonwertować SVG na SVG, musisz zrobić trochę matematyki. Opcje „wysokość” i „szerokość” w konwersji rsvg używają pt, a nie px, w takich przypadkach, więc użyj 80, jeśli chcesz 100px, 120, jeśli chcesz 150px i tak dalej.
Możesz także użyć rsvg-convert, aby wyprowadzić PNG. O wiele lepiej jest rasteryzować plik niż ImageMagick, przynajmniej z mojego doświadczenia. Zauważ, że musisz zmienić
-f
napng
, musisz zmienić wyjściowy wzorzec zapisu z's/svg$/new.svg/'
na's/svg$/png/'
, a jako szerokość w pikselach wprowadź żądaną szerokość i wysokość.źródło
rsvg-convert
jako takiego:rsvg-convert noun_project_1576.svg -w 320 -h 160 -f svg -o noun_project_1576-skewed.svg
który pobierze plik źródłowy o nazwie „rzeczownik_projekt_1576” i przekrzywi go na 400px o 200px i zmieni nazwę na „rzeczownik_projekt_1576-wypaczony”.librsvg
poprawiony błąd tekstowy zostanie naprawiony ...Obecnie nie ma natywnego sposobu na zrobienie tego w Inkscape. Jedynym sposobem jest osobna zmiana rozmiaru treści i dokumentu.
źródło
Chociaż istnieje kilka sposobów, aby to zrobić - jak wspomniano tutaj - jednym ze sposobów, który może naprawdę działać naprawdę dobrze, jest użycie
viewBox
. Po prostu modyfikujesz zawartość tagu SVG w następujący sposób:Co
viewBox
to jest, definiuje wewnętrzny układ współrzędnych dla dokumentu. Następnie można łatwo skalować dokument, modyfikując odpowiednio atrybutywidth
iheight
.Należy jednak pamiętać, że istnieją pewne wady. Po pierwsze, istnieją tylko określone konteksty, w których to działa, szczególnie jeśli w jakiś sposób bezpośrednio umieszczasz dokument SVG na stronie znaczników. Użycie
<img>
tagu z tym może, ale nie musi dać nieoczekiwanych rezultatów. Będziesz musiał przeprowadzić własne badania, aby dowiedzieć się, jak najlepiej to zrobić.źródło