2012-03-11 15 views
7

Chciałbym móc wyprowadzać nowe obrazy z istniejącego obrazu z wiersza poleceń. Aby to zrobić, włączałem/wyłączałem określone warstwy, które mają części obrazu, a następnie zapisuję wynikowy obraz do pliku. Jednakże, chociaż widzę szereg poleceń wymienionych w pomocy do manipulowania warstwami, nie widzę żadnych, które pozwoliłyby wybrać konkretny i włączyć/wyłączyć.Programowanie linii poleceń Inkscape

Odpowiedz

6

Jeśli to, co chcesz zrobić, można osiągnąć poprzez usunięcie kilku niechcianych elementów ich tożsamości (powiedzmy, layer17 i layer4711), można zrobić to w ten sposób:

inkscape image.svg \ 
    --select=layer17 --verb=EditDelete \ 
    --select=layer4711 --verb=EditDelete \ 
    --verb=FileSave --verb=FileClose 

Zauważ, że ten zastąpi image.svg z wynikiem, więc jeśli tworzysz skrypt, upewnij się, że pracujesz na kopii, a nie na oryginałach.

+1

Hej, to załatwia sprawę. Dzięki za pomoc! – Brian

+0

To nie działa dla mnie (inkscape 0.91). Jestem w systemie Windows, czy to może być problem? –

+0

Prawdopodobnie wymaga również dostosowania do okien; powyższy format pochodził ze środowiska w stylu Maca lub w podobnym stylu (prawdopodobnie jeszcze lepiej z poradami Skeli w innej odpowiedzi). Jeśli dowiesz się, jak dostosować to do systemu Windows, powiedz to - pomoże to komuś innemu w twojej sytuacji. – ecmanaut

3
inkscape image.svg --export-id-only --export-id=layer17 --export-png=image.png --export-width=100 --export-height=100 

Na Macu może trzeba zrobić:

/Applications/Inkscape.app/Contents/Resources/bin/inkscape --without-gui --file=image.svg --export-id-only --export-id=layer17 --export-png=image.png --export-width=100 --export-height=100 
+0

Niestety, pozwala to tylko wybrać pojedynczą warstwę na wygenerowany obraz – hoijui

+0

można łatwo wyeksportować każdą warstwę, którą chcesz rozdzielić pliki, a następnie użyć czegoś podobnego do imageMagick, aby je połączyć – Skela