Программирование командной строки Inkscape
Я хотел бы иметь возможность получить новые снимки из уже существующего изображения из командной строки. Для этого я бы включил/выключил определенные слои с частями изображения, а затем сохранил полученное изображение в файл. Однако, хотя я вижу несколько команд, перечисленных в справке по управлению слоями, я не вижу ни одной, которая позволила бы выбрать конкретный и включить/выключить его.
2 ответов
если то, что вы хотите сделать, может быть достигнуто путем удаления нескольких нежелательных элементов по их ID (скажем, layer17
и layer4711
), вы можете сделать это так:
inkscape image.svg \
--select=layer17 --verb=EditDelete \
--select=layer4711 --verb=EditDelete \
--verb=FileSave --verb=FileClose
обратите внимание, что это приведет к перезаписи image.svg
С результатом, поэтому, если вы пишете это, обязательно работайте с копией, а не с оригиналами.
inkscape image.svg --export-id-only --export-id=layer17 --export-png=image.png --export-width=100 --export-height=100
на Mac вам, возможно, придется сделать:
/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