#bash #shell #command-line-interface #inkscape #monochrome
#bash #оболочка #интерфейс командной строки #inkscape #монохромный
Вопрос:
Я получил следующий скрипт для экспорта моего *.svg
.png
файла в разных размерах.
#!/usr/bin/env bash
[[ ! -d png ]] amp;amp; mkdir png/
for svg in logo.*.svg; do
echo $svg $png
sizes=( 64 128 256 512 1024 )
for size in "${sizes[@]}"; do
png="png/${svg//.svg/.$size.png}"
[[ $png =~ vertical ]] amp;amp; inkscape --without-gui --export-height=$size --export-png="$png" --file="$svg"
[[ $png =~ horizontal ]] amp;amp; inkscape --without-gui --export-width=$size --export-png="$png" --file="$svg"
done
done
Поскольку я хочу экспортировать как монохромную (черно-белую), так и цветную версию, в настоящее время у меня есть обе версии SVG:
- logo.bw-horizontal.svg
- logo.bw-vertical.svg
- logo.horizontal.svg
- logo.vertical.svg
Вопрос
Как я могу улучшить свой скрипт для экспорта в монохромном формате без необходимости иметь SVG-файл в монохромном формате?
Редактировать
Существует verb
, но не уверен, как его использовать:
org.inkscape.effect.filter.Silhouette: Repaint anything visible monochrome
Комментарии:
1. вы уже нашли решение этой проблемы?
Ответ №1:
Спасибо @Bonanza за удар
Вот мои тесты BATS и соответствующий код для выполнения преобразования. Это сводится к:
- экспорт PNG в PNG
-
конвертируйте PNG в монохромный с помощью
convert
convert "$png" -colorspace Gray "$monochrome"