Przycinanie .svg
plików w wierszu poleceń jest proste:
$ inkscape --verb=FitCanvasToDrawing --verb=FileSave --verb=FileClose *.svg
Muszę zrobić odwrotnie. Chcę dopasować rysunek do 64 x 64
kanwy punktów (już ustawionej we wszystkich .svg
plikach). Niestety Inkscape nie udostępnia FitDrawingToCanvas
polecenia. Ponadto dopasowanie powinno zachować proporcje rysunku.
Jeśli to ważne: używam Ubuntu raring.
inkscape
svg
batch-processing
resize
Stefan Endrullis
źródło
źródło
Odpowiedzi:
Znalazłem sposób na zrobienie tego w tym pytaniu: Inkscape - Wyśrodkuj rysunek na stronie za pomocą wiersza poleceń / terminala
Z „foo.svg” jako obrazem do edycji:
Aby edytować wszystkie obrazy svg w bieżącym katalogu:
Ale to drugie polecenie otwiera mnóstwo okien, co spowoduje awarię komputera, jeśli edytujesz zbyt wiele obrazów. Tylko w systemie Linux to polecenie będzie działać lepiej:
W przypadku powyższego polecenia, jeśli którykolwiek z plików jest dowiązaniami symbolicznymi, Inkscape edytuje plik docelowy, na który wskazuje dowiązanie symboliczne. Jeśli nie chcesz, aby Inkscape to zrobił, możesz odfiltrować wszelkie dowiązania symboliczne za pomocą tego polecenia:
W tym momencie równie dobrze mogę opublikować skrypt bash, który dla tego stworzyłem:
Zadzwoniłem
inkscape-center
i uruchomiłem tak:Wymaga tyle argumentów, ile chcesz, więc możesz zrobić coś takiego:
Uważaj - jeśli podasz katalog zamiast pliku, będzie on edytować każdy plik svg w tym katalogu.
źródło
Możesz użyć viewBox do osiągnięcia tego, co chcesz. Nie wiem, czy można to zrobić z poziomu Inkscape, ale ponieważ SVG jest standardowym formatem i może istnieć inne narzędzie, które wykona zadanie, które chcesz. Szybkie wyszukiwanie „narzędzi wiersza polecenia svg” ujawniło kilka interesujących wyników, w tym tę do tworzenia ikon CSS.
Drugą opcją byłoby napisanie własnego narzędzia w wybranym języku, aby to zrobić. Podstawową zasadą jest ustawienie viewBox na wysokość dokumentu, a następnie ustawienie pożądanej szerokości i wysokości dokumentu. Na koniec ustaw atrybut preserveAspectRatio.
Oto jak opisane powyżej modyfikacje wyglądają w dokumencie, który pierwotnie miał format 744x1052.
źródło