2010-04-26 01:53:51 +0000 2010-04-26 01:53:51 +0000
179
179

Командная строка приложение для преобразования SVG в PNG на Mac OS X

Есть ли программы командной строки, которые могут конвертировать SVG в PNG, которые работают на Mac OS X?

Edit: Дилан Б имел хороший ответ с ImageMagick. Для справки, чтобы установить ImageMagick с поддержкой SVG на Mac OS X, используя MacPorts, сделать 0x2 и 0x2 и 0x1 и port install imagemagick +rsvg .

Ответы (6)

251
251
251
2010-05-17 13:32:33 +0000

Или без установки:

qlmanage -t -s 1000 -o . picture.svg

Она произведет image.svg.png шириной 1000 пикселей.

Я протестировал его только на OS X 10.6.3.

45
45
45
2010-04-26 02:00:10 +0000

ImageMagick это extremely универсальный редактор изображений командной строки, который, вероятно, соперничал бы с Photoshop, если бы у него был, ну вы знаете, графический интерфейс. Но кому он все равно нужен. :P

Что-то вроде следующего после установки преобразовало бы .svg в .png:

$ convert picture.svg picture.png

Оригинальный .svg не удаляется.

4
4
4
2014-09-27 08:47:51 +0000

Для этого я сделал svgexport , используя node/npm, он кроссплатформенный и может быть таким же простым, как и он:

svgexport input.svg output.png
2
2
2
2019-05-11 18:49:15 +0000

Еще один метод без установки. Но не в командной строке.

  1. Откройте файл .svg в Safari.
  2. Нажмите alt-command-i, чтобы открыть инспектор.
  3. Щелкните правой кнопкой мыши тег <svg>, выберите “Снимок экрана”. (Обратите внимание, что нельзя увеличивать изображение.)

P.S. Чтобы увеличить изображение .svg, если оно слишком маленькое, попробуйте открыть файл .svg в текстовом редакторе и добавить 0 к каждому числу, кроме мета-атрибута. Это можно сделать с помощью глобальной регекс-замены с (\d+) на $10, где $1 является, например, держателем обратной ссылки.

1
1
1
2015-06-26 02:48:16 +0000

Команда преобразования ImageMagick, используя некоторые другие параметры, это то, что сделала для меня. Вот мое пакетное решение Bash скрипта, которое разделяет задачу на несколько процессов, чтобы использовать все ваши ядра! Модифицируйте по мере необходимости.

batchConvertToSVG.sh (принимает количество процессов в качестве аргумента):

end=$(( $1 - 1 ))
for i in `seq 0 $end`;
        do
            echo Spawning helper $i of $end
                ./convertToSvgHelper.sh $i $1 &
        done

convertToSvgHelper.sh:

n=$1
for file in ./*.svg; do
   filename=${file%.svg}
   echo converting file named $filename
   test $n -eq 0 && convert -format png -resize 74 -background transparent -density 600 $file $filename.png
   n=$((n+1))
   n=$((n%$2))
done
0
0
0
2014-05-02 18:25:58 +0000

Вы можете выполнить пакетное преобразование всей папки SVG файлов в PNG. Я использовал интерфейс командной строки Inkscape для создания png файлов шириной 80px.

find ~/desktop/toconvert '*.svg' -exec /Applications/Inkscape.app/Contents/Resources/bin/inkscape -z -w 80 -e "{}".png "{}" \;

png будут сохранены с оригинальным именем *.png.

Похожие вопросы

12
7
5
15
2