Если вы этого еще не сделали, установите imagemagick
.В OSX для этого требуется поддержка rsvg
, а именно:
brew install imagemagick --with-librsvg
Вам также понадобится inkscape, в противном случае вы можете обнаружить, что ваши изображения выглядят черными (за исключением прозрачных областей).1008 * Тогда вы сможете преобразовать следующим образом:
convert -density 1536 -background none -resize 100x100 input.svg output-100.png
1536
- это обходной путь для чего-то, на что я не могу найти хороших ответов.В моих экспериментах пропуск аргумента -density
создает изображения очень маленького размера.Преобразование изображения в -size 100x100
в -density 1024
дает мне выходное изображение 96x96
, поэтому вместо этого я перерегулирую плотность и уменьшу размер до целевого размера.
TL; DR использует плотность, которая в 1500 раз больше целевого размера, и идет оттуда.
Существует много способов массового запуска этой команды.Вот один в оболочке:
for s in 10 100 200 ; do convert -density 1536 -background none -resize ${s}x${s} input.svg output-${s}.png ; done